模型库 / autogluon/chronos-bolt-tiny

chronos-bolt-tiny

autogluon time-series-forecasting
autogluon/chronos-bolt-tiny
2,045,801
下载量
13
收藏数
16
浏览量
apache-2.0
许可

简介

🚀 **Update Feb 14, 2025**: Chronos-Bolt models are now available on Amazon SageMaker JumpStart! Check out the tutorial notebook to learn how to deploy Chronos endpoints for production use in a few lines of code.

模型卡片

许可协议 apache-2.0
任务 time-series-forecasting
time series forecasting pretrained models foundation models time series foundation models time-series

模型配置

模型类型 t5
架构 ChronosBoltModelForForecasting

模型详情

已翻译

Chronos-Bolt⚡ (Tiny)

🚀 2025年2月14日更新:Chronos-Bolt 模型现已在 Amazon SageMaker JumpStart 上可用!查看教程 notebook,了解如何通过几行代码将 Chronos 端点部署到生产环境。

Chronos-Bolt 是一系列预训练的时间序列预测模型,可用于零样本预测。它基于 T5 encoder-decoder 架构,并在近 1000 亿个时间序列观测数据上进行了训练。该模型将历史时间序列上下文分块为多个观测值的 patches,然后输入到 encoder。decoder 随后利用这些表示直接生成跨多个未来步长的分位数预测——这种方法称为直接多步预测。与相同规模的原始 Chronos 模型相比,Chronos-Bolt 模型更准确,速度提升高达 250 倍,内存效率提升 20 倍

性能

下图比较了 Chronos-Bolt 与原始 Chronos 模型在预测 1024 个时间序列时的推理时间,其中上下文长度为 512 个观测值,预测 horizon 为 64 步。

Chronos-Bolt 模型不仅速度显著更快,而且比原始 Chronos 模型更准确。下图分别以加权分位数损失 (WQL)平均绝对缩放误差 (MASE) 为指标,报告了 Chronos-Bolt 在 27 个数据集上聚合的概率预测和点预测性能(有关该基准的详细信息,请参阅 Chronos 论文)。值得注意的是,尽管在训练期间未接触过这些数据集,零样本的 Chronos-Bolt 模型仍优于在这些数据集上训练过的常用统计模型和深度学习模型(以 * 标记)。此外,它们的表现也优于其他基础模型(以 + 表示),这意味着这些模型在我们的基准测试中的某些数据集上进行了预训练,并非完全零样本。值得注意的是,Chronos-Bolt (Base) 在预测精度上超越了原始 Chronos (Large) 模型,同时速度快了 600 倍以上。

Chronos-Bolt 模型提供以下尺寸。

模型 参数量 基于
chronos-bolt-tiny 9M t5-efficient-tiny
chronos-bolt-mini 21M t5-efficient-mini
chronos-bolt-small 48M t5-efficient-small
chronos-bolt-base 205M t5-efficient-base

使用方法

在 AutoGluon 中使用 Chronos-Bolt 进行零样本推理

安装所需的依赖项。

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-tiny"},
    },
)

predictions = predictor.predict(df)

有关更高级的功能,例如微调使用协变量进行预测,请查看本教程

将 Chronos-Bolt 端点部署到 SageMaker

首先,更新 SageMaker SDK 以确保所有最新模型可用。

pip install -U sagemaker

将推理端点部署到 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 的更多详细信息,请查看示例 notebook

引用

如果您发现 Chronos 或 Chronos-Bolt 模型对您的研究有用,请考虑引用相关

标签

t5 time series forecasting pretrained models foundation models time series foundation models time-series arxiv:1910.10683 arxiv:2403.07815

操作


详细信息

厂商
autogluon
任务
time-series-forecasting
模型类型
t5
许可(HF)
apache-2.0