METAL LAB

谷歌研究院发布多变量时间序列预测模型TimesFM-3

这款3.3亿参数模型已在Hugging Face和GitHub上以开源形式发布,能把促销活动的销售额也一并预测出来

시계열 예측 모델의 패칭과 어텐션 구조를 보여주는 다이어그램

摘要

  • 谷歌研究院发布了TimesFM-3,这是一款能同时输入多条时间序列、一次性预测未来走势的基础模型。
  • 该模型参数量为3.3亿,用超过1万亿条时间序列数据完成预训练,在Gift-Eval、FEV-Bench、Time三项基准测试中均排名第一。
  • 模型目前已可在GitHub和Hugging Face上获取,与BigQuery AI.FORECAST的集成将在未来几周内上线。

为什么需要多变量预测

谷歌研究院(Google Research)在GitHubHugging FaceTimesFM-3模型页面上发布了多变量时间序列预测基础模型TimesFM-3。这款模型可以同时接收多条数据流并一次性输出未来预测值,专门针对零售、金融、医疗保健等实际业务场景中的时间序列预测任务而设计。

左侧是表示每周重复出现的规律的轨道符号,旁边是虚线框内的种子符号,代表尚未到来但已经确定的促销日程。两个符号通过实线双向箭头相连,表示二者被同时输入模型。这一组合通过实线箭头指向右侧不断变大的圆点符号,代表预测销售额上涨20%。左侧是表示每周重复出现的规律的轨道符号,旁边是虚线框内的种子符号,代表尚未到来但已经确定的促销日程。两个符号通过实线双向箭头相连,表示二者被同时输入模型。这一组合通过实线箭头指向右侧不断变大的圆点符号,代表预测销售额上涨20%。

简单来说,以往的AI时间序列预测模型只能盯着销售额或访客量这类单一数据流来推测未来,但在真实门店场景中,往往需要把促销日程、相关商品销量这类已经确定的未来信息一并纳入,才能得出准确预测。TimesFM-3的设计思路正是同时输入这些多条数据,并计算它们之间的相互影响。

现实中的问题往往如此——销售额、访客量这类目标,通常会同时受到相关商品销量、促销日程、天气预报等多种信息的影响,而单变量模型根本无法反映这些信号。

从冰淇淋销量看差距

谷歌研究院举了一个冰淇淋销售预测的例子。只看历史销售记录的传统单变量模型,只会把过去的星期规律原样延伸到未来,却察觉不到某个特定日期即将开展的促销活动。而TimesFM-3会把促销日程作为"未来已知信号(past-future covariate)"一并输入,从历史数据中学习促销与销量上涨之间的关系,再把这一规律套用到未来的促销日期上。谷歌研究院表示,结果显示模型预测每逢促销日销量都会上涨约20%。

3.3亿参数,一次前向传播完成预测

与此前的版本一样,TimesFM-3采用仅解码器(decoder-only)的Transformer结构,但会把32个时间步打包成一个patch,再让这些patch通过一个在时间轴和序列间关系轴之间来回的二维注意力结构。

针对过去-未来协变量,模型采用了"前瞻(look-ahead)"策略,让每个token同时绑定当前patch和未来patch。预测方式也有所改变:此前的版本是逐个依次生成patch,这会带来延迟并累积误差。而TimesFM-3基于采用连续Patch遮蔽(Contiguous Patch Masking)技术的研究,把整个未来区间做遮蔽处理后,通过一次前向传播同时填充所有预测值。模型还会在每个时间点给出对应10%到90%分位数的9个分位值,同时呈现预测结果的不确定性范围。

GH Homepage Universe img

三项基准测试均排名第一

谷歌研究院在Gift-Eval基准、FEV-Bench、Time三个平台上对TimesFM-3进行了评估。与支持多变量的Chronos-2、Toto 2.0系列以及上一代TimesFM-2.5相比,TimesFM-3在三项基准测试中,无论是点预测还是概率预测指标,都在预训练基础模型中取得了最高排名。

评估方式对应基准成绩
单变量模式(不使用协变量评估)Gift-Eval、FEV-Bench、Time与其他基础模型持平或更优
多变量模式(利用协变量)Gift-Eval、FEV-Bench、Time点预测与概率预测指标均排名第一

谷歌研究院表示,即便在不输入协变量、独立评估每条时间序列的单变量模式下,TimesFM-3的表现也与其他竞争模型持平或更优;一旦切换到多变量模式,排名还会更进一步提升。

如何上手使用

从哪里开始 — TimesFM-3的模型检查点可以在GitHub代码库和Hugging Face的TimesFM-3模型页面上下载。

使用步骤

  1. 从Hugging Face或GitHub下载TimesFM-3的PyTorch检查点。
  2. 准备好要预测的目标时间序列(如销售额),以及相关商品销量这类历史协变量、促销日程这类未来已知的协变量。
  3. 将这些数据一次性输入模型,无需迭代,一次前向传播即可获得整个预测区间及9个分位值。

谁可以使用 — 直接通过代码调用模型的方式,更适合具备开发能力的团队。如果不具备机器学习专业知识、只是想体验一下时间序列预测,现在就可以通过BigQuery的AI.FORECAST命令,用上一代模型TimesFM-2.5来做单变量预测。

能用来做什么 — 零售连锁企业可以把促销日程和库存数据一并输入,提前预估折扣期间的销量激增情况;制造业可以把设备运转排程和原材料入库计划作为协变量输入,预测产量的波动;在可观测性(observability)领域,则可以同时输入多个服务器指标,观察某一指标出现异常信号时对其他指标产生的影响。

编辑视角

用一个预训练模型、无需额外微调就能预测多个领域时间序列的想法,最初和图像、语言模型的思路如出一辙。而两年过去,谷歌把这一模型从单变量扩展到了多变量,向更贴近实际业务的问题迈进了一大步。这一趋势也让它在Salesforce的Gift-Eval基准上,与Chronos-2、Toto 2.0等其他多变量模型站到了同一个评测尺度下一较高下。

把这类规模的时间序列模型放到实际业务中检验,结论往往大同小异——单变量模型能很好地捕捉季节性、星期规律这类反复出现的走势,但一旦遇到促销、节假日这种"这次情况不一样"的时刻,准确率就会明显下滑。TimesFM-3选择接收协变量输入的架构,可以说正是冲着这一痛点去的。

对国内零售、制造企业而言,值得关注的一点是该模型以开源形式发布,无需另行签约就能用自有数据进行验证。不过目前BigQuery的集成还没有扩展到TimesFM-3,如果团队想在云控制台里靠一条命令直接使用,现阶段更现实的做法是先用TimesFM-2.5做实验,同时把数据管道准备好。

一旦未来几周内BigQuery的AI.FORECAST命令开始支持TimesFM-3,即便不直接写代码的数据分析团队,也能更轻松地尝试多变量预测了。

评论