用知識蒸餾從LLM中提取多模態知識提升時序預測模型效果
今天給大家介紹一篇使用大語言模型結合知識蒸餾方法,構建高效輕量級時間序列預測模型的方法。文中基于大語言模型通過多模態建模優化適配到時間序列數據,并進一步通過優勢知識蒸餾將大模型信息蒸餾到小模型中,實現模型尺寸不變而具備大模型知識的目的,提升時序預測效果。
論文標題:Efficient Multivariate Time Series Forecasting via Calibrated Language Models with Privileged Knowledge Distillation
下載地址:??https://arxiv.org/pdf/2505.02138??
1.研究背景
將預訓練的語言模型應用到時間序列領域是業內研究的重點,借助LLM的域外知識進行多模態建模,提升時間序列預測效果。然而,使用LLM進行時序預測的一個主要問題是性能開銷大,LLM一般參數量很大,將其應用到時間序列預測相比基礎的時間序列預測模型計算量要大得多。
為了解決該問題,這篇文章提出用知識蒸餾的手段,將LLM的知識蒸餾到時間序列預測模型中,既保證計算量不變,又能降LLM的多模態建模知識引入時間序列模型中。下面展開介紹本文的建模方法。
2.建模方法
本文的核心模塊可以分成2部分,第一部分是如何基于預訓練的LLM訓練一個多模態時間序列預測模型作為teacher,第二部分是如何利用知識蒸餾構建student時序預測模型。
對于Teacher模型,其原始是一個預訓練LLM,將時間序列數據構建成如下prompt的形式(包括歷史序列、未來序列的Ground Truth),將文本形式的時間序列輸入到LLM中,歷史序列和未來序列分別輸入到LLM中。
LLM的結構如下,整體基于Transformer,核心優化點是在self-attention的計算中提出了calibrated attention。基礎的attention計算,數字部分和文本部分的這類跨模態交互的打分也很高,這其實削弱了時間序列部分內部的交互信息學習。為了緩解該問題,文中對于跨模態部分的attention分直接減去一個超參數的值,削弱這部分影響,讓attention專注于數字部分內部(即時間序列內部)的建模,緩解文本的干擾。
類似的,文中提出了subtractive cross attention模塊,對Transformer輸出的表征去除文本部分信息,讓后續的蒸餾重點聚焦數字部分信息。文中將歷史序列或未來序列Transformer最后一個位置表征作為蒸餾目標。為了讓這個表征主要反應時間序列部分信息,引入了一個subtractive cross attention模塊:在歷史序列和未來序列之間做一個cross-attention,然后從原始的表征中減掉cross-attention的輸出結果。這部分原理為,歷史序列和未來序列prompt的文本部分是相似的,時間序列數字部分不同,attention分高的對應文本部分,將這部分信息從表征中去掉,保留時間序列信息,避免文本信息對后續student時間序列模型蒸餾的干擾。
Teacher模型的訓練目標為未來序列重構。基于上述產出的表征經過一個PTEncoder(由LN和Transformer組成),獲取中間表征后,對原始序列進行還原。Teachder模型的整體算法流程如下。
Student模型是一個整體基于Transformer結構、以時間序列數據為輸入的傳統時間序列模型,通過ReVIN對輸入時間序列進行歸一化處理。其中的核心是蒸餾Teachder模型知識。文中引入了兩種類型的蒸餾。第一種是蒸餾attention分。Teacher模型在calibrated attention模塊產出了校準后的時間序列數字間的打分,文中讓Student模型的transformer模塊中的attention打分結果與Teachder模型保持一致。
另一方面是直接蒸餾特征表征,讓Student模型學習Teacher模型通過subtractive cross attention產出的表征向量,直接使用Smooth L1 Loss作為損失函數。
3.實驗效果
下表是主要的實驗結果,從實驗結果來看,本文提出的方法取得了最優的效果。
同時,從效率上看本文的模型在參數量、訓練時間、推理速度都優于以往的基于LLM的時間序列預測模型。
本文轉載自????圓圓的算法筆記??
