系列文章目录
时间序列预测的一个仅解码器基础模型
文章目录
摘要
受自然语言处理(NLP)大型语言模型的最新进展的启发,我们设计了一个时间序列基础模型,用于预测其在各种公共数据集上的开箱即用的零射击性能接近每个数据集的最先进监督预测模型的准确性。我们的模型是基于预训练解码器风格的注意力模型与输入修补,使用一个大型的时间序列语料库,包括真实世界和合成数据集。在一组不同的以前看不见的预测数据集上进行的实验表明,该模型可以在不同的领域、预测范围和时间粒度上产生准确的零预测。
一、引言
时间序列数据在零售、金融、制造、医疗保健和自然科学等各个领域无处不在。在许多这些领域中,时间序列数据最重要的用例之一是预测。时间序列预测对于一些科学和工业应用至关重要,如零售供应链优化、能源和交通预测以及天气预报。近年来,深度学习模型[SFGJ20,OCCB19]已成为预测丰富的多变量时间序列数据的流行方法,通常优于ARIMA或GARCH [BJ68]等经典统计方法。在几个预测竞赛中,如M5竞赛[MSA22]和IARAI Questic4cast竞赛[KKN+21],基于深度网络的解决方案表现非常好。
与此同时,我们正在目睹自然语言处理(NLP)领域在下游NLP任务的大型基础模型上的快速进展。大型语言模型(LLM)越来越受欢迎,因为它们可用于生成文本、翻译语言、编写不同类型的创意内容以及以信息丰富的方式回答您的问题[RWC+19]。它们接受大量数据的训练,这使它们能够学习人类语言的模式。这使得它们成为非常强大的工具,可用于各种下游任务,通常处于零触发学习模式。
这就引出了一个问题:“在大量时间序列数据上训练的大型预训练模型能否学习时间模式,从而对以前看不见的数据集的时间序列预测有用?”特别是,我们能否设计一个时间序列基础模型,获得良好的零冲击开箱即用的预测性能?如果可能的话,这种预先训练的时间序列基础模型将为下游预测用户带来显着的好处,因为没有额外的培训负担,并显着降低了计算要求。这并不是立即明显的,这样一个基础模型的时间序列预测是可能的。与NLP不同,时间序列没有定义良好的词汇或语法。此外,这样的模型需要支持具有不同历史长度(上下文)、预测长度(范围)和时间粒度的预测。此外,与用于预训练语言模型的大量公共文本数据不同,大量的时间序列数据并不容易获得。尽管存在这些问题,但我们提供的证据可以肯定地回答上述问题。
特别是,我们设计了TimesFM,这是一个用于时间序列预测的单一基础模型,当应用于不同领域的各种以前未见过的预测数据集时,可以获得接近最先进的零射击精度(与针对这些数据集单独训练的最佳监督模型相比)。我们的模型可以很好地工作在不同的预测历史长度,预测长度和时间粒度在推理时间。我们的基础模型的关键要素有两个方面:1)使用真实世界和真实世界构建的大规模时间序列语料库(主要是来自网络搜索查询1和维基百科页面访问2的时间序列数据)和合成数据,这满足了训练我们的基础模型所需的数据量和多样性,以及2)具有输入修补的解码器风格注意力架构,可以在这个时间序列语料库上有效地进行预训练。
与最新的大型语言模型相比,我们的时间序列基础模型在参数大小(200 M参数)和预训练数据大小(O(100 B)时间点)方面都要小得多;但我们表明,即使在这样的规模下,也可以预训练一个实用的基础模型来预测,其零次性能接近于对不同时间序列数据集的全监督方法的准确性。我们的工作还表明,与最近推荐GPT-3和LLama-2等大型语言模型作为开箱即用的零触发预测器的工作不同,完全基于时间序列数据从头开始训练的基础模型可以以其成本的一小部分获得更好的零触发性能。
二、Related Work
在过去的十年中,深度学习模型[SFGJ 20,OCCB 19]已经成为在大型训练数据集存在的情况下预测时间序列的有力竞争者,并且已经被证明优于传统的统计方法,如ARIMA和指数平滑[McK 84]。预测模型可以大致分为:(i)局部单变量模型,包括ARIMA等传统方法,指数平滑[McK 84]和Prophet [TL 18]等非自回归模型。这些模型是针对数据集中的每个时间序列单独训练的,以便预测相应时间序列的未来。(ii)全局单变量模型,如DeepAR [SFGJ 20],时间卷积[BBO 17],N-BEATS [OCCB 19]和长期预测模型,如[NNSK 22,DKL+23],这些模型在许多时间序列上进行全局训练,但在推理过程中,它们预测时间序列的未来作为其自身过去和其他相关协变量的函数。(iii)全局多变量模型,采用数据集中所有时间序列的过去来预测所有时间序列的未来。这些模型包括经典的VAR模型[ZW 06]以及深度学习模型[SYD 19,ZMW+22,CLY+23]等。
上面引用的所有工作主要应用于监督环境,但PatchTST [NNSK 22]和N-BEATS [OCCB 19]除外。PatchTST中有一节介绍了半监督设置下的数据集到数据集的迁移学习。[OCCB 21]还表明,N-BEATS架构有助于在各种源-目标数据集对之间转移学习。然而,这些工作中没有一个旨在训练可以在过多的数据集上工作的单个基础模型。关于时间序列中迁移学习的深入讨论,我们请读者参考[MLZ+23]中的调查。
最近有一些关于重用或微调大型语言模型进行时间序列预测的工作。特别是,[GSTW 23]对预训练的LLM(如GPT-3和LLaMA-2)进行了零触发预测性能的基准测试。正如我们稍后所展示的,我们的模型在这些模型大小的一小部分上获得了更优越的上级零射击性能。[ZNW+23]和[CPC 23]展示了如何微调GPT-2 [RWC+19]骨干模型以进行时间序列预测任务。除了迁移学习研究(在源数据集上训练后在目标数据集上进行预测)之外,这些论文主要关注在目标数据集上微调预训练模型,而不是在各种数据集上预训练具有良好的开箱即用零命中性能的单个基础模型。据我们所知,TimeGPT-1 [GMC 23]中最近的工作是时间序列预测的零炮基础模型的唯一其他并行工作。然而,该模型并非公开访问,几个模型细节和基准数据集尚未披露。
三、Problem Definition
目前的任务是建立一个通用的零触发预测器,它将时间序列的过去C个时间点作为背景,并预测未来H个时间点。让上下文由 y 1 : L : = { y 1 , ⋯ , y L } \mathbf{y}_{1:L}:=\{y_{1},\cdots,y_{L}\} y1:L:={y1,⋯,yL}表示,其中我们遵循用于索引的类似numpy的符号。类似地,水平线中的实际值表示为 y L + 1 : L + H \mathbf{y}_{L+1:L+H} yL+1:L+H。请注意,由于我们正在构建一个单独的预训练模型,因此在训练期间不能使用特定于数据集的动态或静态协变量。接下来的任务是学习一个基础模型,该模型可以将任何时间序列上下文映射到地平线,
预测的准确性可以通过量化其与实际值的接近程度的度量来测量,例如,在等式6中定义的平均绝对误差(MAE)。
四、 Model Architecture
时间序列预测的基础模型应该能够适应变化的背景和时间跨度,同时具有足够的容量来编码来自大型预训练数据集的所有模式。Transformer已经被证明能够适应NLP中不同的上下文长度[RWC+19]。但是,有几种特定于时间序列的设计选择。我们架构的主要指导原则如下:
打补丁。在最近的长期预测工作[NNSK22]中,基于补丁的建模取得了成功,受此启发,我们也选择在训练期间将时间序列分解为补丁。时间序列的补丁是语言模型中标记的自然类似物,并且补丁已经被证明可以提高性能。此外,这提高了推断速度,因为被馈送到Transformer中的令牌的数量被减少了补丁长度的因子。另一方面,将补丁长度一直增加到上下文长度,会使我们远离只需要解码器的训练,以及随之而来的效率。我们将在6.2节中对此进行深入研究。
仅限解码器型号。我们的架构与PatchTST [NNSK22]之间的关键区别在于,我们的模型是在仅解码器模式[LSP+18]下训练的。换句话说,给定一系列输入面片,优化模型以预测作为所有过去面片的函数的下一个面片。类似于LLM,这可以在整个上下文窗口上并行地完成,并且在已经看到不同数量的输入补丁之后,自动地使模型能够预测未来。
更长的输出补丁。在LLM中,始终以自回归方式一次生成一个令牌来生成输出。然而,在长期预测中,已经观察到直接预测整个时间范围比多步自回归解码产生更好的准确性[ZCZX23]。但是,当视界长度不是先验已知的时候,这是不可能的,就像我们的主要目标是零炮预测的情况一样。
我们提出了一个中间地带,允许我们的输出补丁预测比输入补丁更长。作为示例,假设输入贴片长度为32,输出贴片长度为128。在训练期间,同时训练模型以使用前32个时间点来预测接下来的128个时间步长,使用前64个时间点来预测时间步长65至192,使用前96个时间点来预测时间步长97至224,等等。在推断期间,假设模型被给予长度为256的新的时间序列,并且其任务是预测未来的接下来的256个时间步。该模型将首先生成时间步257至384的未来预测,然后以初始256长度输入加上生成的输出为条件以生成时间步385至512。另一方面,如果在一个模型中,输出补丁长度固定为输入补丁长度32,那么对于相同的任务,我们将不得不经历8个自回归生成步骤,而不仅仅是上面的2个。然而,有一个权衡。如果输出面片长度太长,则很难处理长度小于输出面片长度的时间序列,例如我们的预训练数据中的月、年时间序列。
补丁程序屏蔽。如果我们单纯地使用补丁,模型可能只会学习对输入补丁长度的倍数的上下文长度进行良好的预测。因此,我们在训练时要谨慎使用掩蔽。在数据批处理中,可以屏蔽上下文窗口开头的部分面片和整个面片。我们在训练期间采用特定的随机掩蔽策略(稍后描述),其帮助模型查看从1到最大上下文长度的所有可能的上下文长度。
现在我们已经提到了指导原则,接下来我们正式描述我们的模型架构的每个组件(如图1所示),我们将其命名为TimesFM(时间序列基础模型)。
输入图层。输入层的工作是将时间序列预处理为Transformer层的输入令牌。我们首先将输入分解为相邻的非重叠面片。然后,每个面片由残差块处理成大小为model_dim.的向量。与输入沿着,我们还提供二进制填充掩码 m 1 : L \mathrm{m}_{1:L} m1:L,其中1表示 y 1 : L \mathbf{y}_{1:L} y1:L中的对应输入应当被忽略,反之亦然。残差块本质上是一个多层感知器(MLP)块,其中一个隐藏层具有跳过连接,与[DKL+23]中定义的相似。
换句话说,输入 y 1 : L \mathbf{y}_{1:L} y1:L被分解为大小为input_patch_len(p)的补丁。第j个面片可以表示为 y ~ j = y p ( j − 1 ) + 1 : p j \tilde{\mathbf{y}}_{j}=\mathbf{y}_{p(j-1)+1:pj} y~j=yp(j−1)+1:pj。类似地,掩码也可以修补为 m ~ j = m p ( j − 1 ) + 1 : p j \tilde{\mathbf{m}}_{j}=\mathbf{m}_{p(j-1)+1:pj} m~j=mp(j−1)+1:pj。则到后续Transformer层的第j个输入令牌可以表示为,
其中,PE j表示原始Transformer论文[VSP+17]中定义的第j个位置编码。将有 N = ⌊ L / p ⌋ N=\lfloor L/p\rfloor N=⌊L/p⌋个这样的输入令牌。
堆叠式Transformer。我们的模型中的大部分参数在num_layers(nl)个相互堆叠的Transformer层中。这些层中的每一层都具有标准的多头自关注(SA),其后是前馈网络(FFN)。主要的超参数是model_dim,其等于输入标记tj’s的维数和头的数目(num_heads)。我们也将FFN的隐藏大小设置为等于model_dim。我们使用因果注意,即每个输出标记只能注意到序列中在它之前的输入标记(包括相应的输入标记)。这可以通过以下等式来描述
对于所有j ∈ [N]。 m ˙ j \dot{m}_{j} m˙j是定义为 min { m p ( j − 1 ) + 1 : p j } \operatorname*{min}\{\mathbf{m}_{p(j-1)+1:pj}\} min{mp(j−1)+1:pj}的第j个令牌的屏蔽指示符,即,如果补丁具有任何未屏蔽的时间点,则相应的令牌被标记为未被屏蔽。所有被完全掩盖的斑块都不会受到因果自我注意的关注。
输出图层。剩下的任务是将输出标记映射到预测。我们在仅解码器模式下训练,即,每个输出标记应当能够预测跟随在与之对应的最后输入补丁之后的时间序列的部分。这对于像[RWC+19]这样的流行的大型语言模型是常见的。然而,在我们的时间序列基础模型中的一个关键区别是,输入补丁长度不需要等于输出补丁长度,即,我们应该能够基于迄今为止看到的来自输入补丁的编码信息来预测更大的时间序列块。设输出面片长度为output_patch_len(h)。我们使用另一个残差块来将输出标记映射到预测。这可以被描述为,
因此,我们将
y
1
:
p
j
\mathbf{y}_{1:pj}
y1:pj中的所有数据编码为
o
j
o_j
oj,并使用它来预测随后的h个时间点
y
p
j
+
1
:
p
j
+
h
\mathbf{y}_{pj+1:pj+h}
ypj+1:pj+h。这是针对一个训练小批中的所有补丁完成的。
损失函数。在本工作中,我们的重点是点预测。因此,我们可以在训练期间使用点预测损失,如均方误差(MSE)。在训练期间最小化的损失可以表示为,
请注意,如果对概率预测感兴趣,那么很容易为每个输出补丁设置多个输出头,每个头最小化单独的分位数损失,如[WTNM 17]所示。另一种方法可以是输出概率分布族的logits,并最小化概率预测的最大似然损失[ADSS 21,SFGJ 20]。
训练我们用标准的小批量梯度下降训练模型,以仅解码器的方式,通过一个时间序列和跨时间序列的所有窗口。唯一不规范的部分是我们在训练期间对面罩进行采样的方式。对于批次中的每个时间序列,我们在0和p − 1之间抽取一个随机数r。然后,我们设置m1:r = 1,其余的为零,即,我们屏蔽掉第一个输入面片的一部分。然而,这足以覆盖从1到最大训练上下文长度的所有输入上下文长度。我们通过以下示例对此进行解释:
假设最大上下文长度为512,p = 32。然后如果r = 4,则在看到第一个补丁(来自o1)后的输出预测被优化为在看到28 = 32 − 4个时间点后进行预测,下一个补丁(来自o2)的输出被优化为在看到28 + 32个时间点后进行预测,依此类推。当对所有这样的r重复这个参数时,模型已经看到了所有可能的上下文长度,直到512。
推论。使用类似于大型语言模型的自回归解码,训练的网络可用于产生任何范围的预测。给定一个输入 y 1 : L \mathbf{y}_{1:L} y1:L(为简单起见,假设L是p的倍数),它首先可以预测 y ^ L + 1 : L + h \hat{\mathbf{y}}_{L+1:L+h} y^L+1:L+h。然后,我们可以使用级联向量 y ~ 1 : L + h = [ y 1 : L ; y ^ L + 1 : L + h ] \tilde{\mathbf{y}}_{1:L+h}=[\mathbf{y}_{1:L};\hat{\mathbf{y}}_{L+1:L+h}] y~1:L+h=[y1:L;y^L+1:L+h]作为网络的输入,以生成下一个输出补丁预测 y ^ L + h + 1 : L + 2 h \hat{\mathbf{y}}_{L+h+1:L+2h} y^L+h+1:L+2h,依此类推。如果L不是p的倍数,我们只需添加零,使其成为p的倍数,并将掩码中相应的条目标记为1。
五、 Pretraining Details
我们希望我们的预训练语料库包括大量的时态数据,这些时态数据代表各种领域、趋势和季节性模式以及时间粒度,这些数据可以理想地捕获我们有兴趣通过部署的模型提供服务的预测用例。很难找到一个大型的时间序列数据集,满足训练我们的基础模型所需的数据量和多样性。为了解决这个问题,我们从三个主要来源获取了用于训练模型的大量数据:Google趋势、Wiki页面视图统计数据和合成时间序列。总而言之,主要数据来源是:
谷歌趋势。Google Trends 3捕获了数百万个查询随时间推移的搜索兴趣。我们根据2007年至2022年15年间的搜索兴趣,选择了大约22k个头部查询。除了这些头部查询之外,时间序列变得多于50%稀疏。我们以小时、每天、每周和每月的粒度下载这些查询随时间的搜索兴趣,以形成我们的数据集。每小时的日期范围为2018年1月至2019年12月,其他粒度的日期范围为2007年1月至2021年12月。趋势数据集总计约为0.5亿个时间点。
Wiki页面视图。维基页面浏览量4捕获所有维基媒体页面的每小时浏览量。我们下载了2012年1月至2023年11月的所有页面浏览量数据,按照小时、日、周、月的粒度对页面浏览量进行了清理和聚合,过滤掉了零值过多的页面浏览量时间序列。最终的语料库包含大约300B个时间点。
合成数据。我们的预训练数据的另一个主要组成部分是合成的。我们为阿尔马[McK84]过程、季节性模式(不同频率的西内斯和余弦的混合)、趋势(线性、具有几个变化点的指数)和阶跃函数创建生成器。合成时间序列可以是这些过程中的一个或多个的相加组合。我们创建了3M个合成时间序列,每个序列的长度为2048个时间点。有关我们的合成数据生成的更多详细信息,请参见附录A.8。
其他真实世界数据源。沿着wiki和趋势数据,我们还将来自其他几个公开数据集的时间序列添加到我们的预训练语料库中。我们添加了M4数据集[MSA22]、每小时和15分钟电力以及每小时交通数据集的所有粒度(参见[ZZP+21])。我们还在[ZZP+21]中添加了用于评估的10分钟粒度天气数据集。M4具有良好的粒度混合,总共约100k个时间序列。交通和电力是大型的长期预测数据集,具有> 800和> 300个时间序列,每个时间序列具有数万个时间点。此外,我们添加了来自[WJJ+23]的所有15分钟粒度流量时间序列。
数据集混合和培训。我们在这些数据集上的混合分布上进行训练,目的是为所有粒度和数据集提供足够的权重。训练加载器对80%的真实的数据和20%的合成数据进行采样,其中真实的数据混合为各组提供相等的权重:每小时+次每小时、每日、每周和每月数据集。只要时间序列的长度允许,我们就使用最大上下文长度512进行训练。对于每周粒度,我们没有足够长的时间序列;因此使用的最大上下文长度为256。出于同样的原因,在对≥每月粒度数据进行训练时,使用最大上下文长度64。我们还仅使用可逆实例归一化的标准归一化部分[KKT+21] -即,每个时间序列的上下文由上下文中第一个输入补丁的上下文均值和标准差缩放。
图2:我们报告了三组数据集的平均性能。在所有图中,度量越低越好,误差线表示一个标准误差。注意,在基线中,只有TimesFM和llmtime是零激发的。在(a)中,我们报告了莫纳什数据集的结果。由于数据集具有不同的尺度,因此我们采用由原始基线的MAE缩放的MAE的几何平均值(GM)。我们可以看到时代调频堪称超模。在(B)中,我们报告了Darts基准上的相似比例的MAE。TimesFM在最佳性能方法的显著性范围内,在这种情况下,最佳性能方法是ARIMA和llmtime。请注意,这些数据集每个都有一个时间序列,因此统计方法与深度学习方法相比具有竞争力。最后,在(c)中,我们报告了4个ETT数据集上96个和192个地平线预测任务的平均MAE,即总共8个任务。TimesFM和PatchTST是性能最好的模型
六、 Empirical Results
我们在三组众所周知的公共数据集上对每组的最佳性能基线进行了零拍摄设置,以评估我们的模型。这些数据集是故意从我们的预训练数据中保留下来的。我们发现,即使基线是针对每个特定任务进行专门训练或调整的,单个预训练模型也可以接近或超过基线模型在基准测试中的性能。随后,我们进行消融研究,证明我们的架构中所做的不同选择是合理的。
6.1 Zero-shot Evaluation
为了对我们模型的性能进行基准测试,我们选择了三组常用的预测数据集,这些数据集涵盖了各种领域,大小,粒度和水平长度:Darts [HLP+22],莫纳什[GBW+21]和Informer数据集[ZZP+21],以测试我们的基础模型对其他基线的泛化能力。
在所有情况下,我们都报告了数据集的官方度量和缩放的性能,使用他们的标准测试分割或其他文献中的常见测试分割。我们在下面提供了结果总结-更多详细信息可参见附录A.5。我们在附录A.6中提供了关于我们模型的超参数和其他细节。
莫纳什[GBW+21]。莫纳什档案是30个不同训练和预测长度的数据集的集合,涵盖了从几分钟到几年的粒度和包括金融,需求预测,天气和交通在内的领域。该档案报告了几个统计基线的四个官方指标,如指数平滑(ETS)和ARIMA,以及监督的ML基线,如CatBoost [PGV+18],DeepAR [SFGJ20]和WaveNet [ODZ+16]。在llmtime [GSTW23]之后,我们从莫纳什Huggingface存储库5开始,过滤掉包含缺失值的数据集。这给我们留下了18个数据集,我们在附录A.5.2中指定。
在四个官方指标中,根据先前的工作[GEOW23],我们报告了平均MAE的表现(见附录A.2)。由于数据集具有巨大的不同尺度,因此对于每个数据集,我们通过一个简单的基线实现的度量标准化度量,该基线只是不断预测每个时间序列的上下文中的最后一个值。然后,在所有数据集上对缩放的MAE进行平均。缩放聚合也用于[GSTW23]。在图2a中,我们使用几何平均值(GM)进行平均,因为它对于归一化度量更稳健[FW 86]。我们还在附录的图4中报告了基于算术平均值的聚合指标。
所有数据集的平均比例MAE与标准误差条一起绘制在图2a沿着。我们将TimesFM的性能与莫纳什中实现的基线模型以及使用GPT-3 [RWC+19]和特定提示技术的零拍摄llmtime [GSW 23]模型进行了比较。请注意,零拍摄模型标记为(Zero-Shot)。TimesFM是顶级模型,尽管我们从未在这些数据集上训练过。它稍好,但在N-BEATS的显著性范围内,但优于DeepAR [SFGJ 20]等深度监督模型,并将llmtime的性能提高了25%以上。
飞镖[HLP+22]。这是8个单变量数据集的集合,其中包括有趣的季节性和加法+乘法趋势。我们报告了Darts包中实现的几个基线的性能,如TCN [LVRH 16],N-HiTS [COO+23]和N-BEATS [OCCB 19]。所有这些基线都受到监督。如前所述,我们还报告了使用GPT-3 [RWC+19]的llmtime [GSTW 23]的零炮预测结果。在[GSTW 23]中还添加了其他监督基线,如SM-GP [WA 13]和ARIMA [McK 84]。
我们在附录A.5中报告了该数据集组的官方指标,即每个单独数据集的MAE。在图2b中,我们展示了所有8个数据集的平均比例MAE,就像我们对莫纳什数据集所做的那样。在这种情况下,TimesFM在最佳模型(即时间和季节ARIMA)的统计显著性范围内。请注意,由于该数据集组中只有8个单独的时间序列,因此标准误差并不明显,因此无法提供模型之间的明确顺序。此外,请注意,对于ARIMA,季节性需要在参数中正确编码以获得最佳结果,这需要手动调整。此外,由于这些数据集在许多时间序列博客文章中用于说明目的,因此不能排除llmtime的数据污染。
举报人[ZZP+21]。Informer数据集已被广泛用于对各种有监督的长期预测方法进行基准测试。其中一些数据集用于预训练,因此我们专注于此集合中的其他数据集(ETTm1,ETTm2。ETTh1和ETTh2)与两年期间的电力Transformer温度相关,粒度为1小时15分钟。请注意,长期基线通常会报告测试集上的滚动验证结果,这将相当于数百万个令牌用于评估llmtime [GSTW23],并且成本太高。因此,在llmtime之后,我们在最后一个测试窗口上比较所有方法。此外,直接平均这些数据集的MAE是合理的,因为结果是在标准归一化数据集上报告的(使用训练部分的统计数据)。
我们考虑预测水平长度96和192的任务,给定所有方法的上下文长度为512。所有8个任务(4个数据集,每个数据集有两个视野)的平均MAE见图2b。TimesFM表现最好,监督PatchTST [NNSK22]基线(这是一种最先进的长期深度预测方法)在其显著性范围内。其他长期方法即使经过这些数据集的训练也要差得多。llmtime优于FEDFormer,但差于PatchTST,具有统计学意义。我们在附录A.9中提供了预测的可视化示例,其中沿着基线。
6.2 Ablation
接下来,我们进行了几项消融研究,这些研究为我们为模型架构所做的设计决策提供了信息。缩放比例。在LLM的背景下,关于模型中参数数量的性能曲线已经成为一个深入研究的领域。[KMH+20]建立了语言模型中参数个数与其下游性能之间的幂律关系,即参数个数越多,性能越好。
然而,[HBM+22]建立了一个更细致入微的比例律,它给出了基于训练数据集中可用的标记数量来训练计算最优模型的方法。我们执行了初步的缩放研究,其中我们使用相同的预训练数据集训练三个TimesFM模型,其大小分别为17M、70M和200M参数,直到150万次迭代,全局批处理大小为4096。然后,我们在不同的模型运行中收集代表不同数量FLOPS(浮点运算)的检查点。然后,我们将莫纳什上的Scaled MAE(GM)性能作为FLOPS的函数进行绘制,如图3a所示。这是目前在LLM中进行缩放研究的标准方法(参见最近的工作,如[GD23])。可以清楚地看到,误差随着FLOPS的数量(以对数标度)单调减小。所有实验均在具有16个张量芯的TPUv5e6装置上进行。对于200M模型,在我们的设置上完成150万次迭代需要2天时间。自回归解码。在最近的长期预测工作[ZCZX23,NNSK22,DKL+23]中,已经观察到,从解码器一次直接预测整个预测时域可以在长时域基准上产生比自回归解码更好的结果。对于基础模型,在推理时间之前不知道任务的时域长度,因此对于非常长的时域,一次解码可能是不可能的。然而,如前所述,通过保持output_patch_len比input_patch_len长,可以确保较少的自回归步骤。这是TimesFM设计中的关键决策之一,它与LLM有很大不同。为了展示这一点,我们选择了在ETT测试集的原始滚动验证任务[ZZP+21]上预测未来512个时间步长的ETT数据集。在图3b中,我们展示了output_patch_len从8到128变化的模型的结果。我们看到平均MAE随output_patch_len单调下降。
输入面片长度。input_patch_len的大小是一个重要的权衡。我们已经典型地看到,将其值从8增加到32提高了性能,但是具有太高的input_patch_len是不切实际的,因为这使得模型从仅解码器训练更多地向编码器-解码器风格训练转变。请注意,在第4节的“培训”段落中,我们描述了支持任何上下文长度的掩码采样策略。如果在极端情况下,p被设置为最大上下文长度,则我们必须单独地对从1到最大上下文长度的所有可能的上下文窗口进行采样,这将是编码器-解码器类型的训练所需要的。在图3c中,我们显示了在莫纳什上的平均缩放MAE(GM)TimesFM(ZS)-70 M模型,input_patch_len的变化范围为8到128。注意,两个模型都被训练到大约1.5M步,即使p=8的模型训练慢三倍。我们可以看到,p = 16,32标志着最佳性能,误差向两端增大。请注意,与p = 16相比,p = 32模型的训练速度几乎是p = 16模型的两倍,因此构成了谨慎的选择。
数据集消融。接下来,我们将展示对合成数据的需求。直观地说,我们的大多数真实的数据集通常都有像每小时、每天等这样的粒度,这些粒度具有特定的周期模式,例如每小时数据的24个时间点周期。这可能会使模型不能很好地推广到代表性不足的频率。我们训练了一个200 M模型,其中没有在混合数据中添加合成数据,并在图3中展示了莫纳什和ETT数据集的性能。可以看出,莫纳什上的性能有所下降,因为莫纳什中的许多数据集的粒度(如季度、年度或10分钟等)表示不足。也许更有说服力的是ETT数据集上的比较。我们可以看到,在具有良好表示粒度的每小时ETTh数据集上,两种模型之间几乎没有差异。然而,对于15分钟ETTm数据集,使用合成数据的模型表现得更好。我们在与附录A.3中[ZNW+23]相同的设置下提供了一项微调研究,其中我们的模型在所有报告的数据集上的表现优于所有基线。这显示了我们的模型在下游任务上的效用。
7 Conclusion
在本文中,我们介绍了TimesFM,这是一种实用的基础预测模型,其零触发性能接近于各种时间序列数据集上的全监督预测模型的准确性。该模型在真实世界和合成数据集上进行了预训练,包括O(100B)时间点。我们在附录A.1中更详细地讨论了局限性和未来的工作。