点关注,不迷路,用心整理每一篇算法干货~
今天给大家介绍一篇清华大学发表于NIPS2024中的大模型时间序列预测工作AutoTimes,使用大模型进行自回归形式的时间序列预测,并结合In-Context Learning提升预测效果。
论文标题:AutoTimes: Autoregressive Time Series Forecasters via Large Language Models
下载地址:https://arxiv.org/pdf/2402.02370
大模型在时间序列预测中的应用已经有了一些研究工作。之前的大模型时序预测,主要讲大模型当成一个表征抽取器,将时间序列对齐大模型表征空间后输入LLM,生成的编码经过映射得到预测结果。
然而,本文认为这种建模方法没有充分利用大模型自回归的能力。因此,本文提出采用自回归的方式将大模型应用到时间序列预测中。并结合NLP中的prompt、in-context learning等技术,提升大模型时序预测的效果。
本文的建模方法主要可以分为时序信息处理、大模型预测、时序in-context learning三个部分。整体的建模流程图图所示。
时序信息处理:LLM输入时间序列编码和位置编码两种类型的信息。对于时间序列,将其分解成多个不重叠的segment,每个segment通过一个Embedding层映射成一个token embedding。对于每个时间步的具体信息,取每个片段最后一个时间戳的文本信息,直接用其对应的LLM文本编码作为position embedding。每个片段的序列编码和位置编码拼接到一起,作为LLM的输入。
大模型预测:AutoTime整体建模采用自回归的方式。时间序列信息输入到LLM后,LLM参数固定不变,生成segment对应的编码。然后使用一层网络,将每个segment的编码映射成时间序列值,使用MSE计算loss进行模型优化。训练任务采用next item prediction的形式,循环的根据前面的时序token预测下一个时序token,和LLM的优化方式对齐。
时序In-context Learning:借鉴NLP中的In-context Learning思路,文中在进行目标数据集的预测时,利用源数据集中的时间序列构建prompt,拼接到当前待预测的数据中。通过在源数据集中,抽取几对历史序列+未来序列数据,转换成token embedding后,拼接到当前样本前面,作为context信息,帮助大模型对当前样本的预测。
文中在短周期时序预测、长周期时序预测等任务上都进行了实验,取得了大模型时序预测方法中的最优效果,相比传统的PatchTST等建模方法也有优势。
文中也进一步验证了In-context Learning的效果。相比Zero-shot Learning,In-context Learning在引入例子作为prompt信息后,使得模型的预测效果取得了进一步提升。
通过case分析也可以看出,In-context Learning的预测结果更加准确。
投稿&加交流群请加微信,备注机构+方向拉群~