🚀 Chronos-T5 (Large)
Chronos是一系列基於語言模型架構的預訓練時間序列預測模型。它將時間序列通過縮放和量化轉換為令牌序列,然後使用交叉熵損失在這些令牌上訓練語言模型。訓練完成後,通過在給定歷史上下文的情況下對多個未來軌跡進行採樣,得到概率預測。Chronos模型在大量公開可用的時間序列數據以及使用高斯過程生成的合成數據上進行了訓練。
最新更新
- 🚀 2025年2月14日更新:Chronos-Bolt和原始Chronos模型現已在Amazon SageMaker JumpStart上可用!查看教程筆記本,瞭解如何用幾行代碼部署Chronos端點以供生產使用。
- 🚀 2024年11月27日更新:我們發佈了Chronos-Bolt⚡️模型,與相同大小的原始Chronos模型相比,它的準確性提高(誤差降低5%),速度提高了250倍,內存效率提高了20倍。點擊此處查看新模型。
如需瞭解Chronos模型、訓練數據和過程以及實驗結果的詳細信息,請參考論文Chronos: Learning the Language of Time Series。
圖1:Chronos的高層示意圖。(左)輸入的時間序列經過縮放和量化,得到一個令牌序列。(中)這些令牌被輸入到一個語言模型中,該模型可以是編碼器 - 解碼器模型,也可以是僅解碼器模型。模型使用交叉熵損失進行訓練。(右)在推理過程中,我們從模型中自迴歸地採樣令牌,並將它們映射回數值。對多個軌跡進行採樣,以獲得預測分佈。
✨ 主要特性
Chronos模型基於語言模型架構,通過將時間序列轉換為令牌序列進行訓練,能夠進行概率預測。它在大量公開數據和合成數據上訓練,具有較好的泛化能力。
📦 安裝指南
要使用Chronos模型進行推理,需要安裝GitHub 配套倉庫中的包,可運行以下命令:
pip install git+https://github.com/amazon-science/chronos-forecasting.git
💻 使用示例
基礎用法
以下是一個使用Chronos模型進行推理的最小示例:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import torch
from chronos import ChronosPipeline
pipeline = ChronosPipeline.from_pretrained(
"amazon/chronos-t5-large",
device_map="cuda",
torch_dtype=torch.bfloat16,
)
df = pd.read_csv("https://raw.githubusercontent.com/AileenNielsen/TimeSeriesAnalysisWithPython/master/data/AirPassengers.csv")
context = torch.tensor(df["#Passengers"])
prediction_length = 12
forecast = pipeline.predict(context, prediction_length)
forecast_index = range(len(df), len(df) + prediction_length)
low, median, high = np.quantile(forecast[0].numpy(), [0.1, 0.5, 0.9], axis=0)
plt.figure(figsize=(8, 4))
plt.plot(df["#Passengers"], color="royalblue", label="historical data")
plt.plot(forecast_index, median, color="tomato", label="median forecast")
plt.fill_between(forecast_index, low, high, color="tomato", alpha=0.3, label="80% prediction interval")
plt.legend()
plt.grid()
plt.show()
🔧 技術細節
架構
本倉庫中的模型基於T5架構,唯一的區別在於詞彙量大小:Chronos-T5模型使用4096個不同的令牌,而原始T5模型使用32128個,這導致Chronos-T5模型的參數更少。
📄 引用
如果您發現Chronos模型對您的研究有用,請考慮引用相關論文:
@article{ansari2024chronos,
title={Chronos: Learning the Language of Time Series},
author={Ansari, Abdul Fatir and Stella, Lorenzo and Turkmen, Caner and Zhang, Xiyuan, and Mercado, Pedro and Shen, Huibin and Shchur, Oleksandr and Rangapuram, Syama Syndar and Pineda Arango, Sebastian and Kapoor, Shubham and Zschiegner, Jasper and Maddix, Danielle C. and Mahoney, Michael W. and Torkkola, Kari and Gordon Wilson, Andrew and Bohlke-Schneider, Michael and Wang, Yuyang},
journal={Transactions on Machine Learning Research},
issn={2835-8856},
year={2024},
url={https://openreview.net/forum?id=gerNCVqqtR}
}
🔒 安全
更多信息請參閱CONTRIBUTING。
📄 許可證
本項目採用Apache-2.0許可證。