高性能零样本预测与商业友好的开源许可
时间序列基础模型正在改变预测系统的构建方式。用户无需为每个数据集训练和维护单独的模型,而是可以使用预训练模型进行零样本预测。
IBM 发布了 Granite Time Series PatchTST-FM-r2,这是 Granite TSFM 家族中的最新模型(github、blog)。PatchTST-FM-r2 是其前身 PatchTST-FM-r1 的新版本,在一个约 3.85 亿参数的模型中,结合了更新的架构、更大的预训练语料库、概率预测、缺失值插补支持以及强大的零样本性能。
截至 2026 年 9 月 8 日,该模型是 GIFT-Eval 排行榜上在可复现的零样本模型类别中,以宽松的商业友好开源许可(Apache 2.0 和 OpenMDW 1.0)发布的性能最高的零样本模型。GIFT-Eval 是一个全面的时间序列预测基准测试,旨在评估模型在各种预测场景中的表现;该模型在可复现的零样本模型整体排名中位列第二。
模型权重、架构、推理流水线以及重现基准测试结果所需的代码均已公开。
在本篇博客中,我们将介绍该模型,深入探讨基准测试结果和模型架构,讨论训练数据和许可协议,并提供展示如何使用该模型的代码示例。最后,我们还将重点介绍如何利用 Confluent 产品,在生产线环境中将 Granite Time Series 家族的模型用于流式应用。
准备好尝试了吗?在 Hugging Face 上打开 Granite Time Series PatchTST-FM-r2
TL;DR(太长不看版)
适用于需求、价格、能源负载、交通、遥测数据及其他时间序列的通用零样本预测。
约 3.85 亿参数,上下文长度最高达 8,192,支持灵活的预测长度,并通过 99 分位数预测头实现概率预测。
模型主干由 conformer 块构建,结合多头自注意力机制与时间卷积,以捕捉长程和短程的时间结构。
该模型采用宽松许可,在 GIFT-Eval 基准测试的可复现零样本类别中性能领先(双重许可:Apache-2.0 和 OpenMDW-1.0,用户可选择任一许可)。
公开了权重、架构、推理流水线及重现基准测试所需的代码。
在 GIFT-Eval 上展现出强大的零样本预测能力
基础模型的价值在于其能够泛化到未曾专门训练过的时间序列数据。因此,我们首先关注零样本性能。
GIFT-Eval 提供了对跨异构数据集和预测场景的预测模型的广泛评估。当将排行榜限制为零样本、可复现且未在测试中发生数据泄露的模型时,截至 2026 年 9 月 8 日,PatchTST-FM-r2 在 CRPS 和 MASE 两项指标上均排名第二,如图 1 和图 2 所示(两项指标均为值越低越好)。重要的是,PatchTST-FM-r2 是在具有宽松商业友好许可的模型类别中性能最高的模型。
图 1. 领先的可复现零样本模型的 GIFT-Eval CRPS。PatchTST-FM-r2 实现了 0.467 的几何平均 CRPS,在此比较中紧随 TimesFM-3 之后,并在具有宽松许可的模型中排名第一。
图 2. 领先的可复现零样本模型的 GIFT-Eval MASE。PatchTST-FM-r2 实现了 0.6846 的几何平均 MASE。蓝色条形表示由 IBM 时间序列基础模型团队发布的模型。
即使与允许使用基准训练数据的模型相比也具备竞争力
GIFT-Eval 上的一些模型被归类为预训练模型,而非严格的零样本模型。这些模型允许在其预训练语料库中包含 GIFT-Eval 评估数据集的训练部分。
即使将这些预训练模型纳入比较,PatchTST-FM-r2 依然保持在前列,如图3和图4所示:在可复现的模型中,其 CRPS 排名第三,MASE 排名第四。尽管部分竞争模型的规模显著更大,PatchTST-FM-r2 的性能仍优于包括 Chronos-2、Timer-S1 以及 Toto 变体在内的多个预训练模型。
图3. 同时考虑零样本和可复现预训练模型时的 GIFT-Eval CRPS。
图4. 同时考虑零样本和可复现预训练模型时的 GIFT-Eval MASE。
架构:与 PatchTST-FM-r1 相比有何变化?
PatchTST-FM-r2 保留了使 PatchTST 系列行之有效的基于补丁(patch-based)的表示方法,但其内部架构经过重新设计,以高效捕捉长短期关系并平滑补丁间的预测——这两点均显著改善了误差指标。
一项变化是从标准的 Transformer 层转向结合卷积与多头自注意力的层。这些层被称为 Conformer 层,起源于语音处理应用。
图5. 从 PatchTST-FM-r1 到基于 Conformer 的 PatchTST-FM-r2 的架构演进。
PatchTST-FM-r1 的一个模块将多头自注意力与前馈网络相结合。在 r2 中,我们将其替换为一种 Conformer 风格的模块,其中包含两个半步长前馈层,它们夹着多头自注意力和一个时间卷积层。
这使模型拥有两种互补的机制来处理时间序列。自注意力可以建模补丁之间的长程关系,而卷积则提供了对局部时间结构的归纳偏置。因此,卷积组件能够捕捉较短期的交互作用,同时允许注意力集中在更长远的时间跨度上的关系。这一现象可以在 Transformer 和 Conformer 版本中捕获的注意力模式中观察到(见下方使用 ETTh1 数据集真实样本的示例图)。Transformer 的自注意力(图中左侧)有相当一部分集中在对角线附近,即捕捉局部关系;而 Conformer 模块中的注意力(图中右侧)则显示出远距离(远离对角线)的焦点,这得益于卷积层覆盖了短距离。主干网络中的 Conformer 块使用交替的卷积核大小3和5,以重复模式 {5, 5, 3, 3} 排列。
图6. 使用 ETTh1 数据集的真实样本比较 Transformer(左侧)和 Conformer 版本(右侧)中捕获的注意力模式。
此外,PatchTST-FM-r2 使用具有 Hamming 窗口加权的50%重叠补丁,以及重叠相加预测法来平滑补丁边界并提高预测精度。最后,该架构增加了归一化以提高稳定性,并将模块数量从20个扩展到30个。
通过这些更改,生成的模型拥有约3.85亿个参数,支持长达8,192步的超长上下文,并能预测灵活预测长度上的99个分位数。该模型同时提供点预测和分位数输出,用于预测分布和不确定性区间。
训练数据
对于旨在应用于实际场景的基础模型而言,模型质量仅是考量因素之一。开发者越来越需要了解哪些数据被用于构建模型,基准数据是否可能泄露到训练过程中,以及这对部署模型意味着什么。
PatchTST-FM-r2 使用了一个经过文档记录的预训练语料库,由四个来源组成:来自 GiftEvalPretrain 的精选数据集;基于 KernelSynth 并使用修改后的周期核及有限增强生成的自定义合成数据;使用 Chronos 描述的方法生成的 TSMixup 语料库,但仅限于 GIFT-Eval 评估集之外的数据集;以及约50万个合成 CauKer 序列,每个序列长度为4,096。
对于企业采用者而言,这种透明度与排行榜上的几个分数同样重要。这并不能免除组织自身对模型治理和许可审查的需求,但它为用户提供了比不透明的预训练语料库多得多的信息,以便进行此类审查。
面向研究实验和商业使用
为了为社区提供更多选择,Granite Time Series PatchTST-FM-r2 采用 Apache 2.0 和 OpenMDW 1.0 双重许可。用户可以选择其中任一许可证,两者均赋予广泛、宽松的权利以使用、修改和分发模型,而 Linux Foundation 的 OpenMDW 则提供了专为 AI 模型及相关材料设计的许可框架。通过以宽松的开源许可证提供这些模型,IBM 旨在降低采用门槛,使组织、研究人员和开发者能够充满信心地在此基础上构建技术,因为此类许可证不会限制您的使用。该架构实现也通过 Granite-TSFM 仓库提供,并与 PatchTST-FM-r1 检查点向后兼容。
用几行 Python 代码试用 PatchTST-FM-r2
评估基础模型最简单的方法是在您自己的时间序列数据上进行。
安装 Granite TSFM 包:
pip install "granite-tsfm>=0.3.9"
然后直接从 Hugging Face Hub 加载 PatchTST-FM-r2:
import pandas as pd
from tsfm_public import PatchTSTFMForPrediction, TimeSeriesForecastingPipeline
model = PatchTSTFMForPrediction.from_pretrained(
"ibm-granite/granite-timeseries-patchtst-fm-r2"
)
df = pd.read_csv(
"https://raw.githubusercontent.com/zhouhaoyi/ETDataset/main/ETT-small/ETTh1.csv" ,
parse_dates=[ "date" ],
)
pipe = TimeSeriesForecastingPipeline(
model=model,
id_columns=[],
timestamp_column= "date" ,
target_columns=[ "HUFL" ],
max_context_length=model.config.context_length,
context_length= 512 ,
prediction_length= 64 ,
impute_method= None ,
quantile_levels=[ 0.1 , 0.5 , 0.9 ],
explode_forecasts= True ,
freq= "1h" ,
)
forecast = pipe(df.iloc[- 512 :])
如您所见,无需微调,也无需针对特定任务进行模型拟合。该流水线仅消耗序列的近期历史数据并生成未来预测,包括所请求的分位数。
上述是在公开可用数据上的简单示例——您可以将示例输入数据替换为您自己的数据,包括需求、传感器遥测数据、CPU 利用率、能源消耗、交易量、交通流量、价格或其他定期采样的时间序列。
在您的数据上试用:在 Hugging Face Hub 上打开 PatchTST-FM-r2
从笔记本到流式时间序列
此次发布与 IBM Granite Time Series 模型更广泛的努力相连接,为该更广泛的产品组合增添了一款新模型。
对于数据连续到达而非以静态 DataFrame 形式存在的应用场景,IBM 和 Confluent 最近通过 Confluent Cloud 的早期访问计划提供了多种 Granite Time Series 模型。初始产品组合包括 PatchTST-FM-r1、FlowState-r1.1、TTM-r3 和 TSPulse。
该集成通过 Confluent Cloud 上的 Apache Flink,将基础模型推理直接引入流式应用程序中。预测和异常检测结果可以从实时数据流中生成,而无需团队设置并将数据移动到单独的机器学习环境。