TimesFM:谷歌的时间序列预测基础模型
原文:
towardsdatascience.com/timesfm-googles-foundation-model-for-time-series-forecasting-593a332dd08d
加入AI Horizon Forecast,一个将复杂的 AI 主题解释得像白天一样清晰的博客。
谷歌刚刚加入了时间序列预测基础模型的竞赛。
2023 年 8 月,时间序列社区因Nixtla发布其第一个时间序列预测基础模型TimeGPT而受到冲击。
在TimeGPT之后,发布了多个基础预测模型,但有一个模型脱颖而出。最近,谷歌揭幕了***TimesFM[1]***,这是一个具有非凡成果的开创性时间序列模型。
时间序列无处不在,在零售、能源需求、经济学、医疗保健等多个领域得到应用。一个基础时间序列模型可以轻松应用于任何时间序列案例,具有很高的准确性,就像 GPT-4 对文本的处理一样。
在本文中,我们讨论以下内容:
-
与自然语言处理相比,时间序列基础模型面临的挑战。
-
TimesFM 如何克服这些挑战。
-
TimesFM 的工作原理以及为什么它是一个强大的模型。
-
TimesFM的基准测试结果。
-
时间序列预测中基础模型未来的展望
让我们开始吧。
为什么基础模型对时间序列来说具有挑战性。
在*无监督多任务学习的时间模型 [2]*的 GPT-2 发布后,自然语言处理(NLP)中一个有前景的基础模型的概念已经很明显。
但在时间序列中,构建基础模型并不简单。存在几个挑战:
-
数据稀缺性: 在自然语言处理(NLP)中,找到文本数据很容易。然而,公开的时间序列数据集并不容易获得。
-
不可预测的格式: 语言模型基于定义良好的语法和词汇。时间序列数据可能属于具有不同特性的领域——例如,高度稀疏的销售数据或波动性强的金融数据。
-
不同粒度: 每个时间序列模型适用于特定的粒度——例如,每小时、每周、每月等。一个时间序列基础模型如何才能适用于每个粒度呢?
-
可变上下文和范围: 自然语言处理模型有一个预定义的最大上下文长度,并且优化为预测下一个单词。一个通用的时间序列模型应该适用于可变上下文长度和范围。
什么是 TimesFM
TimesFM是一个由谷歌研究团队创建的基础时间序列预测模型。
更具体地说,TimesFM:
-
有 2 亿个参数。
-
在 100 亿个真实世界的时间点上进行训练。
-
允许额外的协变量作为特征。
-
利用因果自注意力和残差块。
-
在零样本预测中优于其他 SOTA 模型。
接下来,让我们看看TimesFM是如何克服构建基础时间序列模型挑战的。
注意: 请查看AI 项目文件夹中关于时间融合 Transformer (TFT)的更新教程,这是谷歌的另一个 SOTA 模型。TFT 是一种独特的 TS 模型,以其可解释的预测能力而闻名。
A) 发现大量数据
公共时间序列数据集稀缺。
标准基准,如Monash 仓库(包含流行数据集,例如旅游、电力)只能带你走这么远。
一个理想的通用时间序列模型数据集应该具有:
-
大量数据(数量级为百万)
-
多样化的数据——代表多个领域
-
每个时间粒度(每日、每周等)
TimesFM的作者设法从公共时间序列数据中利用了 3 个额外的资源:
-
Google Trends:作者将 Google Trends 随时间变化的搜索兴趣重新用于时间序列。
-
维基百科页面浏览量:这些捕捉了所有维基百科页面的每小时浏览量。
-
合成数据:作者使用 ARMA 过程创建了一个包含混合季节性、频率和趋势的时间序列语料库。
结果是一个包含 1000 亿个数据点的数据集。
然而,与 LLaMa 的 1T 个标记相比,100B 个数据点显得微不足道!但这是创建大规模时间序列数据集的良好开端。
B) 可变上下文和预测范围
到目前为止,我们有一个大和多样化的数据集,包含来自多个领域和时间粒度的数据点。
一个大的 Transformer 可以学习通用的时序模式。但我们应该对上下文长度和预测范围做出什么假设?
关于预测范围长度(预测长度)的研究LLMs 被优化为预测下一个单词(自回归)。
关于时间序列模型,有两个问题出现:
-
**[3] [4]**中的研究表明,直接预测整个预测范围,而不是使用多步自回归方法,在长期预测中效果更好。
-
然而,在我们的案例(零样本预测)中,当预测范围长度不是事先已知时,这是不可能的。一个通用模型应该能够预测任何长度的预测范围。
TimesFM通过利用块技术,这种技术在另一个成功的模型PatchTST中得到了普及,找到了一个折衷方案。
块的工作原理TimesFM不是一次预测一个数据点,也不是预测整个预测范围长度。相反,它将上下文和预测范围长度都分解成块。
假设我们有:
-
上下文长度为L,
-
以及大小为p的块,
-
然后我们将输入分成N = L/p块。这些被称为输入块。
-
我们还有大小为h(预测范围)的输出块。
-
通过允许
output_patch_size>input_patch_size,作者发现TimesFM可以更快、更准确地学习预测任何长度的预测范围。
图 1显示了训练过程中的 TimesFM 架构:
图 1:TimesFM 架构概述(来源,作者标注)
首先,为input_patch_size选择一个值p,为output_patch_size选择一个值h。然后,模型将输入数据分割成 N = L/p 个输入块。
在第一次训练解码步骤中:
-
第一个块由一个输入残差块处理。
-
结果被添加到一个位置编码向量中。
-
第 2 步的输出被输入到一个堆叠的 Transformer中。在那里,应用了因果自注意力,以便每个输出标记只能关注它之前的输入标记。
-
同样,第 3 步的输出被传递到一个输出残差块中——从而创建输出块,这是预测范围。这个块与实际数据进行比较,以计算损失。
-
在下一个解码步骤中,模型将处理前两个输入块,并输出第二个输出块。
注意: 在实践中,对于给定的输入,所有块都是在单个训练小批量中创建的。
因此,我们可以得出结论:
TimesFM 以仅解码器模式进行训练,类似于 GPT 模型。不同之处在于将每个标记视为时间点的块。分块显著提高了推理速度,并避免了将模型约束在特定的预测长度/范围。
由此,我们概述了TimesFM的架构。
注意: 除了块之外,还提供了一个掩码向量——随机掩码块的一部分。这样做是为了防止模型只学习预测为输入块长度的倍数的上下文长度。
评估基准
最后,作者将TimesFM与其他 SOTA 预测模型(统计、基于树的、深度学习)进行了评估。
此外,作者还对llmtime进行了基准测试,这是另一个成功的 TS 基础模型,它使用GPT-3和LLaMa-2,并针对时间序列预测进行了特定的修改。
基准参数如下:
-
使用缩放 MAE——每个模型的 MAE 都按一个朴素基线模型的 MAE 进行缩放,因为数据集有不同的尺度。
-
所有模型都在保留数据集上进行了评估。
-
TimesFM在这里是零样本的——它没有在保留数据上预训练。
-
相反,所有其他模型都是在保留数据上明确训练和微调的。
-
保留数据包括属于 3 个数据集的时间序列:Monash 档案、Darts 数据基准和 Informer 基准。相同的基准数据集用于评估 llmtime。
评估结果如下:
图 2:TimesFM 与其他流行的 TS 预测模型在 Monash 基准上的对比。这里显示了所有数据集的平均缩放 MAE,以及标准误差条。 (来源)
图 3:TimesFM 与其他流行的 TS 预测模型在 Informer 基准上的对比。来源
关于结果的一些说明:
TimesFM 是这里的明显赢家
TimesFM 在每个基准测试中都位于前 3 名模型之中——甚至超过了llmtime。
记住,TimesFM 在这里进行了零样本推理——这意味着TimesFM 在训练过程中从未见过这些数据!相比之下,其他模型都是分别在对保留集的时间序列上进行训练。
此外,所有 3 个基准测试都包含覆盖各种领域、大小、粒度和预测时间跨度的数据集。在如此多样化的未见数据上取得如此有竞争力的成果是一项令人印象深刻的成就——这一趋势也在TimeGPT 基准测试中观察到。
微调的影响
TimesFM 论文缺乏关于微调效果的详细信息。
零样本推理是评估基础模型的一种极好方式。但如果TimesFM 在评估数据的一部分上进行了微调,结果会如何改进?
此外,微调在自然语言处理(NLP)中是一种标准实践。有趣的是,TimesGPT 没有分享任何微调训练的细节,但其 API 允许在您自己的数据集上进行微调。
扩展定律
TimesFM 实质上是一个大型预训练的仅解码器 Transformer 模型,因此从模型大小来评估其性能是有意义的。为了回顾:
扩展定律是描述语言模型参数大小、标记(数据集大小)、训练时间和性能之间关系的经验规则。
扩展定律最初由**[5]提出,但后来由[6](也称为Chinchilla**论文)进行了改进。
自然地,TimesFM 作者进行了一项初步的扩展研究,其中他们使用相同的预训练数据集和相似数量的迭代,训练了 3 个大小为 17M、70M 和 200M 参数的TimesFM模型。
结果显示在图 4中:
图 4:TimesFM 模型在不同参数量(17M、70M 和 200M)下的性能。 (来源)
显然,模型随着参数的增加而扩展,这证明了扩展定律也适用于 Transformer 预测模型(如**[7]**所示)。
此外,作者们还考察了数据集大小对模型性能的影响。他们通过仅在较小的数据集(M4、电力、交通和天气)上训练与较大的数据集(Google Trends 等)及合成数据进行了比较。结果如图 5 所示:
图 5:通过在小模型上预训练与在大规模和合成数据上预训练的 70B TimesFM 模型的性能。(来源)
如果研究中也包含了其他关系,并且有更多细节——特别是 性能与数据集大小 和 性能与训练时间 的关系,将会更有趣。**
消融研究
最后,作者们进行了一项消融研究来衡量他们架构选择的影响。
他们主要关注 TimesFM 的 性能 与输入和输出块的大小之间的关系。
记住,将输入分割成块并允许输出块更大的选择是 TimesFM 的关键设计选择。如果我们没有输入块(例如,模型在单步中消耗了整个输入),TimesFM 将本质上是一个编码器-解码器模型,而不是仅解码器模型。
因此,作者们测量了性能和输入/输出块大小之间的关系。分析如图 6 和图 7 所示:
图 6:在 Informer 基准测试中预测 512 步任务中,输出块长度对性能的影响。(来源)
图 7:在 Monash 基准测试中,输入块长度对性能的影响。(来源)
两个图都表明选择较小的输入块(尽管不是非常小)和较大的输出块是合理的——有效地使 TimesFM 成为仅解码器模型。
结语
TimesFM 是谷歌的一个非凡的时间序列模型——并且是时间序列基础模型类别中的一个关键补充。
目前,该模型处于私有测试版,但谷歌计划在 Google Cloud Vertex AI 上提供它。但模型和训练数据集尚未公开(谷歌仍在考虑是否开源模型)。
幸运的是,TimesFM 论文比 Nixtla 的 _TimesGPT 论文 _ 要丰富得多——提供了许多关于基础预测模型包含内容的见解。
尽管如此,考虑到缺乏大型公共时间序列数据集,对 TS 基础模型的研究还有很长的路要走。为了了解背景,当 T5 在 2019 年发布时,C4 数据集(750GB 的清洗文本数据,来源于 CommonCrawl)已经可用。
在我看来,TS 基础模型在未来的潜力巨大!
感谢您的阅读!
参考文献
[1] Das 等人, 时间序列预测的仅解码器基础模型 __ [2023]
[2] RadFord 等人, 语言模型是无监督的多任务学习者
[3] Zhou 等人, Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting
[4] Makridakis 等人. _统计、机器学习和深度学习预测方法:比较和前进之路 (_2022 年 8 月 )
[5] Jared Kaplan 等人. 神经语言模型的缩放定律
[6] Jordan Hoffmann 等人. 训练计算最优的大型语言模型
[7] Manuel Kunz 等人. 基于深度学习的预测:来自在线时尚行业的案例研究
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)