许可协议:apache-2.0
任务类型:时间序列预测
标签:
- 时间序列
- 预测
- 预训练模型
- 基础模型
- 时间序列基础模型
- 时序数据
Chronos-Bolt⚡(基础版)
🚀 2025年2月14日更新:Chronos-Bolt模型现已登陆Amazon SageMaker JumpStart!查看教程笔记本,学习如何用几行代码部署Chronos端点用于生产环境。
Chronos-Bolt是一系列预训练的时间序列预测模型,支持零样本预测。该模型基于T5编码器-解码器架构,训练数据涵盖近千亿时间序列观测值。它将历史时间序列上下文分块为多观测值片段输入编码器,解码器则利用这些表征直接生成多步未来分位数预测——这种方法称为直接多步预测。与原始Chronos同尺寸模型相比,Chronos-Bolt模型精度更高、速度提升250倍、内存效率提高20倍。
性能表现
下图对比了Chronos-Bolt与原始Chronos模型在预测1024条时间序列时的推理耗时(上下文长度512个观测值,预测范围64步)。
Chronos-Bolt模型不仅速度显著提升,精度也优于原始模型。下图展示了Chronos-Bolt在27个数据集上聚合的加权分位数损失(WQL)和平均绝对比例误差(MASE)指标表现(基准测试细节参见Chronos论文)。值得注意的是,尽管训练时未接触这些数据集,零样本Chronos-Bolt模型仍超越针对这些数据集训练的常用统计模型和深度学习模型(标*者)。同时,其表现也优于其他基础模型(标+者,表示这些模型在我们的基准测试中部分数据集上经过预训练,非完全零样本)。尤为突出的是,Chronos-Bolt(基础版)在预测精度上超越原始Chronos(大模型),同时推理速度快600多倍。
Chronos-Bolt提供以下规格模型:
使用指南
通过AutoGluon进行零样本推理
安装依赖:
pip install autogluon
使用Chronos-Bolt模型预测:
from autogluon.timeseries import TimeSeriesPredictor, TimeSeriesDataFrame
df = TimeSeriesDataFrame("https://autogluon.s3.amazonaws.com/datasets/timeseries/m4_hourly/train.csv")
predictor = TimeSeriesPredictor(prediction_length=48).fit(
df,
hyperparameters={
"Chronos": {"model_path": "autogluon/chronos-bolt-base"},
},
)
predictions = predictor.predict(df)
更多高级功能(如微调和协变量预测)请参阅本教程。
部署至SageMaker端点
首先更新SageMaker SDK:
pip install -U sagemaker
部署推理端点:
from sagemaker.jumpstart.model import JumpStartModel
model = JumpStartModel(
model_id="autogluon-forecasting-chronos-bolt-base",
instance_type="ml.c5.2xlarge",
)
predictor = model.deploy()
现在可通过JSON格式向端点发送时序数据:
import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/AileenNielsen/TimeSeriesAnalysisWithPython/master/data/AirPassengers.csv")
payload = {
"inputs": [
{"target": df["#Passengers"].tolist()}
],
"parameters": {
"prediction_length": 12,
}
}
forecast = predictor.predict(payload)["predictions"]
Chronos-Bolt模型支持部署至CPU和GPU实例,并兼容协变量预测。端点API详情请参考示例笔记本。
引用
若Chronos或Chronos-Bolt模型对您的研究有帮助,请引用相关论文:
@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}
}
许可证
本项目采用Apache-2.0许可证。