当前位置:AIGC资讯 > AIGC > 正文

高质量论文中文翻译:Lag-Llama: 朝向基础模型的概率时间序列预测 Lag-Llama: Towards Foundation Models for Probabilistic Time S

Lag-Llama: 朝向基础模型的概率时间序列预测
Lag-Llama: Towards Foundation Models for Probabilistic Time Series Forecasting

文章目录

摘要 介绍 我们的贡献: 相关工作 概率时间序列预测 Lag-Llama 标记化:滞后特征 Lag-Llama 架构 分布头的选择 值的缩放 训练策略 实验设置 数据集 基准模型 超参数搜索和模型训练设置 推断和模型评估 结果 零样本和新数据上的微调性能 少样本适应在未见数据上的性能 分析 数据多样性 规模分析 讨论 影响声明 数据集详情 协议细节 附加实证结果 预训练数据集上的结果 Lag-Llama 的超参数 预测可视化 附加可视化 神经缩放定律

摘要

arXiv:2310.08278v3 [cs.LG] 2024年2月8日

原始论文链接:https://arxiv.org/pdf/2310.08278

在过去的几年中,基础模型由于其前所未有的零样本和少样本泛化能力,在机器学习领域引起了一场范式转变。然而,尽管基础模型在自然语言处理和计算机视觉等领域取得了成功,但是在时间序列预测方面,基础模型的发展却滞后了。我们提出了Lag-Llama,一种通用的基础模型,用于基于解码器的变压器架构的单变量概率时间序列预测,该模型使用滞后作为协变量。Lag-Llama在来自多个领域的多样化时间序列数据的大型语料库上进行了预训练,并在跨领域的下游数据集上与各种预测模型进行了零样本泛化能力的比较。此外,当在相对较小的未见过的数据集上进行微调时,Lag-Llama实现了最先进的性能,在平均水平上优于之前的深度学习方法,成为最好的通用模型。Lag-Llama在时间序列预测领域是一个强有力的竞争者,并为未来针对时间序列数据的基础模型的进一步发展铺平了道路。

介绍

概率时间序列预测是一个重要的实际问题,涉及到各种应用领域,从金融和天气预报到脑成像和计算机系统性能管理(Peterson, 2017)。准确的概率预测通常是在这些实际领域中后续决策的重要步骤。这种预测的概率性质赋予决策者一种不确定性的概念,使他们能够考虑各种未来情景及其相应的可能性。已经提出了各种方法来解决这个问题,从经典的自回归模型(Hyndman & Athanasopoulos, 2021)到基于深度学习架构的最新神经预测方法(Torres et al., 2021)。需要注意的是,这些先前方法中绝大多数都是专注于构建特定数据集的模型,即在进行训练的同一数据集上进行测试的模型。

然而,最近,机器学习领域正在经历一场范式转变,这是由于基础模型(Bommasani et al., 2022)的崛起——大规模、通用的神经网络,在各种数据分布上以无监督的方式进行预训练。这些模型在各种下游数据集上展现出了非凡的少样本泛化能力(Brown et al., 2020a),通常优于特定数据集的模型。在基于语言和图像处理领域的基础模型取得成功之后(OpenAI, 2023; Radford et al., 2021),我们的目标是开发适用于时间序列的基础模型,研究其在大规模情况下的行为,并推动在不同时间序列领域之间可实现的转移极限。

在本文中,我们提出了Lag-Llama——一种基于大量开放时间序列数据训练的概率时间序列预测基础模型,并在未见过的时间序列数据集上进行了评估。我们研究了Lag-Llama在不同数据历史水平下遇到未见过的时间序列数据集时的性能,并展示了Lag-Llama与最先进的特定数据集模型相比的性能。

我们的贡献:

我们提出了Lag-Llama,一种基于简单的解码器-只有变压器架构的单变量概率时间序列预测基础模型,该模型使用滞后作为协变量。

我们展示了Lag-Llama在从头开始在广泛、多样化的数据集语料库上进行预训练时,在未见过的数据集上具有强大的零样本性能,并且与在特定数据集上训练的模型相比表现相当。

Lag-Llama在不同领域的多样化数据集上展示了最先进的性能,在微调后成为最好的通用模型,而无需了解下游数据集。

我们展示了Lag-Llama在先前未见过的数据集上的强大少样本适应性能,包括不同数据历史水平的变化。

我们研究了用于训练Lag-Llama的预训练语料库的多样性,并呈现了Lag-Llama相对于预训练数据的扩展规律。

相关工作

统计模型是时间序列预测的基石,不断发展以应对复杂的预测挑战。传统模型如ARIMA(自回归移动平均)通过使用自相关性来预测未来值,为此奠定了基础。ETS(误差、趋势、季节性)模型通过将时间序列分解为其基本组成部分,实现了更细致的预测,捕捉了趋势和季节模式。Theta模型,由Assimakopoulos & Nikolopoulos(2000)引入,是时间序列预测的另一个重要进展。通过应用结合长期趋势和季节性的分解技术,这些模型提供了一种简单而有效的预测方法。尽管这些统计模型和更先进的模型(Croston, 1972; Syntetos & Boylan, 2005; Hyndman & Athanasopoulos, 2018)取得了相当大的成功,但它们都存在共同的局限性。它们的主要缺点在于它们对时间序列数据中的线性关系和平稳性的固有假设,而在真实世界的情况下,时间序列数据往往具有突变和非线性动态。此外,它们可能需要广泛的手动调整和特定离散集合的样本,以选择适合特定预测任务的适当模型和参数。

神经预测是随着机器学习的爆炸而迅速发展的研究领域(Benidis et al.,2022)。为此,已经开发了各种架构,从基于RNN和LSTM的模型(Salinas et al., 2020; Wen et al., 2018)开始。最近,鉴于变压器(Vaswani et al., 2017)在自然语言处理的序列到序列建模中的成功,许多变压器的变体已被提出用于时间序列预测。不同的模型(Nie et al., 2023a; Wu et al., 2020a;b)以不同的方式处理输入时间序列,以便能够被普通的变压器所理解,然后重新处理变压器的输出,进行点预测或概率预测。另一方面,其他各种工作提出了替代性的注意力策略,并在变压器架构的基础上构建了更好的针对时间序列的模型(Lim et al., 2021; Li et al., 2023; Ashok et al., 2023; Oreshkin et al., 2020a; Zhou et al., 2021a; Wu et al., 2021; Woo et al., 2023; Liu et al., 2022b; Zhou et al., 2022; Liu et al., 2022a; Ni et al., 2023; Li et al., 2019; Gulati et al., 2020)。

基础模型是一种新兴的自监督(或无监督)学习范式,基于大规模数据集进行预训练(Bommasani et al., 2022)。许多这样的模型(Devlin et al., 2019; OpenAI, 2023; Chowdhery et al., 2022; Radford et al., 2021; Wang et al., 2022)展示了跨模态的适应性,扩展到科学领域等领域,如蛋白质设计(Robert Verkuil, 2022)。模型的规模、数据集大小和数据多样性也被证明具有显著的转移能力和出色的少样本学习能力(Thrun & Pratt, 1998; Brown et al., 2020b)。自监督学习技术也已被提出用于时间序列(Li et al., 2023; Woo et al., 2022a; Yeh et al., 2023)。与我们的工作最相关的是Yeh等人(2023),他们在时间序列数据集的语料库上进行了训练。主要区别在于他们仅在下游分类任务上验证了他们的模型,并没有在预测任务上进行验证。像Time-LLM(Jin et al., 2023)、LLM4TS(Chang et al., 2023)、GPT2(Zhou et al., 2023a)、UniTime(Liu et al., 2023)和TEMPO(Anonymous, 2024)这样的工作在微调/适应输入和分布头部进行预测时,冻结了LLM编码器的骨干部分。我们的工作的主要目标是将基础模型方法应用于时间序列数据,并研究在广泛的时间序列领域中可实现的转移范围。

概率时间序列预测

我们考虑一个包含 D ≥ 1 D \geq 1 D≥1个单变量时间序列的数据集, D train  = { x 1 : T i i } i = 1 D \mathcal{D}_{\text {train }}=\left\{x_{1: T^{i}}^{i}\right\}_{i=1}^{D} Dtrain ​={x1:Tii​}i=1D​,在特定的离散时间点 t ∈ { 1 , … , T i } t \in\left\{1, \ldots, T^{i}\right\} t∈{1,…,Ti}上进行采样,其中 T i T^{i} Ti表示时间序列 i i i的长度。在给定这个数据集的情况下,我们的目标是训练一个能够准确预测未来 P ≥ 1 P \geq 1 P≥1个时间点的值的预测模型;我们将这些时间步骤称为测试数据集,表示为

D test  = { x T i + 1 : T i + P i } i = 1 D . \mathcal{D}_{\text {test }}=\left\{x_{T^{i}+1: T^{i}+P}^{i}\right\}_{i=1}^{D} . Dtest ​={xTi+1:Ti+Pi​}i=1D​.

单变量概率时间序列预测问题涉及对一个一维序列的 P P P个未来值的未知联合分布进行建模,给定其观察到的过去直到时间步长 t t t以及协变量:

p ϕ ( x t + 1 : t + P i ∣ x 1 : t i , c 1 : t + P i ) . p_{\phi}\left(x_{t+1: t+P}^{i} \mid x_{1: t}^{i}, \mathbf{c}_{1: t+P}^{i}\right) . pϕ​(xt+1:t+Pi​∣x1:ti​,c1:t+Pi​).

其中 ϕ \phi ϕ表示参数化分布的参数。实际上,我们可以选择固定子样本时间序列 i i i的整个历史记录,这可能会有很大的变化,而是选择对其进行子采样。
p ϕ ( x C + 1 : C + P i ∣ x 1 : C i , c 1 : C + P i ) . p_{\phi}\left(x_{C+1: C+P}^{i} \mid x_{1: C}^{i}, \mathbf{c}_{1: C+P}^{i}\right) . pϕ​(xC+1:C+Pi​∣x1:Ci​,c1:C+Pi​).

当使用具有参数 θ \theta θ 的神经网络对分布进行建模时,预测将基于这些(学习到的)参数 θ \theta θ 进行条件化。我们将使用自回归模型来近似公式(2)中的分布,使用概率的链式法则,如下所示:

p ϕ ( x C + 1 : C + P i ∣ x 1 : C i , c 1 : C + P i ; θ ) = ∏ t = C + 1 C + P p ϕ ( x t i ∣ x 1 : t − 1 i , c 1 : t − 1 i ; θ ) \begin{aligned} p_{\phi}\left(x_{C+1: C+P}^{i} \mid x_{1: C}^{i},\right. & \left.\mathbf{c}_{1: C+P}^{i} ; \theta\right)= \\ & \prod_{t=C+1}^{C+P} p_{\phi}\left(x_{t}^{i} \mid x_{1: t-1}^{i}, \mathbf{c}_{1: t-1}^{i} ; \theta\right) \end{aligned} pϕ​(xC+1:C+Pi​∣x1:Ci​,​c1:C+Pi​;θ)=t=C+1∏C+P​pϕ​(xti​∣x1:t−1i​,c1:t−1i​;θ)​​​

Lag-Llama

我们提出了 Lag-Llama,一种用于单变量概率预测的“基础模型”。构建时间序列的基础模型的第一步是在大量多样化的时间序列语料库上进行训练。当在异构的单变量时间序列语料库上进行训练时,我们的语料库中的时间序列的频率是不同的。此外,当将我们的基础模型适应到下游数据集时,我们可能会遇到新的频率和已见频率的组合,我们的模型应该能够处理。我们现在介绍一种通用的方法,用于对来自这样的数据集的系列进行标记化,而不直接依赖于任何特定数据集的频率,从而可能允许在测试时使用未见过的频率和已见频率的组合。

标记化:滞后特征

Lag-Llama 的标记化方案涉及从时间序列的先前值中构建“滞后特征”,根据一组指定的适当滞后索引构建,其中包括季度、月度、周度、日度、小时度和秒级频率。给定一组排序的正滞后索引 L = {1, . . . , L}*,我们将滞后操作定义为将特定时间值 x t ↦ k t ∈ R ∣ L ∣ x_{t} \mapsto \mathbf{k}_{t} \in \mathbb{R}^{|\mathcal{L}|} xt​↦kt​∈R∣L∣,其中 k t \mathbf{k}_{t} kt​ 的每个条目 j j j 给定为 k t [ j ] = x t − L [ j ] \mathbf{k}_{t}[j]=x_{t-\mathcal{L}[j]} kt​[j]=xt−L[j]​。因此,为了为某个上下文长度窗口 x 1 : C x_{1: C} x1:C​ 创建滞后特征,我们需要采样一个更大的窗口,其中包含 L L L 个以上的历史点,用 x − L : C C I x_{-L: C} C^{\mathbb{I}} x−L:C​CI 表示。除了这些滞后特征之外,我们还添加了从时间索引 t t t 开始的我们语料库中所有频率的日期时间特征,即从分钟的秒数、小时的天数等,直到年度的季度。请注意,尽管这些日期时间特征的主要目标是提供额外的信息,但对于任何时间序列来说,除了一个日期时间特征外,其他所有日期时间特征在一个时间步到下一个时间步都保持不变,模型可以隐含地理解时间序列的频率。假设我们使用了总共 F F F 个日期时间特征,我们的每个标记的大小为 ∣ L ∣ + F |\mathcal{L}|+F ∣L∣+F。图1显示了一个示例的标记化。我们注意到,在标记化中使用滞后特征的一个缺点是它需要一个大小为 L L L 或更大的上下文窗口。

Lag-Llama 架构

Lag-Llama 的架构基于仅解码器的基于 Transformer 的架构 LLaMA(Touvron et al.,2023)。

图2显示了该模型的一般示意图,其中包含 M 个解码器层。长度为 x_{-L: C}^{i} 的单变量序列以及其协变量被标记化,通过将协变量向量连接到 C 个标记的序列 \mathbf{x}_{1: C}^{i}。这些标记通过共享的线性投影层传递,将特征映射到注意力模块的隐藏维度。与 Touvron et al.(2023)中一样,Lag-Llama 在每个注意力层的查询和键表示中都采用了预归一化(RMSNorm)(Zhang & Sennrich,2019)和旋转位置编码(RoPE)(Su et al.,2021),就像 LLaMA(Touvron et al.,2023)中一样。

通过经过因果掩码的 Transformer 层后,模型预测下一个时间步的预测分布的参数 ϕ,其中参数由参数化分布头输出,如第4.3节所述。最小化所有预测时间步的预测分布的负对数似然。

在推理时,给定至少有 L 个时间序列,我们可以构建一个特征向量,将其传递给模型以获得下一个时间点的分布。通过贪婪自回归解码,我们可以获得未来的许多模拟轨迹,直到我们选择的预测范围 P ≥ 1。从这些经验样本中,我们可以计算与保留数据相关的下游决策任务和指标的不确定性区间。

分布头的选择

Lag-Llama 的最后一层是一个称为“分布头”的独立层,它将模型的特征投影到概率分布的参数上。我们可以将不同的分布头与模型的表示能力相结合,输出任何参数化概率分布的参数 ϕ。在我们的实验中,我们采用了学生 t 分布(Student,1908)作为分布头,并输出与该分布对应的三个参数,即自由度、均值和标准差,通过适当的非线性函数确保适当的参数保持正值。更具表现力的分布选择,如归一化流(normalizing flows)(Rasul et al.,2021b)和 copulas(Salinas et al.,2019a;Drouin et al.,2022;Ashok et al.,2023)是潜在的分布头选择,但可能会导致模型训练和优化的困难。我们的工作目标是尽可能保持模型的简单性,因此选择了一个简单的参数化分布头。对于这些分布头的探索留待将来的工作。

值的缩放

当在来自不同数据集和领域的大量时间序列数据上进行训练时,每个时间序列的数值大小可能不同。由于我们在这些数据上预训练了一个基础模型,我们利用缩放启发式方法(Salinas et al.,2019b),其中对于每个单变量窗口,我们计算其均值 μ i = ∑ t = 1 C x t i / C \mu^{i}=\sum_{t=1}^{C} x_{t}^{i} / C μi=∑t=1C​xti​/C 和方差 σ i \sigma^{i} σi。然后,我们可以用 { ( x t i − μ i ) / σ i } t = 1 C \left\{\left(x_{t}^{i}-\mu^{i}\right) / \sigma^{i}\right\}_{t=1}^{C} {(xti​−μi)/σi}t=1C​ 替换窗口中的时间序列 x 1 : C i x_{1: C}^{i} x1:Ci​。我们还将 μ i \mu^{i} μi 和 σ i \sigma^{i} σi 作为每个标记的时间独立实值协变量,为模型提供输入统计信息,我们称之为摘要统计信息。

图2: Lag-Llama 的架构。Lag-Llama 学习基于滞后输入特征输出下一个时间步的值的分布。模型的输入是给定时间步的单变量时间序列 i i i 的标记, x t i \mathbf{x}_{t}^{i} xti​,如第4.1节所述构建。这里,我们使用 c t i \mathbf{c}_{t}^{i} cti​ 来指代在时间步 t t t 上与值一起使用的所有附加协变量,包括 ∣ L ∣ |\mathcal{L}| ∣L∣ 个滞后特征、 F F F 个日期时间特征和摘要统计信息。输入通过 M M M 个掩码解码器层。特征然后通过分布头传递,并被训练以预测下一个时间步的预测分布的参数。

在训练和获取似然度时,使用均值和方差进行值的转换,而在采样时,使用相同的均值和方差对采样的每个时间步的数据进行反标准化。在实践中,我们发现以下标准化策略在预训练模型时效果很好。

由于 |L| 个滞后特征、F 个日期时间特征和摘要统计信息。输入通过 M 个掩码解码器层。特征然后通过分布头传递,并被训练以预测下一个时间步的预测分布的参数。

鲁棒标准化 确保我们的时间序列处理对异常值具有鲁棒性。该过程通过去除中位数并根据四分位距(IQR)进行缩放来对系列进行归一化(Dekking et al.,2005)。对于一个大小为上下文窗口的系列 x 1 : C = { x 1 , x 2 , … , x C } x_{1: C}=\left\{x_{1}, x_{2}, \ldots, x_{C}\right\} x1:C​={x1​,x2​,…,xC​},我们将每个时间点标准化为:
x t ′ = x t − Med ⁡ ( x 1 : C ) IQR ⁡ ( x 1 : C ) ,  where  IQR ⁡ ( x 1 : C ) = Med ⁡ ( { x ⌈ C / 2 ⌉ : C } ) − Med ⁡ ( { x 1 : ⌊ C / 2 ⌋ } ) . \begin{aligned} x_{t}^{\prime} & =\frac{x_{t}-\operatorname{Med}\left(x_{1: C}\right)}{\operatorname{IQR}\left(x_{1: C}\right)}, \quad \text { where } \\ \operatorname{IQR}\left(x_{1: C}\right) & =\operatorname{Med}\left(\left\{x_{\lceil C / 2\rceil: C}\right\}\right)-\operatorname{Med}\left(\left\{x_{1:\lfloor C / 2\rfloor}\right\}\right) . \end{aligned} xt′​IQR(x1:C​)​=IQR(x1:C​)xt​−Med(x1:C​)​, where =Med({x⌈C/2⌉:C​})−Med({x1:⌊C/2⌋​}).​

训练策略

我们采用一系列训练策略来有效地在数据集语料库上预训练 Lag-Llama。首先,我们发现采用分层抽样方法,其中数据集在预训练语料库中的总系列数加权,对于从预训练语料库中随机采样的窗口是有用的。此外,我们发现采用 Freq-Mix 和 Freq-Mask(Chen et al.,2023)的时间序列增强技术有助于减少过拟合。我们将这些增强策略的超参数搜索作为我们的超参数搜索的一部分。

实验设置

数据集

我们从每个领域中留出一些数据集,用于测试预训练模型的少样本泛化能力,同时使用剩余的数据集对基础模型进行预训练。此外,我们还保留了来自完全不同领域的数据集,以评估我们的模型在可能缺乏与预训练数据集相似性的数据上的性能。这样的设置模拟了我们的模型在现实世界中的使用情况,人们可以将其应用于与模型训练的领域分布密切相关的数据集,也可以应用于完全不同的领域的数据集。我们的预训练语料库总共包含7,965个不同的单变量时间序列,每个序列的长度各不相同,总共包含约3.52亿个数据窗口(标记),供我们的模型进行训练。附录A列出了我们使用的数据集,以及它们的来源和属性,它们各自的领域以及我们实验中使用的数据集划分。

需要注意的是,这里使用的“领域”一词只是用于将几个数据集分组的标签,并不代表共同的来源或数据分布;除了具有其他不同属性之外,预训练和测试数据集的每个都具有非常不同的一般特征(模式、季节性)。我们使用每个数据集的默认预测长度进行评估,并确保我们的未见数据集中有各种各样的预测时段,以评估模型在短期、中期和长期预测设置下的性能。附录A列出了本研究中使用的不同数据集,以及每个数据集的来源和属性。第7.1节(analysis)分析了我们数据集语料库的多样性。

基准模型

我们将Lag-Llama的性能与一系列基准模型进行比较,包括标准统计模型和深度神经网络。

通过AutoGluon(Shchur et al., 2023)——一种用于概率时间序列预测的AutoML框架,我们与5个著名的统计时间序列预测模型进行了比较:AutoARIMA(Hyndman & Khandakar, 2008)和AutoETS(Hyndman & Khandakar, 2008)是已建立的统计模型,它们为每个时间序列本地调整模型参数(Hyndman & Khandakar, 2008);CrostonSBA(Syntetos和Boylan Approximate)(Croston, 1972;Syntetos & Boylan, 2005)是一种使用Croston模型和Syntetos-Boylan偏差校正方法的间歇需求预测模型;DynOptTheta(The Dynamically Optimized Theta model)(Box & Jenk-ins, 1976)是一种基于时间序列趋势、季节性和噪声分解的统计预测方法;NPTS(Non-Parametric Time Series Fore- caster)(Shchur et al., 2023)是一种假设非参数采样分布的局部预测方法。我们还通过相同的AutoGluon框架与3种强大的深度学习方法进行了比较:DeepAR(Salinas et al., 2020)是一种基于自回归循环神经网络的方法,已被证明在概率预测中表现出色(Alexandrov et al., 2020);PatchTST(Nie et al., 2023b)是一种基于Transformer的单变量方法,使用修补(patch)技术对时间序列进行分词;TFT(Temporal Fusion Transformer)(Lim et al., 2021)是一种基于注意力机制的架构,具有循环和特征选择层。

我们还与4个深度学习模型进行了比较:N-BEATS(Oreshkin et al., 2020b)是一种神经网络架构,它使用基于学习基函数的递归分解;Informer(Zhou et al., 2021c)是一种高效的自回归Transformer方法,使用ProbSparse自注意机制处理极长序列;AutoFormer(Wuet al., 2022)是一种基于Transformer的架构,具有基于系列周期性的自相关机制;ETSFormer(Woo et al., 2022b)是一种Transformer模型,用指数平滑注意力和频率注意力替代自注意力。最后,我们与OneFitsAll(Zhou et al., 2023b)进行了比较,该方法利用预训练的大型语言模型(LLM)(GPT-2(Radford et al., 2019))并对时间序列预测的输入和输出层进行微调。

需要注意的是,所有方法都在单变量设置下进行比较,类似于Lag-Llama,每个时间序列都被独立地处理和预测。所有使用AutoGluon生成的方法都支持概率预测。所有其他模型(N-BEATS、Informer、AutoFormer、ETSFormer和OneFitsAll)最初设计用于点预测和干净的归一化数据;我们通过在输出端使用分布头,并赋予它们与Lag-Llama类似的所有特性(如值缩放),将它们调整为概率预测。

表1: Lag-LLama零样本和在未见数据集上微调后的CRPS,与仅在各自数据集上训练的监督基准模型进行比较。数值越小越好。平均值或标准差为0.0000表示第一个非零数字超过3位小数。最佳结果以粗体显示,次佳结果以棕色显示。

超参数搜索和模型训练设置

我们进行了100个不同的超参数配置的随机搜索,并使用预训练语料库的验证损失来选择我们的模型。我们在附录D中详细介绍了超参数搜索和模型选择。在预训练过程中,我们使用批大小为256和学习率为10^(-4)。每个时期包含100个随机抽样的窗口,每个窗口的长度为L + C,如第4.1节(tokenization-lag-features)所述。我们使用50个时期的早停准则,基于预训练语料库中训练数据集的平均验证损失。在微调特定数据集时,我们使用相同的批大小和学习率进行模型训练,每个时期包含来自特定数据集的100个随机抽样的窗口,每个窗口的长度为L + (C + P),其中P是特定数据集的预测长度。由于我们的模型仅包含解码器,且预测长度不固定,因此该模型可以适用于任何下游预测长度。我们使用50个时期的早停准则,在微调过程中基于正在微调的数据集的验证损失。我们在附录B中详细介绍了我们的训练过程。对于本文中训练的所有模型,我们使用一块Nvidia Tesla-P100 GPU,具有12 GB的内存,4个CPU核心和24 GB的RAM。

推断和模型评估

针对特定数据集的推断是通过从Lag-Llama模型进行自回归采样来完成的,从长度为C的上下文开始,直到预测长度P,该长度针对给定的数据集进行定义。我们使用连续排名概率分数(CRPS)(Gneiting和Raftery, 2007; Matheson & Winkler, 1976)进行模型性能评估,这是概率预测文献中常用的指标(Rasul et al., 2021b;a; Salinas et al., 2019a; Shchur et al., 2023)。我们使用100个经验样本,计算在预测时段和数据集的所有时间序列上的CRPS的平均值。我们进一步评估我们所比较的每种方法作为通用预测算法的表现,而不是特定数据集的算法,通过测量每种方法在所有数据集上相对于其他方法的平均排名。

结果

我们首先评估我们预训练的Lag-Llama在未见数据集上的零样本性能(第6.1节(zero-shot-finetuning-performance-on-new-data)),即在没有新的下游领域样本可用于对模型进行微调的情况下。需要注意的是,在时间序列预测文献中,这种零样本预测场景很常见(例如,冷启动问题(Wikipedia, 2024; Fatemi et al., 2023))。然后,我们对预训练的Lag-Llama在每个未见数据集上进行微调,并在微调后评估模型,以研究我们的预训练模型在不同未见数据集和领域上的适应能力,当数据集中有相当多的历史可用于训练时。然后,我们评估我们基础模型的少样本适应性能——这是其他模态(例如文本)中基础模型被期望展示出强大泛化能力的常见情况。我们改变每个数据集上可用于微调的历史量,并在不同历史水平下呈现我们模型的少样本适应性能。

零样本和新数据上的微调性能

表1展示了在特定数据集上训练的监督基线模型与预训练的Lag-Llama模型在未见数据集上的零样本性能以及在相应未见数据集上微调的性能之间的对比结果。在零样本设置下,Lag-Llama的性能与所有基线模型相当,平均排名为6.714。在微调中,Lag-Llama在3个数据集上实现了最先进的性能,而在其他所有数据集上性能显著提升。最重要的是,在微调中,Lag-Llama的平均排名为2.786,比最好的监督模型高出2个点,这表明如果在没有先验数据知识的情况下选择一种方法,Lag-Llama将是最佳选择。这明确地将Lag-Llama确立为一个强大的基础模型,可以在各种未知数据分布的下游数据集上使用,而无需先验知识,这是一个基础模型应该具备的关键特性。

我们现在深入分析Lag-Llama的性能。在零样本评估中,Lag-Llama取得了强大的性能,特别是在平台延迟和天气数据集中,与基线模型非常接近。通过微调,Lag-Llama在性能上持续改进,相比零样本推断有显著提升。在ETT-M2、天气和请求等3个数据集上,微调版本的Lag-Llama的误差显著低于所有基线模型,成为最先进的模型。在来自全新领域的汇率数据集上,展示了新的未见频率,Lag-Llama具有可比的零样本性能,并且在微调时达到了与最先进模型相似的性能。这表明Lag-Llama在不同频率和领域上表现良好,无论模型在预训练期间是否见过类似的数据。与Informer、AutoFormer和ETSFormer模型相比,Lag-Llama在零样本和微调设置中都取得了更好的平均排名,这些模型使用复杂的归纳偏差来建模时间序列,而Lag-Llama则使用简单的架构、滞后和协变量以及大规模预训练。我们的观察结果表明,在大规模情况下,当与Lag-Llama类似使用时,仅具有解码器的Transformer模型优于其他Transformer架构。我们指出,类似的结果在自然语言处理领域已经得到证明(Tay et al., 2022),研究了归纳偏差在大规模情况下的影响,然而,我们强调我们是第一个指出这样的结果适用于时间序列,这可能为进一步研究时间序列中归纳偏差在大规模情况下的影响打开了大门。此外,与OneFitsAll模型(Zhou et al., 2023b)相比,该模型调整了预训练的Lag-Llama模型进行预测,在除了北京-pm2.5数据集以外的所有数据集上都取得了显著更好的性能,而且平均排名也比该模型要好得多。这些结果表明,与在大规模和多样化的时间序列数据集上调整预训练的Lag-Llama模型相比,从头开始训练时间序列基础模型的潜力更大。关于调整Lag-Llama模型与从头开始训练时间序列基础模型的优劣势的详细研究将作为未来工作的方向。

我们还在附录§E中定性地展示了Lag-Llama在未见数据集上产生的预测结果的可视化。Lag-Llama产生的预测与实际情况非常接近。此外,比较零样本设置下模型产生的预测(图8)和微调设置下的预测(图11),可以清楚地看到模型在微调时预测质量显著提高。

少样本适应在未见数据上的性能

我们将数据限制为仅使用训练集中最后K%的历史数据,其中K分别设置为20、40、60、80个百分比。我们从头开始训练可监督方法,同时对Lag-Llama进行微调。结果见表2。在不同历史数据可用的适应程度下,Lag-Llama在所有程度上都取得了最好的平均排名,这表明Lag-Llama在各个数据程度上都具备强大的适应能力。随着可用历史数据的增加,Lag-Llama在所有数据集上的性能越来越好,而且Lag-Llama与基线模型之间的排名差距也越来越大,这是可以预期的。然而,需要注意的是,在来自全新领域且具有新的未见频率的汇率数据集中,Lag-Llama往往被TFT超过,这表明与预训练语料库相比,当数据最不相似时,Lag-Llama需要更多的历史数据进行训练,并且在给定足够的历史数据进行适应时,性能与最先进模型相当(如第6.1小节所讨论)。

总的来说,我们的实证结果表明Lag-Llama具有强大的少样本适应能力,并且根据下游数据集的特征,Lag-Llama可以通过适当数量的数据进行适应和泛化。

分析

数据多样性

尽管已经发现损失与预训练数据集的规模成正比(Kaplan et al., 2020),但除了一些初步研究外,预训练数据集的其他属性如何导致理想的模型行为仍然不清楚(Chan et al., 2022)。值得注意的是,多样性的预训练数据对于改进零样本性能和少样本适应性有所贡献(Brown et al., 2020b),尽管缺乏充分的定义。

为了量化预训练语料库的多样性,我们通过22个经典时间序列特征(“catch22特征”)对其数据集的特性进行分析,这些特征是从高度可比较的时间序列分析(hctsa)库的特征中选择的,这些特征具有快速计算的特点(Lubba et al., 2019)。为了评估数据集的多样性,我们对每个数据集的特征进行平均,并对前2个主成分进行PCA分析。我们发现,在领域内和跨领域内拥有多个数据集可以增加AC22特征在前2个主成分空间中的多样性(见附录中的图12)。

规模分析

经验证明,数据集的规模可以提高性能(Kaplan et al., 2020)。构建神经缩放定律(Kaplan et al., 2020; Caballero et al., 2023)可以帮助我们了解模型的性能如何随着不同参数(如预训练数据量、模型中的参数数量等)的变化而变化。为了了解Lag-Llama等模型的这些数量,我们对模型的验证损失进行了神经缩放定律的拟合,并在附录§F.1中呈现了描述我们模型性能与预训练数据量之间关系的缩放定律。

讨论

我们提出了Lag-Llama,这是一个基于简单的仅解码器Transformer架构的单变量概率时间序列预测基础模型。我们展示了Lag-Llama在从头开始预训练的大规模数据集上具有强大的零样本泛化性能,可以与特定数据集的模型相媲美。在微调后,Lag-Llama在不同领域的多样化数据集上展示了最先进的性能,并且在没有任何下游数据知识的情况下成为最佳通用模型。Lag-Llama还在不同数据历史可用程度下展示了强大的少样本适应性能。最后,我们对用于训练Lag-Llama的预训练语料库的多样性进行了研究。

我们的工作为未来的研究开辟了几个潜在的方向。目前,收集和整理大规模的开放时间序列数据集将具有很高的价值,因为目前最大的时间序列数据集库(Godahewa et al., 2021)本身规模太小。此外,通过使用不同的训练策略进一步扩大模型的规模,超越本研究中探索的模型规模,是构建更强大的时间序列基础模型的重要下一步。最后,将我们的工作从单变量扩展到多变量方法,捕捉现实世界数据集的复杂多变量动态,也是未来工作的重要方向。

影响声明

本研究的目标是介绍用于时间序列预测的通用基础模型。这样的模型可能会产生许多社会影响,包括通过更好的决策来优化流程的积极影响,以及可能的负面影响。

据我们所知,所使用的数据集中没有包含任何个人或可识别个人的数据,也没有与之相关联,并且这些数据集是从引用的位置获取的。

数据集详情

3. 表格 3 进一步展示了我们研究中预训练或下游测试语料库中是否存在数据集。

Air Quality UC Irvine Repository 数据集(UCI)包含来自污染区域中嵌入了5个金属氧化物化学传感器的空气质量化学多传感器设备的每小时平均响应的9358个实例(Vito,2016)。

Australian Electricity Demand 数据集包括澳大利亚五个州(维多利亚、新南威尔士、昆士兰、塔斯马尼亚和南澳大利亚)的五个半小时电力需求时间序列(Godahewa et al.,2021)。

Beijing PM2.5 数据集包含美国驻北京大使馆记录的每小时PM2.5水平数据。该数据集还包括北京首都国际机场的气象数据(Chen,2017)。

Beijing Multi-Site Air-Quality 数据集包括北京各个地点四年期间的六种主要空气污染物和六种相应气象变量的每小时测量数据(Chen,2019)。

Electricity Hourly 数据集记录了2012年至2014年期间321个客户每小时的用电量(Godahewa et al.,2021)。

ETTh1, ETTh2, ETTm1, ETTm2 数据集包含两个电力变压器的2年数据,以每小时和每15分钟的频率获取,用于预测电力变压器油温是否安全(Zhou et al.,2021b)。

Exchange Rate 数据集包括1990年至2016年期间八种外币的每日汇率,分别是澳大利亚、英国、加拿大、瑞士、中国、日本、新西兰和新加坡(Godahewa et al.,2021)。

Huawei cloud 数据集包含无服务器追踪数据(Joosen et al.,2023)。我们选择了8个系列,这些系列基于141天内前10个函数的中位数出现次数的分钟频率发生情况:函数延迟、平台延迟、CPU使用率、内存使用率、CPU限制、内存限制、实例、平台延迟、请求。

London Smart Meters 数据集关注于2011年11月至2014年2月参与英国电力网络低碳伦敦项目的5567个家庭的智能电表的电力消耗读数(Godahewa et al.,2021)。

KDD Cup 2018 数据集包括2017年1月至2018年3月期间北京和伦敦59个站点的广泛的每小时空气质量水平时间序列数据。测量包括PM2.5、PM10、NO2、CO、O3和SO2(Godahewa et al.,2021)。

Pedestrian Counts 数据集(在文本的某些部分称为ped-counts)包括墨尔本市内66个传感器记录的每小时行人计数,始于2009年5月(Godahewa et al.,2021)。

Solar 数据集包括2006年美国的6000个模拟太阳能发电厂的5分钟太阳能功率和每小时的预测。其中包括137个时间序列,反映了2006年阿拉巴马州每10分钟的太阳能发电量(Godahewa et al.,2021)。

Sunspot 数据集包括从1818年1月到2020年5月的一个广泛的每日太阳黑子数时间序列(Godahewa et al.,2021)。

Traffic 数据集包括2015年至2016年旧金山湾区高速公路上的862个每小时道路占用率时间序列(Godahewa et al.,2021)。

Uber TLC Hourly 数据集包括纽约市450万次Uber接送(2014年4月至9月)和1430万次接送(2015年1月至6月)。它包括10家其他出租车公司的行程详细信息和329家公司的汇总数据(FiveThirtyEight;Godahewa et al.,2021)。

Weather 数据集包括澳大利亚维多利亚州克莱顿蒙纳什大学附近的每小时气候数据的时间序列,时间跨度从2010年1月到2021年5月。数据包括温度、露点温度、风速、平均海平面气压、相对湿度、地表太阳辐射、地表热辐射和总云量的系列(Godahewa et al.,2021)。

Wind Farms 数据集包括339个澳大利亚风力发电厂的分钟频率时间序列数据,跟踪风力发电量(Godahewa et al.,2021)。

协议细节

对于论文中使用的所有数据集,我们根据时间戳划分了非重叠的训练集和测试集,如数据集中定义的那样。在预训练期间,对于每个数据集,我们排除了训练集中最后14个重叠的窗口,并将其用作该数据集的验证集。在预训练期间,我们在每个数据集的训练集上训练,每个时期结束时,我们在预训练语料库中使用的所有数据集的验证集上获得验证损失。我们使用平均验证损失作为早停准则(在论文中称为“验证损失”)。在对特定数据集进行微调时,我们排除了训练集中的最后一个窗口,并将其用作该数据集的验证集。我们在数据集的训练集上进行训练,并使用验证集进行早停。我们对论文中提供结果的所有有监督基线模型都使用与微调Lag-Llama相同的设置。根据典型的评估设置(Shchur et al.,2023),论文中报告的所有结果都是在App. §A中定义的测试集的最后一个预测窗口上的结果。

表格 3: 预训练语料库中使用的数据集以及我们评估的未见数据集,按其所属领域分组。

表格 4: 论文中使用的所有数据集的统计数据。频率 H 表示每小时,T 表示每分钟,B 表示工作日。Tokens 指的是数据集中大小为1的窗口的总数,计算方法是在该数据集的所有系列中的时间步数总和。

表格 5: Lag-Llama 的超参数选择。带有 * 的值表示通过超参数搜索获得的最佳值。

请注意,这只是为每个窗口连续采样的上下文;在实践中,由于使用了滞后,我们使用了一个更大的上下文窗口,如第 4.1 节所述。

附加实证结果

预训练数据集上的结果

一个强大的基础模型不仅应该擅长适应未见数据分布的零样本和少样本情况,还应该在模型预训练的数据集上表现良好,即在数据集内部表现良好。因此,除了在未见数据集上评估我们的模型之外,我们还在用于预训练的数据集上评估我们的模型。

结果见表 6,表 7 和表 8。所有数据集的平均排名结果见表 9。Lag-Llama 的训练预算被分配给了所有预训练数据集,而其他有监督模型在数据集上没有这个限制。因此,Lag-Llama 在每个数据集中看到的数据量没有其他模型多,因此

Lag-Llama 的超参数

我们随机搜索了100种不同的超参数配置,并使用预训练语料库中所有数据集的平均验证损失来选择我们的模型。

我们在表 5 中列出了 Lag-Llama 的可能超参数和我们的超参数搜索得到的最佳值。我们的最终模型通过超参数搜索获得,包含2,449,299个参数。

预测可视化

我们绘制了一些样本的预测结果,并突出显示了中位数、第50个(深绿色)和第90个(浅绿色)预测区间;从预训练语料库中的数据集开始:图 3 中的 Electricity Hourly,图 4 中的 ETT-H2,图 5 中的 Traffic。Lag-Llama 在下游未见数据集上的零样本预测结果突出显示在图 6 的 ETT-M2 中,图 7 的 Pedestrian Counts 中,以及图 8 的 Requests Minute 中。最后,对这些下游未见数据集进行微调后的预测结果分别在图 9 的 ETT-M2 中,图 10 的 Pedestrian Counts 中,以及图 11 的 Requests Minute 中展示。请特别注意根据数据集的不同,采样值的不同数量级,通过相同的共享模型。

附加可视化

神经缩放定律

神经缩放定律(C aballero et al., 2023)的参数拟合如图 13 所示,拟合了验证损失 ( y ) (y) (y) 关于预训练数据的训练时期 ( x ) (x) (x)(其中每个时期是100个随机采样的窗口)的关系。具体参数如下:
y = a + ( b x − c 0 ) ∏ i = 1 n ( 1 + ( x d i ) 1 / f i ) − c i ∗ f i a = − 6.1167 b = 8.01589 c 0 = 0.0155 c 1 = − 0.1043 d 1 = 1.6423 e − 36 f 1 = − 36.4660 \begin{aligned} y & =a+\left(b x^{-c_{0}}\right) \prod_{i=1}^{n}\left(1+\left(\frac{x}{d_{i}}\right)^{1 / f_{i}}\right)^{-c_{i} * f_{i}} \\ a & =-6.1167 \\ b & =8.01589 \\ c_{0} & =0.0155 \\ c_{1} & =-0.1043 \\ d_{1} & =1.6423 e-36 \\ f_{1} & =-36.4660 \end{aligned} yabc0​c1​d1​f1​​=a+(bx−c0​)i=1∏n​(1+(di​x​)1/fi​)−ci​∗fi​=−6.1167=8.01589=0.0155=−0.1043=1.6423e−36=−36.4660​
有了这样的规律,我们可以推断模型的验证损失,并预测在更大的数据集范围内的性能(图13)。随着努力将更好的时间序列基础模型训练数据库整理起来,这些规律可以帮助量化所使用的数据与模型性能之间的关系。

图3: 电力小时数据集的预测示例


图4: ETT-H2数据集的预测示例


图5: 交通数据集的预测示例


图6: 在未见过的下游ETT-M2数据集上的零样本预测示例


图7: 在未见过的下游行人计数数据集上的零样本预测示例


图8: 在未见过的下游每分钟请求数据集上的零样本预测示例


图9: 在下游ETT-M2数据集上进行Lag-Llama微调的预测示例


图10: 在下游行人计数数据集上进行Lag-Llama微调的预测示例


图11: 在下游每分钟请求数据集上进行Lag-Llama微调的预测示例


图12: 对每个预训练数据集的平均catch22特征进行主成分分析(PCA)。我们对每个数据集的catch22特征取平均值,对其进行标准化,然后在这些点上进行PCA,使得每个点对应一个数据集。然后,我们将这些点投影到前两个主成分上,并根据其领域对每个数据集的名称进行着色。数据集分布在两个主成分上,显示了不同数据集的平均catch-22特征的多样性。此外,不同领域的数据集倾向于聚集在一起,这表明组合不同领域的数据增加了预训练数据的多样性。综合这些结果表明,将来自多个领域的多个数据集组合进行预训练对基础模型的零样本和少样本适应性能是有益的。

表6: Lag-Llama在预训练语料库中的7/20个数据集上的CRPS,与仅在相应数据集上训练的监督基线进行比较。数值越小越好。均值或标准差为0.0000表示第一个非零数字超过3位小数。

表7: Lag-Llama在预训练语料库中的7/20个数据集上的CRPS,与仅在相应数据集上训练的监督基线进行比较。数值越小越好。均值或标准差为0.0000表示第一个非零数字超过3位小数。

表8: Lag-Llama在预训练语料库中的6/20个数据集上的CRPS,与仅在相应数据集上训练的监督基线进行比较。数值越小越好。均值或标准差为0.0000表示第一个非零数字超过4位小数。

图13: 我们的基础模型验证损失(负对数似然)拟合的神经缩放规律,平均值基于3个种子。 "fit"表示用于构建缩放规律的验证曲线上的点。 "unseen"表示使用构建的缩放规律预测的验证曲线上的点。我们使用60/20/20的训练/验证/测试分割来拟合我们的缩放规律。

表9: 所有预训练数据集的平均排名。数值越小越好。

更新时间 2024-02-27