大语言模型能处理时间序列吗?(LLM for Time Series)

LLM for Time Series:Text Prototype Aligned Embedding to Activate LLM’s Ability for Time Series

今天给大家介绍一篇由北京大学和阿里联合推出的工作,使用LLM实现时间序列的分类和预测任务。

  • 前情提要

目前针对于时间序列LLM的工作主要由两种策略,

一是 LLM for-TS:从零开始设计并预训练适用于时间序列的基础大模型,然后可根据各种下游任务对模型进行微调。这条路径是最基本的解决方案,基于大量数据,通过预训练向模型灌输时间序列相关知识。

二是 TS-for-LLM:设计相应机制对时间序列进行适配,使其能够适用于现有的语言模型,从而基于现有的语言模型处理时间序列的各类任务。这条路径具有一定的挑战性,需要超越原始语言模型的能力。

本文主要探索的是TS-for-LLM问题,主要原因有三方面:

  1. LLM-for-TS 需要大量数据积累。与文本或图像数据相比,时间序列数据更专业且涉及隐私问题,获取大量的时间序列数据更加困难,TS-for-LLM 则可以使用相对较小的数据集。

  2. LLM-for-TS 专注于垂域模型。由于不同领域的时间序列数据存在重大差异,需要从头开始构建和训练针对医疗、工业等不同领域的各种模型。TS-for-LLM 则几乎不需要训练,通过利用插件模块,更具有通用性和便利性。

  3. TS-for-LLM 保留了语言模型的文本能力,同时提供丰富的补充语义信息,易于访问并且用户友好。

本文分别通过instance-wise,feature-wise 和 text-prototype-aligned 对比学习的设计了一种时间序列编码器Test,获取更适用于LLM的时间序列embedding。同时,本文也设计了相应的prompt使得现有的LLM能够更适用于时间序列的嵌入,最终实现多种时间序列任务。

  • 方法介绍
655c2d985dce459452ba42bc7b0a2842.png

文章所提方法包含:1)对时间序列进行标记化(分词处理),然后使用对比学习训练时间序列编码器;2)Prompt设计,两个关键步骤,下面详细进行介绍。

TS Token Augmentation and Encoding

对于包含D个变量,T个样本的多元时间序列, 可将其划分成K个子序列(此过程可视作滑动窗口),s也可称为序列x的token list。将s视作 anchor instance,对应的正样本来自两部分,一是与其具有重叠样本的子序列,二是通过数据增强获得的实例和。通过对原序列加噪声和缩放可得到,而通过对序列进行随机分割并打乱可得到。负样本则为与s不具有重叠样本的实例。

接着,利用映射函数,将每个token映射为M维的表征,最终获得x的token list 。

对于获得的token,首先通过目标函数来保证e能够充分表征原始序列信息。接下来进一步考虑instance-wise 和 feature-wise,text-prototype-aligned 三种对比学习。

instance-wise contrast learning:对于构造的正负实例,保证目标anchor instance 与其对应的正token instance 尽可能相似,与负 token instance 差异尽可能大,目标函数如下:

c79bc39cac007b43f98339a5b181dc40.png

instance-wise contrast learning的弊端在于可能将没有重叠样本,但位置相近且语义相近的实例视为负例。因此,文章进一步设计了feature-wise contrast learning,关注不同列所包含的语义信息,目标函数如下:

b049c4012df3f6c469ff41425370a5dc.png

此目标函数中的,和可通过映射,,获取。B为mini-batch的大小。上述目标函数保证对于每个feature级别,正样本间尽可能相似,负样本间差异尽可能大,但是这样容易导致特征表示收缩到一个较小的空间,因此目标函数的最后一项最大化不同特征间差异。

text-prototype-aligned contrast learning:最后为了让LLM更好地理解构建的TS-embedding,文章设计了text-prototype-aligned contrast learning,将其与文本表示空间进行对齐。目前预训练的语言模型已经有了自己的 text token embedding,例如,GPT-2 将词汇表中的文本token嵌入到维度为 768、1024 和 1280 的表示空间中 。文章强制地对时间序列标记 e 与文本标记 tp 的进行对齐。例如,虽然TS-embedding可能缺少对应相关的文本表述,但是可以拉近其与例数值、形状和频率等描述的相似度。通过这种形式的对齐,TS token 就有可能获得表征诸如时间序列小、大、上升、下降、稳定、波动等丰富信息的能力。然而在实际情况中,因为无法提供监督标签或者真实数据作为基准,上述文本时序对齐的结果很可能无法完全符合现实。例如,具有上升趋势子序列对应的embedding 很可能与具有下降趋势序列的embedding非常相近。为了更好地匹配TS-embedding和文本token,文章设计了如下的对比损失函数:

6c48b5a6657916b70017c1fca6990023.png首先通过约束向量的相似性(最大化TS-embedding 与text embedding之间的余弦相似性),即text alignment部分,其次,使用文本原型作为坐标轴将TS嵌入映射到相应的位置,从而保证相似的实例在文本坐标轴中有着类似的表示。文本原型tp的建模方式是通过前一部分介绍的特征级对比学习来实现的。

7221577409d21b871c32d093dd555bf4.png

通过上述过程,文章构造了语言模型能够理解的嵌入式表示来描述时间序列(TS),但是语言模型仍然需要被告知如何进行接下来的时间序列任务。目前prompt engineering 和 COT思维链直观且易于理解,能够指导达模型获得较好的结果,但这些方法需要连贯的上下文语义,TS-embedding并不具备这样的特效,更像是一种模式序列。因此,本文进一步训练了针对于时序数据的soft prompt,使得语言模型能够识别到不同序列的模式,从而实现时间序列任务。这些软提示是针对特定任务的embedding,可以从均匀分布中随机初始化,或从下游任务标签的文本嵌入中获取初始值、从词汇表中最常见的词汇中获取初始值等,获取prompt的目标函数如下:

ef4f5ebb48d0aa73d1fb414fb11fa9cf.png

文章提到有监督微调方法能有效提高下游TS任务的准确性,但考虑到训练成本高昂以及无法保证微调后的语言模型能够有效理解TS-embedding中的语义信息,文章放弃了有监督微调而采用了训练soft prompt的方式,同时文章也证明了经过训练soft prompt能够达到有监督微调相似的效果。本文所提方法的具体训练过程如下:

02ce9db030033b494c9aa45db3122623.png

在实验部分,通过使用TEST,不同的语言模型在时间序列分类和预测任务上,可以达到与常见baseline模型相媲美的性能。文中实验发现采用更大的模型将获得更准确的结果,作者认为产生这种现象的本质原因与语言模型预训练数据集的大小有关,预训练中使用的数据集越多,原型的选择和提示的设计就不再那么重要。为了探究其中的原因,作者也将在未来进行更多的实验,以深入探究语料库与时序之间的深层次关联。

ac324435a28a93c38658f7d421ae7272.png f0fa57cb1035d31accb09695d252d4bc.png

推荐阅读:

我的2022届互联网校招分享

我的2021总结

浅谈算法岗和开发岗的区别

互联网校招研发薪资汇总

2022届互联网求职现状,金9银10快变成铜9铁10!!

公众号:AI蜗牛车

保持谦逊、保持自律、保持进步

23f97a5803b175d90211f2e6ba7b18e3.jpeg

发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)

发送【1222】获取一份不错的leetcode刷题笔记

发送【AI四大名著】获取四本经典AI电子书

猜你喜欢

转载自blog.csdn.net/qq_33431368/article/details/133053258