#TSer#
自然语言处理和计算机视觉领域通过大规模数据集的预训练而取得了巨大的成功,而由于缺少公共的大规模时序数据集,在时间序列领域关于预训练的研究工作发展缓慢。最近一些研究也开始质疑预训练工作的有效性。
近日,来自 Salesforce ai research 和新加坡管理大学的研究者们合作发布的一篇时间序列预测论文,以解决上述问题,其主要贡献如下:
论文链接:
论文源码:
背景
预训练和迁移学习引领了机器学习的下一代发展。预训练作为迁移学习的主要手段,能够从大规模的数据集中学习通用的表征,从而适配下游的数据集和任务。并且随着模型的规模和预训练数据的大小,模型的零样本(zero-shot)和上下文学习(in-context learning)能力得以展现,表现出更强大的泛化能力。
尽管时序预测中的迁移学习能力通过多任务学习(multi-task learning)的形式被发掘,预训练仍未受到足够的重视。首先,目前缺乏可用于支持大型时间序列模型预训练的大规模数据集。其次,不同于图像和文本数据共享跨数据集和领域的语义信息,由于时序数据的语义信息对于其数据集及领域具有唯一性,时序数据无法享有这种迁移特性。因此,目前尚未明确时序模型能否从预训练中收益。
为此,研究者对时序数据集的可迁移性进行了层次化的定义。以探究在怎样的设置下,数据集中的时序数据能够共享语义信息。
具体而言,时序数据的可迁移性按粒度划分可分为领域(domain)和集合(collection),不同 domain 的数据集中的数据仅共享最普遍的时序概念,而相同 domain 不同 collection 的数据能够共享领域信息。
下图便展示了时序数据集的层次结构,时序数据在最顶层以领域信息划分,每个领域内数据则被划分为共享相同语义信息的集合。例如在 Azure VM Traces 集合中,每个时间序列度量不同虚拟机的 CPU 利用率,并记录相同的协变量。
由于同一集合中的时序数据共享语义信息,本文着重关注在同一个集合(collection)中的预训练表现,也即 in-collection 设置。云厂商每天能够产生数十亿的数据,特别地,研究者选取了三个大规模的云运维数据对时序模型进行预训练。
研究者在提出的数据集上进行了大量实验,探讨了适合规模化的基于 Transformer 的时序模型设计,并进一步验证了时序领域规模化带来的影响。
方法介绍
01
基准模型
Transformer 架构能够建模各种数据模式,并展现出强大的拓展性(scaling)能力,帮助其从大规模预训练中收益,因而本文的基准模型采用了原始的 encoder-decoder 的 transformer 架构设计,同时采用迭代式多步解码(IMS decoding)。实验结果表明,基准模型在预训练后有了显著的性能提升。
同时研究者发现,进一步微调相较于 zero-shot 预测并未得到显著改善,一个潜在的原因是,训练前的数据足够多样化,可以泛化到训练测试集,而微调则往往需要仔细的设计和超参数的调整。基于此,在接下来的实验中,研究者着重分析了模型的 zero-shot 性能。
02
Scaling behavior
研究者通过提高预训练的迭代数目、数据集大小来进一步探究模型的可拓展性。
结果表明,随着预训练数据集的增大,模型性能得到提高。同时,在最大的数据集 azure2017 中,能明显观察到随着模型大小和观测数目的提高,模型性能得到加强。而在两个较小数据集 borg2011 和 ali2018 上,模型大小和性能之间的关系较为模糊。研究者认为,模型在这些数据集上存在过拟合,这是由于预训练阶段重复的样本带来预训练性能提升的同时,也导致了下游任务中性能的下降。
03
zero-shot预测
研究者同时分析了不同的架构设计在性能和计算开销下的影响,以进一步探索一个更为强大的 zero-shot 预测模型。
如图所示,研究者考虑了如下多种模型:
实验表明,相较于其他 transformer 变体,掩码编码器(masked encoder)transformer 架构提供了优越的性能和成本权衡。
在此基础上,本文还有如下发现:
04
Benchmark测试
研究者将提出的模型分别与传统时序预测方法及流行的深度学习方法进行比较,可以看到本文提出的模型在大数据规模的设置下,在多个场景中取得最优结果。
结论
在这项工作中,研究者在 CloudOps 领域引入了三个大规模的时间序列预测数据集,以推动进一步研究大规模时间序列模型的预训练。同时,通过一系列实验引入一个优秀的候选架构,并表明其性能随着训练长度、数据集大小和模型大小的增加而增加。研究者在这些数据集上与经典时序预测方法及深度学习基准方法进行比较,表明其提出的架构是一个强大的基于预训练的的 zero-shot 预测器。
暂无评论内容