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

85 阅读8分钟

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

2024年2月2日
作者:Rajat Sen 和 Yichen Zhou,Google Research

更新 • 2024年5月8日
“仅解码器基础模型用于时间序列预测”已被ICML 2024接受,图表已更新以展示最新结果。模型现已在HuggingFace和GitHub存储库中提供。

TimesFM是一个预测模型,在1000亿个真实世界时间点的大型时间序列语料库上进行了预训练,在不同领域和粒度的各种公共基准测试中表现出令人印象深刻的零样本性能。

快速链接


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

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

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

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

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

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

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

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

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

预训练数据

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

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

零样本评估结果

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

我们使用Monash预测档案评估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趋势和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。

标签:

  • 机器智能
  • 产品