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