近期,加利福尼亚大学发表了一篇时间序列大语言模型工作综述,这篇文章主要介绍的是将NLP领域预训练好的大语言模型应用到时间序列预测领域的方法总结,总结了5种类型NLP大模型应用于时间序列领域的方法。下面给大家介绍一下这篇总结的5种方法。
图片
论文标题:Large Language Models for Time Series: A Survey
下载地址:https://arxiv.org/pdf/2402.01801.pdf
图片
1、基于Prompt的方法
这种直接利用prompt的方式让模型针对时间序列数据输出结果,文中列举了一些之前的prompt方法,基本思路就是预训练定义一个prompt文本,把时间序列数据填充进来,让模型直接生成预测结果。例如下面的例子中,构造了一段文本,描述这个时间序列的具体任务,然后将时间序列的数据填充到文本中,让模型生成时间序列的预测结果。
图片
这种方式将时间序列的数字直接视为文本的一部分,涉及到数字的tokenize问题,一些工作针对数字的tokenize特别加入了每个数字之间的空格,让数字能更清晰的区分出来,避免词典中对数字区分的不合理问题。
2、离散化
这类方法将时间序列进行离散化处理,将连续的数值转换为离散的id化结果,以适配NLP大模型的输入形式。例如,一种方法是借助Vector Quantized-Variational AutoEncoder(VQ-VAE)技术,将时间序列映射成离散的表征。VQ-VAE是一种VAE基础上的autoencoder结构,VAE通过Encoder将原始输入映射成表征向量,再通过Decoder还原原始数据。而VQ-VAE则保证了中间生成的表征向量是离散化的。根据这个离散化表征向量构造成一个词典,实现时间序列数据离散化的映射。另一种方法是基于K-means的离散化,利用Kmeans生成的质心将原始的时间序列离散化。另外再一些工作中,也将时间序列直接转换成文本,例如在一些金融场景中,将每天的涨价、降价等信息直接转换成相应的字母符号作为NLP大模型的输入。
图片
3、时间序列-文本对齐
这类方法借助到多模态领域的对齐技术,将时间序列的表征对齐到文本空间,以此实现时间序列数据直接输入到NLP大模型的目标。
在这类方法中,一些多模态对齐的方法被广泛应用其中。一种最典型的就是基于对比学习的多模态对齐,类似CLIP,使用时间序列编码器和大模型分别输入时间序列和文本的表示向量,然后使用对比学习拉近正样本对之间的距离,在隐空间对齐时间序列数据和文本数据的表征。
另一种方法是基于时间序列数据的finetune,以NLP大模型作为backbone,在此基础上引入额外的网络适配时间序列数据。这其中,LoRA等跨模态finetune的高效方法比较常见,冻结backbone的大部分参数,只对小部分参数进行finetune,或者引入少量的adaptor参数进行finetune,以达到多模态对齐的效果。
图片
4、引入视觉信息
这种方法比较少见,一般是将时间序列和视觉信息建立联系,再将利用图像和文本已经经过比较深入研究的多模态能力引入进来,为下游任务提取有效的特征。例如ImageBind中对6个模态的数据进行统一的对齐,其中就包括时间序列类型的数据,实现多模态的大模型统一。一些金融领域的模型,将股票的价格转换成图表数据,再配合CLIP进行图文对齐,生成图表相关的特征用于下游的时间序列任务。
5、大模型工具
这类方法不再对NLP大模型进行模型上的改进,或者改造时间序列数据形式进行大模型适配,而是直接将NLP大模型当成一个工具,解决时间序列问题。例如,让大模型生成解决时间序列预测的代码,应用到时间序列预测上;或者是让大模型调用开源的API解决时间序列问题。当然这类方式就比较偏向实际应用了。
最后,文中总结了各类方法的代表工作以及代表数据集:
图片
图片