news 2026/3/5 14:00:35

项目分享|TimesFM:谷歌开源的时间序列基础模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
项目分享|TimesFM:谷歌开源的时间序列基础模型

引言

时间序列预测在金融、气象、供应链等众多领域都扮演着关键角色,而构建高效、通用的预测模型一直是行业难题。由谷歌研究院(Google Research)开发的TimesFM(Time Series Foundation Model),作为一款预训练的时间序列基础模型,为这一领域带来了新的解决方案。本文将详细介绍这一开源项目的核心信息、创新优势及技术实现,助力开发者快速了解并应用该模型。

TimesFM项目概述

TimesFM是谷歌研究院推出的解码器架构时间序列基础模型,其相关研究成果已发表于2024年ICML会议(论文:《A decoder-only foundation model for time-series forecasting》)。该项目不仅拥有官方Hugging Face模型集合,还被集成到谷歌BigQuery产品中,同时谷歌研究院博客也对其技术细节进行了深度解读(注:本文介绍的开源版本非谷歌官方支持产品)。

目前,TimesFM的最新版本为2.5,而1.0和2.0版本已归档至项目的v1子目录,可通过安装timesfm==1.3.0版本加载使用。2025年9月,TimesFM 2.5正式发布,带来了多项重要更新;同年10月,该版本恢复了通过XReg实现的协变量支持,进一步提升了实用性。

核心创新与优势

相比2.0版本,TimesFM 2.5在性能与功能上实现了显著突破,其核心创新与优势主要体现在以下方面:

  1. 参数优化与效率提升:模型参数从500M缩减至200M,在保持预测能力的同时降低了计算成本,更易于部署和应用。

  2. 更长上下文支持:上下文长度从2048扩展至16k,能够处理更长的时间序列数据,捕捉更久远的历史依赖关系。

  3. 分位数预测能力:通过可选的30M分位数头,支持最长1k horizon的连续分位数预测,为不确定性估计提供了更丰富的信息。

  4. 简化使用流程:移除了对frequency指标的依赖,减少了用户配置负担,同时新增多个预测标志,提升了模型的灵活性。

  5. 生态与API升级:同步升级推理API,计划支持Flax版本(实现更快推理),并恢复协变量支持,完善文档与示例,降低使用门槛。

技术实现与部署指南

环境搭建与安装

TimesFM支持PyTorch和Flax两种后端,安装步骤如下:

  1. 克隆仓库并进入目录:
gitclone https://github.com/google-research/timesfm.gitcdtimesfm
  1. 使用uv创建虚拟环境并安装依赖(根据需求选择后端):
# 创建虚拟环境uv venv# 激活环境source.venv/bin/activate# 安装PyTorch版本uv pipinstall-e .[torch]# 或安装Flax版本uv pipinstall-e .[flax]# 如需协变量支持,安装xreg版本uv pipinstall-e .[xreg]
  1. (可选)根据硬件环境安装对应后端(PyTorch或Jax),以适配CPU、GPU、TPU或Apple Silicon等加速设备。

核心代码示例

使用TimesFM 2.5进行预测的核心流程如下:

importtorchimportnumpyasnpimporttimesfm# 设置精度torch.set_float32_matmul_precision("high")# 加载预训练模型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,# 使用分位数头force_flip_invariance=True,infer_is_positive=True,fix_quantile_crossing=True,))# 执行预测(输入为两个示例时间序列)point_forecast,quantile_forecast=model.forecast(horizon=12,# 预测长度inputs=[np.linspace(0,1,100),np.sin(np.linspace(0,20,67)),])# 输出形状:点预测(2,12),分位数预测(2,12,10)(包含均值及10th至90th分位数)

该项目及相关内容已在AladdinEdu课题广场同步发布,欢迎前往了解更多技术实现与资源。

项目地址:AladdinEdu课题广场

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/4 20:09:03

PyTorch Eager Mode vs TorchScript性能对比测试

PyTorch Eager Mode 与 TorchScript 性能对比实测分析 在现代深度学习工程实践中,模型从研发到上线的路径越来越清晰:先用灵活的框架快速验证想法,再通过优化手段提升推理效率。然而,这条路径上的关键抉择——是否以及何时将 Eage…

作者头像 李华
网站建设 2026/3/3 23:10:35

企业采购PyTorch云服务享专属技术支持通道

企业采购PyTorch云服务享专属技术支持通道 在AI项目落地的现实中,一个常见的场景是:算法团队熬夜调通了模型,准备在服务器上复现时却发现“CUDA not available”——驱动版本不对、PyTorch和CUDA不兼容、多卡通信失败……这类环境问题每年都在…

作者头像 李华
网站建设 2026/2/26 3:13:16

TDCA 算法在 SSVEP 场景中的 Padding 技术:原理、应用与工程实现

引言 在基于 8 通道枕区稳态视觉诱发电位(SSVEP)的脑机接口(BCI)系统中,任务驱动成分分析(TDCA)算法的核心是通过时空特征优化实现多类别刺激的精准识别。而 Padding(填充&#xff…

作者头像 李华
网站建设 2026/2/27 9:41:15

Zero Redundancy Optimizer减少内存占用技巧

Zero Redundancy Optimizer减少内存占用技巧 在训练大模型时,你是否遇到过这样的窘境:显存还没加载完模型就爆了?明明有8张A100,却只能跑一个7B的模型,其他卡空转着“吃灰”?这背后的核心问题,并…

作者头像 李华
网站建设 2026/2/28 23:13:46

Python段落分割并保留句子标点的示例

在Python中,将段落分割成句子并保留结尾标点符号有多种方法。这里尝试示例以下是几种常用的方法,所用例子收集和修改自网络资料。1 正则方案纯中文文本可以使用正则表达式,以下是两个正则表达式分割示例。1.1 基础版分割正则表达式是最常用的…

作者头像 李华
网站建设 2026/2/26 14:57:34

buck电路图及其原理:TPS5430典型应用电路分析

深入剖析TPS5430降压电路:从原理到实战设计你有没有遇到过这样的问题?系统需要将12V或24V的工业电源转换为稳定的5V或3.3V给MCU供电,但用LDO时芯片烫得像个小暖手宝?效率低、发热大、散热空间又有限——这正是开关电源登场的时刻。…

作者头像 李华