普林斯頓大學提出首個基于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的預測結果明顯優于其他方法。
