仅解码器基础模型在时间序列预测中的突破

本文介绍了TimesFM,一种仅解码器的基础模型,专门用于时间序列预测。该模型在1000亿个真实世界时间点上进行了预训练,展示了在各种未见数据集上的出色零样本性能,接近甚至超越了专门训练的监督方法。

仅解码器基础模型用于时间序列预测

时间序列预测在零售、金融、制造、医疗保健和自然科学等多个领域无处不在。例如,在零售用例中,提高需求预测准确性可以显著降低库存成本并增加收入。深度学习(DL)模型已成为预测丰富、多变量时间序列数据的流行方法,因为它们在各种设置中表现良好(例如,DL模型在M5竞赛中表现优异)。

与此同时,用于自然语言处理(NLP)任务的大型基础语言模型(如翻译、检索增强生成和代码补全)取得了快速进展。这些模型在来自Common Crawl和开源代码等各种来源的大量文本数据上进行训练,使它们能够识别语言模式。这使它们成为强大的零样本工具;例如,当与检索配对时,它们可以回答关于当前事件的问题并进行总结。

尽管基于DL的预测器在很大程度上优于传统方法,并且在降低训练和推理成本方面取得了进展,但它们面临挑战:大多数DL架构需要漫长而复杂的训练和验证周期,然后客户才能在新的时间序列上测试模型。相比之下,时间序列预测的基础模型可以在未见时间序列数据上提供良好的开箱即用预测,无需额外训练,使用户能够专注于为实际下游任务(如零售需求规划)优化预测。

为此,在ICML 2024上接受的论文《仅解码器基础模型用于时间序列预测》中,我们介绍了TimesFM,一个在1000亿个真实世界时间点的大型时间序列语料库上预训练的单一预测模型。与最新的大型语言模型(LLMs)相比,TimesFM要小得多(2亿参数),但我们表明,即使在这样的规模下,其在各种未见数据集上的零样本性能,涵盖不同领域和时间粒度,接近在这些数据集上明确训练的最先进的监督方法。要访问该模型,请访问我们的HuggingFace和GitHub仓库。

仅解码器基础模型用于时间序列预测

LLMs通常以仅解码器的方式进行训练,涉及三个步骤。首先,文本被分解为称为标记的子词。然后,标记被输入堆叠的因果变换器层,产生与每个输入标记对应的输出(它不能关注未来的标记)。最后,与第i个标记对应的输出总结了所有先前标记的信息,并预测第(i+1)个标记。在推理过程中,LLM一次生成一个标记的输出。例如,当提示“法国的首都是什么?”时,它可能生成标记“The”,然后基于“法国的首都是什么?The”生成下一个标记“capital”,依此类推,直到生成完整答案:“法国的首都是巴黎”。

时间序列预测的基础模型应适应可变上下文(我们观察到的)和预测范围(我们查询模型预测的)长度,同时有足够的能力编码来自大型预训练数据集的所有模式。与LLMs类似,我们使用堆叠变换器层(自注意力和前馈层)作为TimesFM模型的主要构建块。在时间序列预测的背景下,我们将一个补丁(一组连续时间点)视为一个标记,这在最近的长范围预测工作中流行起来。然后,任务是在给定堆叠变换器层末端的第i个输出的情况下,预测第(i+1)个时间点补丁。

然而,与语言模型有几个关键区别。首先,我们需要一个带有残差连接的多层感知器块,将时间序列补丁转换为可以输入变换器层的标记,并带有位置编码(PE)。为此,我们使用类似于我们在长范围预测中的先前工作的残差块。其次,在另一端,来自堆叠变换器的输出标记可用于预测比输入补丁长度更长的后续时间点,即输出补丁长度可以大于输入补丁长度。

考虑一个长度为512个时间点的时间序列,用于训练TimesFM模型,输入补丁长度为32,输出补丁长度为128。在训练过程中,模型同时被训练为使用前32个时间点预测接下来的128个时间点,使用前64个时间点预测时间点65到192,使用前96个时间点预测时间点97到224,依此类推。在推理过程中,假设模型给定一个新的长度为256的时间序列,并任务预测未来的256个时间点。模型将首先生成时间点257到384的未来预测,然后基于初始256长度输入加上生成的输出来生成时间点385到512。另一方面,如果我们的模型中输出补丁长度等于输入补丁长度32,那么对于相同的任务,我们将不得不经过八个生成步骤,而不是上面的两个。这增加了更多错误累积的机会,因此,在实践中,我们看到更长的输出补丁长度在长范围预测中产生更好的性能。

预训练数据

就像LLMs随着更多标记而变得更好一样,TimesFM需要大量合法的时间序列数据来学习和改进。我们花了大量时间创建和评估我们的训练数据集,以下是我们发现最有效的方法:

  • 合成数据有助于基础知识。 有意义的合成时间序列数据可以使用统计模型或物理模拟生成。这些基本的时间模式可以教模型时间序列预测的语法。
  • 真实世界数据增加真实世界风味。 我们梳理可用的公共时间序列数据集,并选择性地组合了一个包含1000亿个时间点的大型语料库。在这些数据集中,有Google Trends和Wikipedia Pageviews,它们跟踪人们的兴趣,并很好地反映了许多其他真实世界时间序列的趋势和模式。这有助于TimesFM理解更大的图景,并在提供训练期间未见过的领域特定上下文时更好地泛化。

零样本评估结果

我们使用流行的时间序列基准在训练期间未见的数据上评估TimesFM的零样本性能。我们观察到TimesFM比大多数统计方法(如ARIMA、ETS)表现更好,并且可以匹配或超越在目标时间序列上明确训练的强大的DL模型(如DeepAR、PatchTST)。

我们使用Monash Forecasting Archive来评估TimesFM的开箱即用性能。该档案包含来自交通、天气和需求预测等各种领域的数万个时间序列,涵盖从几分钟到年度数据的频率。遵循现有文献,我们检查了适当缩放的均方绝对误差(MAE),以便可以在数据集之间平均。我们看到零样本(ZS)TimesFM比大多数监督方法更好,包括最近的深度学习模型。我们还使用llmtime(ZS)提出的特定提示技术将TimesFM与GPT-3.5进行比较进行预测。我们证明TimesFM比llmtime(ZS)表现更好,尽管规模小了几个数量级。

大多数Monash数据集是短或中等范围的,即预测长度不太长。我们还在流行的长范围预测基准上测试TimesFM,与最近的最先进基线PatchTST(和其他长范围预测基线)进行比较。在下图中,我们绘制了ETT数据集上预测未来96和192个时间点的任务的MAE。该指标已在每个数据集的最后一个测试窗口上计算(如llmtime论文所做)。我们看到TimesFM不仅超越了llmtime(ZS)的性能,而且匹配了在相应数据集上明确训练的监督PatchTST模型的性能。

结论

我们使用1000亿个真实世界时间点的大型预训练语料库训练了一个仅解码器基础模型用于时间序列预测,其中大部分是来自Google Trends的搜索兴趣时间序列数据和Wikipedia的页面浏览量。我们表明,即使是一个相对较小的2亿参数预训练模型,使用我们的TimesFM架构,在各种公共基准上,涵盖不同领域和粒度,展示了令人印象深刻的零样本性能。

致谢

这项工作是Google Research和Google Cloud多个个人合作的结果,包括(按字母顺序):Abhimanyu Das、Weihao Kong、Andrew Leach、Mike Lawrence、Alex Martin、Rajat Sen、Yang Yang、Skander Hannachi、Ivan Kuznetsov和Yichen Zhou。

标签: 机器智能、产品

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计