查看原文
其他

首个全开源时序预测基础模型:Zero-shot预测能力比肩从零训练最优模型

石宇新 PaperWeekly
2024-08-23

©PaperWeekly 原创 · 作者 | 石宇新

单位 | 浙江大学硕士生

研究方向 | 时序预测


首个全开源时间序列预测基础模型 Moirai 来了(“Moirai” 在古希腊神话中是命运女神的名字具有预知未来的能力)!来自 Salesforce AI research 的研究者提出了一种通用的预测范式,使得预训练模型有能力处理任意的时序预测任务。与当下最优的从零训练模型相比,Moirai 的 zero-shot 预测能力具有竞争力甚至表现出更优越的性能。


并且,研究者们发布并开源了预训练框 uni2ts,moirai 模型权重,以及 LOTSA,当下最大的开源时序预测预训练数据集。


论文题目:
Unified Training of Universal Time Series Forecasting Transformers

论文链接:

https://arxiv.org/abs/2402.02592

预训练代码链接:

https://github.com/SalesforceAIResearch/uni2ts

预训练数据集:

https://huggingface.co/datasets/Salesforce/lotsa_data


时序数据广泛存在于零售、金融、制造业、医疗等多个领域,其中时序预测应用对于决策制定有着重要的意义。尽管深度学习方法在时序预测中取得了巨大进展,但其依旧遵循传统机器学习范式:针对特定数据集的特定预测任务(预测长度)训练相对应的模型。


然而,这种模式随着时序预测任务的增多,计算成本和人力成本会显著的增加。能否像视觉和语言领域一样,构造一个预训练大模型进行通用时序预测?该研究工作给出了肯定的回答。



通用时序预测基础模型面临的挑战:

与视觉和语言模态分别具有图像和文本的统一格式不同,时间序列数据具有高度异构性, 具体体现在频率,维度,数据分布上的不同:


  • 时序数据的频率(例如每分钟、每小时、每天的采样率)决定了时序数据的模式,由于 negative interference(负面干扰)对于跨频率学习带来的挑战,现有的方法通常为每个频率训练一个模型来解决多频率问题。

  • 维度上的异构性表现在多变量时序数据可能具有不同数量的变量,此外,每个变量通常在不同的数据集中测量的数量在语义上是不同的,一个通用的预测模型在理想情况下应该足够灵活,能够考虑变量之间的相互作用,并同时考虑外生协变量(exogenous covariates)。

  • 对于许多任务来说,概率预测是一个关键需求,然而,不同的数据集具有不同的分布特性。例如,使用对称分布(正态分布,student-t 分布)作为预测分布就可能不适合正值的时序数据。预先定义一个简单参数分布的标准方法可能缺乏有效捕捉多样化数据集范围所需的灵活性。


同时,开发一个能够进行通用预测的大型预训练模型需要一个涵盖多个领域的全面数据集。然而,现有的时间序列数据集往往在规模和多样性上有所欠缺,不足以支持这类模型的训练。


为了解决上述挑战,本文的研究者在传统的时序领域的 transformer 架构上进行了创新,以处理任意时间序列数据的异构性,具体贡献如下:


  • 本文通过学习多个输入和输出 projection layer(投影层)来解决时间序列数据中不同频率的挑战。这些层旨在处理不同频率的时间序列中存在的不同模式。并采用 patch-based(基于块)的 projection,较大的 patch size 对应高频数据,这样 projection layer 便能够学到不同频率的模式

  • 作者提出了 Any-variate(任意变量)的注意力机制来解决可变维度问题,这种方法同时将时间轴和变量轴视为单个序列,并利用 RoPE(Rotary Position Embedding,旋转位置嵌入)和可学习的二元注意力偏差来分别对时间轴和变量轴进行编码。特别地,Any-variate 注意力使得模型能够接受任意数量的变量作为输入

  • 作者引入了一种混合的参数分布来解决数据集具有不同概率分布的问题,并对分布的(negative log-likelihood)负对数似然进行优化。


最后,为了解决时序领域大规模数据集的欠缺,本文引入了 LOTSA,这是通过整理公开可用的时序数据集源而提供的最大的开放时间序列数据集合。该集合跨越 9 大数据领域,包含 27B 观测值,231B 数据点。其关键统计数据如下图所示



Moirai架构细节

如上图所示,Moirai 在 masked encoder(掩码编码器)架构的基础上采用了非重叠的 patch-based 方式。为了在 any-variate 的设置下拓展架构,作者采取的手段是将多变量时序数据“展平”,即将所有变量看作单一的序列。输入变量通过分块处理后,不同 patches 通过 multi-patch 的输入层投影到向量表示。


图中的 [mask] 表示可替换预测范围内的 patch 的一种可学习的 embedding(嵌入)。最终通过 multi-patch 输出层将输出 token 解码为混合分布的参数。在输入/输出中,作者还加入了 instance normalization(实例标准化)进行处理。



预训练阶段

在预训练任务中,本文制定了优化混合分布对数似然的目标,数据分布和任务分布的设计是预训练流水线最为关键的两方面。


在数据分布上,由于训练的数据集 LOTSA 是数据集构成的集合,作者在训练中引入 sub-dataset(子数据集)的概念,将数据分布分解成 sub-dataset 的分布和在每个 sub-dataset 上时序数据的分布。p(Y,Z|D)p(D),即首先通过 p(D) 采样 sub-dataset,然后在给定的 sub-dataset 上采样时序数据。


在任务分布的设计中,为了使得模型在不同的上下文和预测长度设置中都具有预测能力,作者从任务分布中采用 (t,l,h) ~ P(T|D) 其中分别指代时序数据,lookback window 和 forecasting horizon。


数据分布和任务分布的设计使得本文的大型时序模型能够适应一系列下游任务,与专门针对某一类特定的设置的预测模型形成了鲜明的对比。



实验结果

作者训练了 small/base/large 三种不同规模的模型,分别有 14m/91m/331m 个参数,在通过 Monash 时序预测基准上进行 in-distribution 评估时,Moirai 模型击败了所有的基准模型。

在 out-of-distribution/zero-shot 预测评估中,Moirai 始终表现出有竞争力的性能,在一些实例中超过了当下最好的 full-shot 的模型性能。



总结

Moirai 在跨越不同数据域和频率的各个时序数据内提供了强大的 zero-shot 预测性能。通过利用大规模数据预训练的力量,这个时间序列基础模型彻底改变了以往每个数据集一个模型的格局。它为下游预测任务中的用户提供了巨大的优势,消除了使用深度学习模型实现准确预测所需的额外数据、大量计算资源的需求。


研究者们开源了预训练数据,预训练代码以及模型权重为这一新兴研究领域的发展铺平了道路。


更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·
·

继续滑动看下一个
PaperWeekly
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存