LLM4TS:使用预训练的 LLM 进行时间序列预测的两阶段微调

LLM4TS是由中国台湾省阳明交通大学提出的基于大语言模型的时间序列预测框架,该框架利用两阶段微调的方法使LLM适用于时序预测任务,并在多个数据集上验证了该方法的有效性。LLM4TS是较早将LLM应用于时序领域的研究,为有限数据场景下的应用提供了可行方案,也为后续研究提供了思路。

LLM4TS: Two-Stage Fine-Tuning for Time-Series Forecasting with Pre-Trained LLMs

1.背景和问题

1.1. 研究背景

  多元时间序列数据普遍存在不同领域中,其中多元时间序列预测是一个重要应用。有许多研究者针对该问题展开研究:首先从时间序列数据中提取有意义的表征,然后使用这些学习到的序列表征进行预测。
  鉴于可用的时序数据的规模有限,本文的目标是利用预训练过的大语言模型(LLM)进行时序数据表示学习。LLM具有强大的表示学习和少样本学习能力,但要利用LLM处理时间序列,需要解决两个关键问题:
  (1) 如何将时间序列数据输入LLMs? 为了将时间序列输入到LLM,需要对齐进行tokenize,近期的研究工作(Zhang等人,2023年)强调通过"patching"的方式对时间序列、图像、音频等各类数据进行torkenize都是非常有效的。PatchTST方法)基于通道独立性的思想将多变量时间序列数据视为多个单变量时间序列,将单个序列划分成不同的patch。而一些基于transformer的时间序列预测相关的工作强调了整合时间信息可以增强模型的预测性能,因此本文提出一种新方法,使用patch和通道独立思想的同时对时序信息进行处理。
  (2)如何在不破坏LLM固有特性的情况下对其进行微调使其能够适配时间序列任务?构建像InstructGPT和ChatGPT这些对话系统时,通常利用有监督微调(SFT)将模型与基于指令的数据进行对齐,使得大模型熟悉数据的格式和特性。基于此,本文提出了一种两阶段微调方法:i)首先通过SFT将模型与时间序列的特性进行对齐,引导LLM适应时间序列;ii)然后以下游预测任务为导向进一步对模型进行微调,在不破坏LLM固有特性的基础上使得模型能够更好地适配各类不同类型的数据及不同的下游任务。
  本文提出了一个基于大语言模型的时间序列预测的框架——LLM4TS,主要贡献如下:

  • 时间序列数据与LLM的集成:利用patch和通道独立对时间序列数据进行tokenize,提出一种新的时间信息与patch的集成方法;

  • LLM的两阶段微调:首先监督微调阶段使LLM与时间序列数据对齐,然后是专门用于时间序列预测的下游任务微调阶段;

  • 为了确保LLM对时间序列数据的鲁棒性和适应性,采用两种PEFT技术,层归一化微调和LoRA;

  • 利用LLM的少样本学习能力,使本文的方法能解决真实场景中数据量受限的问题。

1.2. 研究问题

  给定一个均匀采样的多元时间序列,使用滑动窗口对序列进行采样,如下图所示。滑动窗口的步长为1,总长度为:包含输入长度为历史数据,以及预测长度为未来的数据。对于每个时间步,表示一个维向量。
  本文的目标是根据历史数据来预测未来数据。

2.方法介绍

本文提出的LLM4TS架构如下图所示。

  以GPT-2为backbone,图中左侧(a)部分是第一阶段——监督微调阶段,使用自回归方法将主干模型与时间序列数据对齐;图中右侧(b)部分是第二阶段——下游任务微调。下面对本文提出的两阶段微调方法进行详细解释。

2.1. 两阶段微调

  • 一阶段:监督微调
       第一阶段以自回归形式进行有监督微调,来使得模型适配时序数据,这是因为GPT-2是一个因果语言模型(这里的因果是指以自回归的形式,仅利用历史数据进行预测,并不会采用未来的数据)。这样既保留了语言模型本身的知识,又使模型能够适应时间序列数据。在这个阶段模型输出为patch形式,这里可以利用一个线性层来改变输出的维度。。

  • 二阶段:下游任务微调
      将主干模型的训练权重(包括编码层的权重)转移到下游任务微调阶段进行时间序列预测。当针对下游任务调整骨干模型时,主要有两种策略:全参数调整和只调整最后的线性层。本文在前部分迭代中采用线性微调策略(仅调整最后的线性输出层),而在后一阶段的迭代中采用完全微调的策略(调整所有可训练参数)。这个阶段的模型输出也为patch形式,可以将其展平后再输入线性层获取指定维度。

2.2. LLM4TS框架细节

  虽然监督微调阶段和下游任务微调阶段的输入是相同的,但模型的组件在两者之间并不是都共享的。接下来对LLM4TS的框架进行详细讲解,分析从初始输入到最终输出的全流程。

  • Instance Normalization
      本文采用标准的instance noramlization,对每个patch的各个序列,根据其均值和标准差进行z-score标准化。

  • Patching and Channel-Independence
      采用patchTST的思想,首先将多变量序列视作多个单个变量序列(即认为通道间相互独立),由单个模型进行处理。相比于通道混合的方式来提取通道间的相关性,patchTST通过不同序列共享模型参数的方式来捕捉通道间的关联,能够避免过拟合。然后,将每个序列分成指定长度的多个patch作为LLM的基础分析单元token,这些patch可以相互重叠,也可以不重叠,具体可根据数据输入长度调整。patching的操作,在增大输入数据历史时间跨度的同时并不会增加输入token的长度,能够有效提升效率。

  • Three Encodings
      Token编码使时间序列patch变成LLM能够兼容的形式。在传统的NLP中,token编码通常是使用一个可训练的查找表来将token映射到一个高维空间来实现的。由于本文中的token是时间序列patch,因此采用一维卷积层进行编码。
      位置编码采用的是NLP模型中的标准形式,使用一个可训练的查找表来映射patch的位置。
      时间编码,大量研究表明,在时间序列分析中,将时间信息与基于tranformer的模型相结合具有优势。然而,在处理的时间序列patch时,需要将多个信息片段聚合成统一的表示形式,通常面临两个挑战:1)每个patch包含多个时间戳,2)每个时间戳都带有各种时间属性,如分钟、小时、星期几、日期和月份。对于第一个问题,本文将时间戳引入token中,针对于第二个问题,借鉴NLP中构建token方式,为分钟/小时/日期/月份等时间相关属性构建了可训练和查找的embedding,并将各个属性的embedding相加作为最终的temporal embedding,保存patch内的时间相关信息。
      最终,每个patch对应的最终token由三部分组成:token编码+位置编码+时间编码

  • Pre-Trained LLM and PEFT
      本文使用GPT-2作为backbone。为了保留模型的基本特性,冻结了大部分参数,特别是Transformer模块内的多头注意力和前馈层的参数。本文融合了两种参数高效微调技术(PEFT):层归一化调整(Layer Normalization Tuning)和 LoRA(LowRank Adaptation),来提高模型面对未知数据的泛化性能和灵活性。对于可训练的部分参数(约占总参数量的1.5%),论文采用了2.1所述的两阶段微调方式。

3.实验和结果

3.1. 数据集

  本文使用了7个数据集:天气、交通、电力和4个ETT集(ETTh1、ETTh2、ETTm1、ETTm2)。数据集统计情况如下表所示。

3.2. 实验设置

  在长时序预测、少样本学习和消融实验中,参数设置与PatchTST保持一致,回溯窗口长度设置为336或512。使用PatchTST的patch设置,patch长度 = 16和步长 = 8。在自监督学习实验中,调整 = 512, = 12, = 12。此外,本文只使用了12层GPT-2的前6层,与GPT4TS的设置保持一致。

3.3. 长时序预测

  对于所有数据集,本文使用一致的预测长度集{}给出结果。根据文本的两阶段微调方法,模型在监督微调后被标记为SFT(Supervised Fine Tuning)模型,在下游微调后被标记为DFT(Downstream Fine Tuning)模型。对于每个数据集,所有预测长度都使用一个SFT模型,而为每个预测长度部署一个不同的DFT模型。对于同一数据集中的DFT模型,在不同的预测长度上保持一致的超参数。虽然使用预先训练的LLM的主要目的是小样本学习,但LLM4TS仍然超过大多数基线方法。LLM4TS在14个评估中的9个中占据了领先地位,涵盖了7个数据集和2个指标,结果如下表所示。

3.4. 小样本学习

  预训练的LLM具有固有的知识,在少样本学习方面表现出色,本文期望其在长时序预测中同样能够发挥作用。实验中,正常预测(使用完整的训练集)和少样本学习中的训练、验证和测试集保持一致。对于少样本学习,为了验证LLM4TS小样本学习的有效性,分别使用10%和5%的训练数据进行微调,结果如下表3和表4所示。LLM4TS和GPT4TS在不同的数据集中始终优于大多数竞争对手,且LLM4TS在每个数据集上都优于GPT4TS。

3.5. 自监督学习

  自回归是一种自监督学习技术,目标是评估SFT模型的表示学习能力。在完成一阶段监督微调后直接使用线性头进行下游任务预测。使用ETTh1数据集进行长时序预测,以评估表示学习的有效性。如表5所示,LLM4TS在本次评估中的表现优于竞争对手。

3.6. 消融实验

  • 监督微调、时间编码和PEFT的有效性
      研究了监督微调、时间编码和PEFT对预测的影响。在ETTh1数据集上对正常预测和小样本学习方法进行了评估。实验结果表明了这三个的有效性。

  • 下游任务微调中训练策略的有效性
      本文在前部分迭代中采用线性微调策略(仅调整最后的线性输出层),而在后一阶段的迭代中采用完全微调的策略(调整所有可训练参数)。这个阶段的模型输出也为patch形式,可以将其展平后再输入线性层获取指定维度。该方法提高了DFT模型在正常预测和小样本学习中的性能,如表7所示。

4. 结论

本文提出了一个基于LLM的时间序列预测框架——LLM4TS。利用patch和通道独立对时间序列数据进行处理,使得时间序列数据与LLM的集成;提出了LLM的两阶段微调技术:首先监督微调阶段使LLM与时间序列数据对齐,然后是专门用于时间序列预测的下游任务微调;为了确保LLM对时间序列数据的鲁棒性和适应性,采用两种PEFT技术,层归一化微调和LoRA;利用LLM的少样本学习能力,使本文的方法能解决真实场景中数据量受限的问题。

更多内容,敬请关注同名微信公众号:时空大数据兴趣小组。

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值