
用知识蒸馏从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的时间序列预测模型。
本文转载自圆圆的算法笔记
