TimesFM

TimesFM

TimesFM(Time Series Foundation Model)是谷歌研究院(Google Research)开发并开源的预训练时间序列基础模型,用于时间序列预测任务,可在未经针对性训练的序列上直接给出预测结果。该模型采用仅解码器(decoder-only)Transformer 架构,把连续时间点切成片段(patch)作为 token 处理。自 2024 年首次公开以来,模型经过多个版本迭代,并被集成进 BigQuery ML、Google 表格等产品[1][2]。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

TimesFM 是谷歌研究院推出的时间序列基础模型,其名称来自 Time Series Foundation Model 的缩写。它面向的是时间序列预测,即利用一段历史观测推断未来取值的任务[2]。与需要针对每个数据集单独训练的传统深度学习预测器不同,该模型在大规模时间序列语料上完成预训练后,可以直接对训练中未见过的序列给出预测,这一能力被称为零样本预测[1]。

模型的代码以开源方式发布,权重在多个版本中通过 Hugging Face 等渠道提供,但官方说明这一开源版本并非谷歌正式支持的产品[3]。按模型规模区分,1.0 版为 2 亿参数,2.0 版为 5 亿参数,2.5 版回到 2 亿参数,3.0 版为 3.3 亿参数[1][4][2][5]。

原理

模型的主体是堆叠的 Transformer 层,包括自注意力与前馈网络,与语言模型的处理方式相似。区别在于输入不是词元而是时间点:连续的时间点先被划成固定长度的片段,1.0 至 3.0 版所用片段长度为 32 个时间步,再经带残差连接的多层感知机映射为可送入 Transformer 的 token[1][5]。输出侧的一个 token 可以对应比输入片段更长的区间,1.0 与 2.0 版的输出片段长度为 128,因此完成同一段预测所需的生成步数明显减少,累积误差也随之下降[6]。

3.0 版在 token 组织上引入了二维结构:时间沿一个方向排列,多个目标序列与协变量沿另一个方向排列,注意力在两种模式之间交替。一种是在单条序列内部沿时间方向进行因果注意力,只能看到本序列此前的片段;另一种是在同一时间位置上跨序列的变量注意力,使某个目标的预测可以借助其他相关序列的信息[5][7]。对于未来取值已知的协变量,例如节假日安排或已确定的促销计划,模型采用前视构造,把当前片段与未来片段拼接成 token,从而在不泄露目标序列信息的前提下利用这些已知信号[5]。

早期版本采用逐片段自回归解码,即生成一个片段后再以其为条件生成下一个。3.0 版改用连续片段掩码的方式,在整个预测区间上追加被遮蔽的占位片段,目标序列与仅历史可用的协变量在区间内保持遮蔽,未来已知的协变量保持可见,模型在一次前向计算中同时填补全部区间片段[5][7]。该版本对每个目标序列在区间内的每一步给出 9 个分位数,覆盖第 10 至第 90 百分位,用于刻画预测的不确定性[5]。

预训练语料由真实数据与合成数据共同构成。真实部分包括公开时间序列数据集,其中谷歌趋势的搜索兴趣序列与维基百科页面的浏览量为主要来源;合成部分借助统计模型或物理仿真生成,用于让模型掌握基本的周期、趋势等结构。首次公开时语料规模被描述为 1000 亿个真实时间点[1]。官方博客在介绍 BigQuery 集成时给出的数字为 4000 亿时间点,3.0 版则称预训练语料超过 1 万亿个时间点[4][5]。

发展历程

2024 年 2 月 2 日,谷歌研究院发布博客介绍这一模型,论文题目为《A decoder-only foundation model for time-series forecasting》,预印本于 2023 年 10 月上传至 arXiv[1][2]。2024 年 5 月 8 日,该论文被 ICML 2024 接收,代码与 1.0 版权重随后在 GitHub 和 Hugging Face 上公开[1]。1.0 版为 2 亿参数,支持最长 512 个时间点的上下文,以点预测为主,另外提供 10 个分位头但说明其在预训练后未经校准[3]。

2025 年 7 月 10 日,BigQuery ML 开始以预览形式内置 TimesFM,可直接通过 SQL 中的预测函数调用,当时内置的是 5 亿参数的 2.0 版模型[4]。按模型卡说明,2.0 版把上下文上限提高到 2048 个时间点,支持任意预测长度,并保留可选的频率指示输入,在部分榜单上的表现比 1.0 版最多好 25%[6]。

2025 年 9 月 15 日发布的 2.5 版参数规模降至 2 亿,上下文长度提升至 1.6 万,并可通过一个约 3000 万参数的分位数头输出最长 1000 步的连续分位数预测,同时取消了频率指示输入[2]。同年 10 月,2.5 版通过 XReg 重新加入协变量支持[2]。

2026 年 8 月 31 日,谷歌研究院发布 3.0 版,这是该系列首个原生支持多变量预测的版本,参数量为 3.3 亿[5]。该版本的权重采用单独的非商业许可,限制为非商业、非生产用途,而此前各版权重与代码均以 Apache-2.0 发布[2]。

应用

零售、金融、可观测性、制造、医疗与自然科学等领域被视为时间序列基础模型的主要使用场景,需求预测是其中较典型的任务,例如在预测某类商品销量时同时参考关联商品销量、历史客流以及促销和天气等已知安排[5]。在谷歌自身的产品体系中,该模型被接入 BigQuery ML、Google 表格以及 Vertex Model Garden,分别面向企业级 SQL 查询、电子表格使用和容器化端点调用[2]。其中 BigQuery 的调用依托预测函数完成,也可用于时间序列的异常检测[8]。

使用方法上,模型既可以加载开源权重在本地运行,也可以调用云端托管服务。开源仓库提供 PyTorch、Flax 等后端以及微调示例,允许在自有数据上做轻量适配[2]。谷歌云文档指出,通过 BigQuery 使用时不需自行创建和训练模型,其结果与传统统计方法如 ARIMA 大致相当;若需要更强的调参能力,可改用 ARIMA_PLUS 一类模型[8]。

局限

能力边界首先来自版本差异。2.5 版及更早的模型只做单变量预测,即仅依据单条序列的历史推断未来,多变量与协变量支持是 3.0 版才原生具备的[5]。早期版本对输入也有额外要求,1.0 与 2.0 版要求上下文连续无缺失、上下文与预测区间为同一采样频率,缺失值需先做线性插值,主要是点预测,分位头未校准,不宜直接当作可靠的概率预测[6][3]。

许可方面存在明确限制。3.0 版权重采用非商业许可,仅限非商业、非生产用途,代码本身仍为 Apache-2.0,因此代码的宽松许可并不等同于权重可自由商用;通过 BigQuery 等服务调用则另按服务条款处理[2][8]。

与经典统计方法相比,其优势并非无条件成立。一项在 7200 条由已知过程生成、模型不可能见过的序列上进行的仿真研究表明,该模型与经典方法的误差互有高下:TimesFM-3 的误差在任一场景下不超过最优方法的 1.31 倍,而每种经典方法都在某些场景下至少达到最优的 2.2 倍;但在季节性自回归数据上,当季节周期达到 4 个以上时,自动 ARIMA 比该模型准确约 21% 至 24%,在间歇性需求上该模型相对简单基准也无优势[9]。

此外,前视协变量的收益依赖输入定义的正确性。若把实际观测到的结果误当作未来已知信息传入,会直接造成信息泄露;反之,把真正的计划或日历信息标记为仅历史可用,则会损失同样重要的上下文[7]。模型给出分位数也不等于不确定性已被校准,实际区间覆盖率仍需按预测步长逐段检验[7]。

参见

  • Transformer —— TimesFM 的骨干架构,采用堆叠的自注意力与前馈网络层。

  • ARIMA —— 传统统计预测方法,常被用作与该模型对照的基线。

  • 零样本学习 —— 模型无需针对目标数据集训练即可预测的能力来源。

  • BigQuery —— 谷歌云的数据分析服务,内置了该模型的托管版本。

  • 时间序列 —— 该模型处理的数据类型与预测对象。

参考资料

  1. A decoder-only foundation model for time-series forecasting [引用日期2026-10-29]
  2. timesfm [引用日期2026-10-29]
  3. pypi.org 上的网页 [引用日期2026-10-29]
  4. google.com 上的网页 [引用日期2026-10-29]
  5. research.google 上的网页 [引用日期2026-10-29]
  6. google/timesfm-2.0-500m-jax · Hugging Face [引用日期2026-10-29]
  7. timesfm-3-multivariate-zero-shot-forecasting [引用日期2026-10-29]
  8. Home [引用日期2026-10-29]
  9. arxiv.org 上的网页 [引用日期2026-10-29]
词条评价
词条统计

浏览次数:0 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:30:56Z

历史版本

本条目引用的词条
Transformer ARIMA 零样本学习 BigQuery 时间序列