HuggingFace镜像/chronos-2
模型介绍文件和版本分析
下载使用量0

Chronos-2

2025年12月30日更新: ☁️ 在 Amazon SageMaker 上部署 Chronos-2。新指南涵盖实时 GPU 和 CPU 推理、无服务器端点(按需运行,无闲置成本)以及用于大规模预测的批量转换。

Chronos-2 是一个拥有 1.2 亿参数、仅含编码器的时间序列基础模型,专为零样本预测而设计。 它在单一架构中支持单变量、多变量和协变量感知任务。 受 T5 编码器的启发,Chronos-2 生成多步超前分位数预测,并使用组注意力机制在相关序列和协变量之间进行高效的上下文学习。 通过在真实世界和大规模合成数据集组合上进行训练,它在 fev-bench、GIFT-Eval 和 Chronos Benchmark II 上的公开模型中实现了最先进的零样本准确率。 Chronos-2 还具有极高的效率,在单个 A10G GPU 上每秒可生成超过 300 个时间序列预测,并支持GPU 和 CPU 推理。

链接

  • 🚀 在 Amazon SageMaker 上部署 Chronos-2
  • 📄 技术报告
  • 💻 GitHub
  • 📘 示例笔记本
  • 📰 Amazon Science 博客

概述

能力Chronos-2Chronos-BoltChronos
单变量预测✅✅✅
跨项目交叉学习✅❌❌
多变量预测✅❌❌
仅历史(数值/类别)协变量✅❌❌
已知未来(数值/类别)协变量✅🧩🧩
最大上下文长度81922048512
最大预测长度10246464

🧩 Chronos 和 Chronos-Bolt 本身不支持未来协变量,但它们可以与外部协变量回归器结合使用(参见 AutoGluon 教程)。这仅对每个时间步的效应进行建模,而非跨时间的效应。相比之下,Chronos-2 原生支持所有协变量类型。

使用方法

本地使用

若要进行实验和本地推理,您可以使用inference package。

安装该包

pip install "chronos-forecasting>=2.0"

使用 pandas API 进行零样本预测

import pandas as pd  # requires: pip install 'pandas[pyarrow]'
from chronos import Chronos2Pipeline

pipeline = Chronos2Pipeline.from_pretrained("amazon/chronos-2", device_map="cuda")

# Load historical target values and past values of covariates
context_df = pd.read_parquet("https://autogluon.s3.amazonaws.com/datasets/timeseries/electricity_price/train.parquet")

# (Optional) Load future values of covariates
test_df = pd.read_parquet("https://autogluon.s3.amazonaws.com/datasets/timeseries/electricity_price/test.parquet")
future_df = test_df.drop(columns="target")

# Generate predictions with covariates
pred_df = pipeline.predict_df(
    context_df,
    future_df=future_df,
    prediction_length=24,  # Number of steps to forecast
    quantile_levels=[0.1, 0.5, 0.9],  # Quantiles for probabilistic forecast
    id_column="id",  # Column identifying different time series
    timestamp_column="timestamp",  # Column with datetime information
    target="target",  # Column(s) with time series values to predict
)

将 Chronos-2 端点部署到 SageMaker

对于生产用途,我们建议将 Chronos-2 端点部署到 Amazon SageMaker。

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

pip install -U sagemaker

将推理端点部署到 SageMaker。

from sagemaker.jumpstart.model import JumpStartModel

model = JumpStartModel(
    model_id="pytorch-forecasting-chronos-2",
    instance_type="ml.g5.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"]

有关端点 API 的更多详细信息,请查看 示例笔记本

训练数据

有关训练数据的更多详细信息,请参见 技术报告。

  • Chronos Datasets 的子集(不包括与 GIFT-Eval 重叠的数据集的测试部分)
  • GIFT-Eval Pretrain 的子集
  • 合成单变量和多变量数据

引用

如果您发现 Chronos-2 对您的研究有用,请考虑引用相关论文:

@article{ansari2025chronos2,
  title        = {Chronos-2: From Univariate to Universal Forecasting},
  author       = {Abdul Fatir Ansari and Oleksandr Shchur and Jaris Küken and Andreas Auer and Boran Han and Pedro Mercado and Syama Sundar Rangapuram and Huibin Shen and Lorenzo Stella and Xiyuan Zhang and Mononito Goswami and Shubham Kapoor and Danielle C. Maddix and Pablo Guerron and Tony Hu and Junming Yin and Nick Erickson and Prateek Mutalik Desai and Hao Wang and Huzefa Rangwala and George Karypis and Yuyang Wang and Michael Bohlke-Schneider},
  year         = {2025},
  url          = {https://arxiv.org/abs/2510.15821}
}