普林斯顿大学提出首个基于MoE的稀疏时序预测大模型,参数量扩展到2.4billion
今天给大家介绍一篇普林斯顿大学提出的时间序列大模型工作,是首个基于MoE的百万级别参数时间序列大模型,将时序大模型参数量扩展到2.4billion的水平,在多个数据集上取得了显著优于其他时间序列大模型的效果。
论文标题:TIME-MOE: BILLION-SCALE TIME SERIES FOUNDATION MODELS WITH MIXTURE OF EXPERTS
下载地址:https://arxiv.org/pdf/2409.16040v1
1、背景
时间序列大模型是目前的一个研究热点,很多工作都利用大量的时间序列数据训练专属于时间序列领域的大模型。但是,仍然有很多大模型领域的研究问题在时间序列大模型领域中没有得到深入研究。例如大模型中已经有一些基于MoE的稀疏模型结构取得显著效果,但是在时间序列领域还没有这方面研究。此外,时间序列大模型也面临着灵活性、可扩展性等问题。
为了解决这些问题,本文提出基于MoE的稀疏时间序列大模型,将参数量扩展到例2.4billion,取得了显著的效果提升。下面介绍一篇Time-MoE的模型结构。
2、建模方法
Time-MoE主要包括4个核心模块:输入Embedding处理、MoE结构、多分辨率建模、训练数据和损失函数。
在输入Embedding的处理上,区别于现在主流的PatchTST等patch粒度的时序建模方法(滑动窗口划分子序列过MLP生成Embedding),Time-MoE采用了点维度的Embedding生成方法,以最大程度保留完整的时序信息输入后续模型。时间序列中的每个数据点,通过SwiGLU生成Embedding。SwiGLU是目前LLaMa等大语言模型的Embedding生成网络结构,通过门控的形式实现对输入信息的选择,这里将其应用到时间序列领域。GLU和UYSwiGLU的计算公式如下:
在MoE结构上,Time-MoE采用MoE的结构构建稀疏网络。整体模型结构是一个Decoder-only的生成式Transfomrer结构。将每一个FFN层替换成一个MoE网络,实现这部分的稀疏结构,这也是语言模型中的一种稀疏化方法的引入。每个时间序列数据点会根据一个router进行各个专家的选择,找到相应FFN子网络进行前向传播。
在多分辨率建模上,Time-MoE使用多个不同的输出头,每个输出头对应一个分辨率的预测结果,实现多分辨率的同时预测。
在训练过程中,文中构建了包括9个domain、300billion的时间序列样本点的数据集。损失函数使用Huber loss,这是一种MSE和MAE的融合体,用来缓解MAE对于异常点的敏感性。同时,为了防止MoE的门权重都集中在少量专家上,引入复杂均衡的损失函数,控制各个门的样本点分配比例,防止赢者通吃现象的发生。
3、实验效果
文中在多个数据集上对比了各类时间序列大模型的效果,Time-MoE取得了显著效果提升。
通过对比模型激活参数量、不同参数量下模型效果等方面,可以看出在相同参数量下,本文提出的Tim-MoE取得了比较显著的效果提升。
对比Time-MoE和其他模型的预测case效果,可以看出Time-MoE的预测结果明显优于其他方法。