Официальный код ["TEMPO: генеративный предварительно обученный преобразователь на основе подсказок для прогнозирования временных рядов (ICLR 2024)"].
TEMPO — одна из первых базовых моделей временных рядов с открытым исходным кодом для версии 1.0 задачи прогнозирования.
Октябрь 2024 г .: мы оптимизировали структуру кода, что позволяет пользователям загружать предварительно обученную модель и выполнять нулевой вывод с помощью одной строки кода! Посмотрите нашу демо-версию для более подробной информации. Количество загрузок нашей модели на HuggingFace теперь можно отслеживать!
Июнь 2024 г .: мы добавили демо-версии для воспроизведения экспериментов с нулевым выстрелом в Colab. Мы также добавили демонстрацию создания набора данных о клиентах и непосредственно делаем выводы с помощью нашей предварительно обученной базовой модели: Colab.
Май 2024 г .: TEMPO запустила онлайн-демоверсию с графическим интерфейсом, позволяющую пользователям напрямую взаимодействовать с нашей базовой моделью!
Май 2024 г .: TEMPO опубликовала предварительно подготовленную модель фундамента 80M в HuggingFace!
Май 2024 : ? Мы добавили код для предварительного обучения и моделей TEMPO. В этой папке вы можете найти демо-версию сценария предварительного обучения. Мы также добавили скрипт для демонстрации вывода.
Март 2024 г .: ? Выпущенный набор данных TETS от S&P 500, используемый в мультимодальных экспериментах в TEMPO.
Март 2024 г .: ? TEMPO опубликовала код проекта и предварительно обученную контрольную точку онлайн!
Январь 2024 г .: Статья TEMPO принята ICLR!
Октябрь 2023 г .: статья TEMPO опубликована на Arxiv!
conda create -n tempo python=3.8
conda activate tempo
pip install -r requirements.txt
Упрощенный пример, показывающий, как выполнять прогнозирование с помощью TEMPO:
# Third-party library imports
import numpy as np
import torch
from numpy . random import choice
# Local imports
from models . TEMPO import TEMPO
model = TEMPO . load_pretrained_model (
device = torch . device ( 'cuda:0' if torch . cuda . is_available () else 'cpu' ),
repo_id = "Melady/TEMPO" ,
filename = "TEMPO-80M_v1.pth" ,
cache_dir = "./checkpoints/TEMPO_checkpoints"
)
input_data = np . random . rand ( 336 ) # Random input data
with torch . no_grad ():
predicted_values = model . predict ( input_data , pred_length = 96 )
print ( "Predicted values:" )
print ( predicted_values )
Пожалуйста, попробуйте воспроизвести эксперименты с нулевым выстрелом на ETTh2 [здесь, на Colab].
Мы используем следующую страницу Colab, чтобы показать демонстрацию построения набора данных о клиентах и непосредственно сделать вывод с помощью нашей предварительно обученной базовой модели: [Colab]
Пожалуйста, попробуйте нашу демонстрационную модель фундамента [здесь].
Мы также обновили наши модели на HuggingFace: [Melady/TEMPO].
Загрузите данные с [Google Drive] или [Baidu Drive] и поместите загруженные данные в папку ./dataset
. Вы также можете загрузить результаты STL с [Google Диска] и поместить загруженные данные в папку ./stl
.
bash [ecl, etth1, etth2, ettm1, ettm2, traffic, weather].sh
После обучения мы можем протестировать модель TEMPO с настройкой нулевого выстрела:
bash [ecl, etth1, etth2, ettm1, ettm2, traffic, weather]_test.sh
Вы можете загрузить предварительно обученную модель с [Google Диска], а затем ради развлечения запустить тестовый сценарий.
Вот подсказки, используемые для генерации соответствующей текстовой информации временных рядов через [OPENAI ChatGPT-3.5 API]
Данные временных рядов взяты из [S&P 500]. Вот пример EBITDA для одной компании из набора данных:
Пример сгенерированной контекстной информации для указанной выше Компании:
Вы можете загрузить обработанные данные с встраиванием текста из GPT2 по адресу: [TETS].
Не стесняйтесь обращаться к [email protected] / [email protected], если вы заинтересованы в применении TEMPO в своем реальном приложении.
@inproceedings{
cao2024tempo,
title={{TEMPO}: Prompt-based Generative Pre-trained Transformer for Time Series Forecasting},
author={Defu Cao and Furong Jia and Sercan O Arik and Tomas Pfister and Yixiang Zheng and Wen Ye and Yan Liu},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024},
url={https://openreview.net/forum?id=YH5w12OUuU}
}
@article{
Jia_Wang_Zheng_Cao_Liu_2024,
title={GPT4MTS: Prompt-based Large Language Model for Multimodal Time-series Forecasting},
volume={38},
url={https://ojs.aaai.org/index.php/AAAI/article/view/30383},
DOI={10.1609/aaai.v38i21.30383},
number={21},
journal={Proceedings of the AAAI Conference on Artificial Intelligence},
author={Jia, Furong and Wang, Kevin and Zheng, Yixiang and Cao, Defu and Liu, Yan},
year={2024}, month={Mar.}, pages={23343-23351}
}