一个能预测没见过的序列的预训练模型

TimesFM 是 Google Research 做的时序预测基础模型。它的卖点和大语言模型对文本的那套一样:加载一个预训练好的网络,直接对训练时没见过的数据要预测结果,省掉传统预测里逐条序列训模型的功夫。把它指向一条销量曲线、一路传感器数据或一段需求历史,喂进最近的上下文,它就返回一条预测加上分位数。架构是 decoder-only,出自 ICML 2024 论文 “A decoder-only foundation model for time-series forecasting”。

截至 2026-06 它已涨过 22,000 星,约 2,200 个 fork,在 GitHub 上的开源时序基础模型里遥遥领先。这个领先对预测精度本身意义不大,但决定了示例池有多大、社区修 bug 有多快。

为什么现在值得看

传统预测(ARIMA、Prophet、梯度提升特征)要为每条序列训一个模型,数据漂移了还得重调。TimesFM 把这步活挪到预训练里:零样本的基线常常能贴近那些在目标序列上训练过的模型,做第一版预测时足以省掉逐序列拟合。2025 年 9 月发布的 TimesFM 2.5 是大多数新用户该从这开始的版本。它把参数量从上一代的 500M 压到 200M,把上下文窗口从 2048 个点拉到 16k,还加了一个可选的 30M 分位数头,能做到 1k 预测长度的连续分位数预测。它也去掉了老版本要你手动设的 frequency 标志。

你实际拿到什么

  • 零样本点预测加分位数预测(10 到 90 分位),给的是一条带上下界的不确定性区间。
  • 2.5 里上下文可达 16k 个时间步,长的日级、小时级历史不用截断就能放进去。
  • 通过 XReg 提供的协变量支持,在 2025 年 10 月的更新里给 2.5 加了回来,可以把已知回归量和目标序列一起喂进去。
  • 一个包里两个后端:PyTorch 和 Flax(JAX)。Flax 版是为更快推理加的。
  • 仓库之外的生产路径:Google 把 TimesFM 放进了 BigQuery ML、Connected Sheets 和 Vertex Model Garden,已经在 Google Cloud 上的团队不用自己管 checkpoint 就能调用。

安装

包在 PyPI 上,按你要的后端拉依赖:

# PyTorch 后端
pip install timesfm[torch]
# 或 Flax(JAX)后端
pip install timesfm[flax]
# 加协变量支持
pip install timesfm[xreg]

本地源码安装,README 用的是 uv:

git clone https://github.com/google-research/timesfm.git
cd timesfm
uv venv && source .venv/bin/activate
uv pip install -e .[torch]

有个版本细节会绊住人。PyPI 的包版本号和模型版本号不是一回事。2026 年 6 月的 PyPI 版本是 timesfm 2.0.0,而这个库加载的是 Hugging Face 上的 TimesFM 2.5 模型 checkpoint。更老的 1.0、2.0 权重放在 v1 子目录,加载它们要把包固定到 timesfm==1.3.0。所以”哪个版本”有两个答案,库和权重,两者各走各的轨道。

快速上手

import numpy as np
import timesfm

model = timesfm.TimesFM_2p5_200M_torch.from_pretrained("google/timesfm-2.5-200m-pytorch")
model.compile(
    timesfm.ForecastConfig(
        max_context=1024,
        max_horizon=256,
        normalize_inputs=True,
        use_continuous_quantile_head=True,
    )
)
point_forecast, quantile_forecast = model.forecast(
    horizon=12,
    inputs=[np.linspace(0, 1, 100), np.sin(np.linspace(0, 20, 67))],
)
point_forecast.shape  # (2, 12)

先用 ForecastConfig 编译一次,再用一个预测长度和一组输入数组调 forecast。后端单独装:按你的硬件选 PyTorch 或 JAX 版,CPU、GPU、TPU、Apple Silicon 都行。

适合什么,不适合什么

要做跨多条序列的强基线又不想逐条训模型,要一条不确定性区间而不止一个点值,觉得”今天就能用的零样本”比”调一周才最优”更划算,那就用它。Apache-2.0 许可扫清了商用障碍。

有三种情况要当心。仓库明说这个开源版不是 Google 官方支持的产品,所以把它当没有 SLA 的研究代码。金融是最该存疑的地方:issue 里对炒股、交易用法的兴趣一直不低,但一个在宽口径时序语料上预训练的模型,对近乎随机游走的价格收益率没有任何优势,那里一条看着很笃定的预测,大半是裹着信号外衣的噪声。再就是如果你的问题有很强的已知驱动因素(比如促销、节假日),走 XReg 的协变量路径比普通的单变量预测更新、踩得更少,信它之前先自己验证。

TimesFM 和其它预测基础模型怎么比

TimesFMChronosMoirai(uni2ts)TimeGPT(Nixtla)
Star22,6655,4791,5243,930
许可Apache-2.0Apache-2.0Apache-2.0托管 API
出品方Google ResearchAmazon ScienceSalesforceNixtla
权重开放开放开放闭源,只给 API
切入点decoder-only,长上下文基于 T5,把数值 token 化掩码编码器,任意变量托管端点

计数为 GitHub 上 2026 年 6 月的数据。Chronos 把数值当 token,过一个 T5 风格的模型。Moirai(也就是 uni2ts 仓库)走掩码编码器路线。TimeGPT 是托管 API 而非开放权重,你拿省去自托管换来一个托管端点和一笔用量账单。TimesFM 的独到位置是这几样凑在一起:完全开放的权重、最大的社区,以及 2.5 里 16k 的长上下文。

star 曲线

曲线显示从 2024 年 4 月发布以来稳步上爬,坡度在 2025 年底 2.5 发布、PyTorch 路径和更长上下文落地时变陡。这个形状符合一个被数据团队随着它越来越好跑而审慎采用的研究模型。

issue 区在提醒你什么

动手前有两个坑值得知道。第一是预测隔离:issue #274 报告 forecast_with_covariates 对同一个输入,会因为和它一起组 batch 的其它序列不同而返回不同结果。这会破坏回测,因为回测里每个窗口必须独立评估,所以用到协变量时要么一次只预测一个输入,要么固定你的 batch 排布。第二,安装摩擦有历史。早期那套 JAX/praxis/lingvo 依赖栈引发过冲突(issue #1)和一波”错误多到不知从哪下手”的反馈(issue #23);2.5 的 PyTorch 路径顺多了,全新环境优先走它。微调是另一个长期诉求(issue #14、#119、#327),用 Hugging Face Transformers 加 PEFT(LoRA)的例子在 2026 年 4 月落地,所以开箱微调现在是一条有文档的路径,不再只是一个请求。

相关仓库

要把预测结果喂进去的 ML 量化研究,看 microsoft/qlib。LLM 驱动的交易与金融项目,看 ai-hedge-fundFinGPT。LoRA 微调那条路走的是 huggingface/transformers。更大的 ML 工具版图看 LLM 工具趋势,想知道当下什么在涨看每日榜周报

FAQ

TimesFM 免费且开源吗? 是。代码和模型权重都按 Apache-2.0 发布,允许商用。仓库注明这个开源版不是 Google 官方支持的产品,所以没有支持保证。

该装哪个版本,2.0 还是 2.5? 用 2.5 模型,这是当前发布版,用最新 PyPI 包加载(timesfm 2.0.0,这个库版本号和模型号不一样)。要更老的 1.0 或 2.0 权重,把包固定到 timesfm==1.3.0 并用 v1 代码。

TimesFM 适合做股票或金融预测吗? issue 区兴趣很高,但要存疑。资产价格收益率接近随机游走,没有哪个通用预测模型在那里有真优势。它对需求、流量、传感器、运营类序列更可信,对预测行情不行。

TimesFM、Chronos、TimeGPT 选哪个? TimesFM 给开放权重、最大社区和 16k 上下文。Chronos(Amazon)把数值用 T5 风格模型 token 化,也是开放权重。TimeGPT(Nixtla)是托管 API,你省掉自托管,换来一笔用量账单。按你要开放权重还是托管端点来选。

能在 CPU 或 Apple Silicon 上跑吗? 能。你装一个匹配硬件的 PyTorch 或 JAX 后端,CPU、GPU、TPU、Apple Silicon 都支持。长上下文和大 batch 用 GPU 会更快,但单条预测不强求。

能用自己的数据微调 TimesFM 吗? 能。用 Hugging Face Transformers 加 PEFT(LoRA)的微调例子在 2026 年 4 月加入,把预训练模型适配到特定领域现在是一条有文档的工作流。