跳到主要内容
项目档案库 / SDK

Chronos 时间序列预测预训练模型库:安装步骤、使用教程、模型对比与 AWS 部署指南

amazon-science/chronos-forecasting:Chronos 是 Amazon Science 开发的预训练时间序列预测模型库,通过将时间序列转换为 token 序列实现零样本预测,显著降低本页整理它解决什么问题、适用场景、安装方式和使用方法。

5,884PythonStar 于 2025年10月29日2026年9月19日 更新

AI 总结

Chronos 是 Amazon Science 开发的预训练时间序列预测模型库,通过将时间序列转换为 token 序列实现零样本预测,显著降低预测任务的门槛与计算成本。

中文项目介绍

Chronos 是由 Amazon Science 开发的开源时间序列预测预训练模型库,基于 Transformer 架构,将时间序列数据转换为 token 序列进行建模,利用语言模型技术实现预测。 该项目提供 Chronos、Chronos-Bolt 和 Chronos-2 三个系列模型,能够在不进行任务特定训练的情况下(零样本)对单变量、多变量及含协变量的时间序列进行预测,大幅减少对大量标注数据的依赖和计算开销。其中 Chronos-Bolt 在相同尺寸下比原始 Chronos 快 250 倍且内存效率提升 20 倍,Chronos-2 则在 fev-bench、GIFT-Eval 和 Chronos Benchmark II 等多个基准测试中取得最佳性能。 Chronos 支持本地推理和 AWS SageMaker 云端部署,并配套提供基准测试工具(如 fev 包)和详细教程(包括快速入门和部署指南),适用于需要高效、准确时间序列预测的各类场景,如需求预测、资源规划、异常检测等。

详细信息与使用说明

1. 项目定位与用途

Chronos 是 Amazon Science 推出的预训练时间序列预测模型库,旨在为时间序列 forecasting 任务提供开箱即用的解决方案。项目基于 Transformer 架构,通过将时间序列转换为离散 token 序列,利用语言模型的生成能力进行未来值预测。主要用途包括提供零样本预测能力、支持多种预测任务类型(单变量、多变量、协变量增强),并配套完整的训练、评估和部署工具链,降低时间序列预测的技术门槛。所有模型通过 HuggingFace 分发,便于集成到现有工作流。

2. 核心问题与解决思路

传统时间序列预测需要针对每个任务收集大量标注数据并训练专用模型,过程繁琐且成本高昂。Chronos 通过在大规模多样化时间序列数据上预训练,学习通用的时间序列表示和预测模式,从而实现对未见任务的零样本或少样本预测。其核心思路是将时间序列 tokenization 后视为序列生成问题,使用交叉熵损失训练语言模型,推理时通过采样生成概率预测,有效缓解数据稀缺问题并提升泛化能力。

3. 适用场景

Chronos 适用于多种时间序列预测场景:零样本单变量预测(如销售预测)、零样本多变量预测(如多传感器监测)、协变量增强预测(如考虑天气因素的电力需求预测)。此外,项目支持 AWS SageMaker 部署,适合生产环境中的实时或批量预测服务。配套的 fev 基准测试工具也使其成为模型评估和比较的理想选择,尤其适合研究者和实践者快速验证新方法或部署预测系统。

4. 安装指南

Chronos 要求 Python 3.10 或更高版本。核心依赖包括 PyTorch (>=2.2,<3)、Transformers (>=4.41,<5)、Accelerate (>=0.34,<2)、NumPy、einops 和 scikit-learn。可选依赖提供额外功能:boto3 用于 AWS 部署,peft 用于模型微调,fev 用于基准测试,pandas 用于数据处理。安装命令示例:pip install 'chronos-forecasting[extras]>=2.2' 'matplotlib'(来自快速入门 notebook)。详细依赖版本约束见 pyproject.toml 文件。

5. 使用方式

使用 Chronos 进行预测可从 HuggingFace 加载预训练模型,例如:BaseChronosPipeline.from_pretrained('amazon/chronos-2', device_map='cuda')。项目提供 Jupyter notebook 教程:chronos-2-quickstart.ipynb 展示基本用法,deploy-chronos-to-amazon-sagemaker.ipynb 指导云端部署。此外,scripts/training/train.py 支持自定义模型训练,scripts/evaluation/evaluate.py 运行基准测试并输出 CSV 结果。数据格式和配置可通过 scripts/training/configs 调整。

6. 实现特点与模型家族

Chronos 采用模块化架构:base.py 定义统一基类,chronos.py 实现原始 Chronos 模型,chronos_bolt.py 实现高效 Chronos-Bolt,chronos2/ 目录包含 Chronos-2 的完整模块(配置、数据管道、模型、训练器)。原始 Chronos 基于语言模型 tokenization 和采样预测;Chronos-Bolt 引入 patch-based 编码和直接多步预测,实现速度与内存效率的突破;Chronos-2 进一步扩展至多变量和协变量场景,在多个基准测试中达到最优性能。所有模型均通过 HuggingFace 分发,便于集成。

思维导图

Chronos 时间序列预测库
模型家族
Chronos-2 (最新,零样本多变量/协变量)
Chronos-Bolt (高速高效)
Chronos (原始 Transformer 版本)
核心架构
Transformer 基础
时间序列 Tokenization
模块化设计 (base.py, chronos.py, chronos_bolt.py, chronos2/)
部署方案
本地推理 (CPU/GPU)
AWS SageMaker (实时/批量/无服务器)
评估工具
fev 基准测试包
评估脚本 (evaluate.py)
结果输出 (CSV)
数据工具
数据管道与预处理
合成数据生成 (KernelSynth)

常见问题

Chronos 支持哪些时间序列预测任务?

Chronos 支持零样本单变量预测、零样本多变量预测以及协变量增强预测。Chronos-2 作为最新版本,原生支持上述所有任务类型,并在 fev-bench、GIFT-Eval 和 Chronos Benchmark II 等基准测试中取得最佳性能。

如何安装 Chronos 库?

Chronos 要求 Python 3.10+,核心依赖包括 PyTorch、Transformers、Accelerate 等。可通过 pip 安装:pip install 'chronos-forecasting[extras]>=2.2' 'matplotlib'(来自快速入门 notebook)。完整依赖列表及版本约束见项目根目录的 pyproject.toml 文件。

Chronos-2 相比之前的版本有哪些改进?

Chronos-2 在多个基准测试中达到最优零样本性能,尤其在包含外生特征的协变量增强任务上提升显著。与 Chronos-Bolt 相比,Chronos-2 在头对头比较中胜率超过 90%。Chronos-Bolt 则专注于效率,在相同尺寸下比原始 Chronos 快 250 倍且内存效率提升 20 倍。

如何将 Chronos 模型部署到生产环境?

项目提供了详细的 AWS SageMaker 部署教程(notebooks/deploy-chronos-to-amazon-sagemaker.ipynb),涵盖实时推理(GPU/CPU)、无服务器端点自动扩缩容以及批量转换等场景。此外,由于模型基于 HuggingFace 格式,也可部署到其他支持 Transformers 的推理服务。

如何评估 Chronos 模型的预测性能?

可使用 fev 基准测试包(fev>=0.6.1)或项目自带的评估脚本 scripts/evaluation/evaluate.py 运行评估。评估配置位于 scripts/evaluation/configs/(如 in-domain.yaml 和 zero-shot.yaml),运行后会生成 CSV 格式的结果文件(保存在 scripts/evaluation/results/),便于比较不同模型和数据集上的表现。