大语言模型关于时间序列预测的文章和关于LLM做金融预测的文章

任务: 寻找大语言模型关于 时间序列预测的 文章   关于LLMTS预测的文章

 

下面是我的总结:

所有的文章都是为了解决一个问题:TS数据和文本数据之间的对齐问题。

 

将时间序列(Time Series, TS)与LLM融合的方式有两条路线:

(1)LLM-for-TS:针对TS数据,从头开始设计并预训练一个基本的大型模型,然后为各种下游任务相应地微调模型;

(2)使用现有的预训练模型,仅创建一个TS专用的embedding层;

(3)使用现有的预训练模型,创建一个TS专用的embedding层,并对某些层进行简单微调

(4)使用现有的预训练模型,创建一个TS专用的embedding层,并对某些层进行简单微,提示学习。Prompt + 高效微调(lora

 

总结:有用的Patching方法(这个就是为TS创建专用embedding层)、基于提示学习的方法、使用lora微调位置编码层和归一化层

 

下面是每一篇的文章:

-------------------------------------------------------------------------------------------------

 

1. 路线(1

TimeGPT:第一个时间序列的大模型

知乎介绍 https://zhuanlan.zhihu.com/p/663615513

论文地址 https://arxiv.org/pdf/2310.03589.pdf

TimeGPT是一个预训练模型,

 

首个时间序列基础大模型

多层Encoder+Decoder组成

训练集:1000亿行的金融、天气、能源和网络数据。

评估指标包括相对平均绝对误差和相对均方根误差

 

 

2.路线(2

TEST:Text Prototype Aligned Embedding to Activate LLMs Ability for Time Series

中文标题:基于对比学习的时序数据embedding

知乎介绍 https://zhuanlan.zhihu.com/p/678655295

论文地址 https://arxiv.org/abs/2308.08241v1

 

创建一个新的embdeeing层,仅供TS数据使用

其它的数据如提示语进入之前LLMembedding

 

1)将TS token化,并训练编码器的encoder,用对比学习表征TS tokens

      对比学习中:时间序列标记 文本标记词(大、小、上升、下降、稳定、波动) embedding层的向量相似度拉近或远离。

  冻结原始LLM的所有参数,只训练新创建的embedding层。

  损失函数 = 对比学习的损失函数

2)然后使用prompt learning来训练提示词模板

 

 

3.路线(2

One Fits All: Power General Time Series Analysis by Pretrained LM

知乎介绍 https://zhuanlan.zhihu.com/p/650863164

论文地址 https://arxiv.org/abs/2302.11939

使用LM大模型+微调时间序列,对时间序列的下游任务进行预测;

 

微调方法:

冻结原本LLM的所有参数

创建一个新的embedding层,仅供TS数据使用

新增加一个Normalization 层,输入是TS数据,输出是均值和方差,输出和新的embeddingTStoken拼接,输入到LLM

因为LLM的上下文长度受限,使用 补丁Nie聚合相邻的方式保证输入给LLMtoken的长度不变。

只调整新的embedding层。

 

4.路线(2

Large Language Models Are Zero-Shot Time Series Forecasters

这篇文章:说的是一种构造新的embedding层的方法,仅供TS数据使用。

具体的方式:(具体我没看懂,但是应该挺简单的)

利用语言模型的条件概率建模数字,就是根据前面的数字预测下一位为各个数字的概率,是一种迭代的层次softmax结构,加上大模型的表征能力,可以适配各种各样的分布类型,这也是大模型可以以这种方式用于时间序列预测的原因。同时,模型对于下一个数字预测的概率,也可以转换成对不确定性的预测,实现时间序列的不确定性预估。

 

5.路线(2

TIME-LLM: TIME SERIES FORECASTING BY REPROGRAMMING LARGE LANGUAGE MODELS

 

提出了一种reprogramming方法,将时间序列映射到文本,实现时间序列和文本这两种模态之间的对齐

具体实现方法为,首先将时间序列分成多个patch,每个patch通过MLP得到一个embedding。然后,将patch embedding映射到语言模型中的词向量上,实现时间序列片段和文本的映射和跨模态对齐。 这个patch就是文章9中的patching思想。

 

 

 

从图中可以看出:冻结了LLM的所有的参数,只调整了红框中的两部分。

 

6.路线(2

Lag-Llama: Towards Foundation Models for Time Series Forecasting

 

核心包括特征层面和模型结构层面的设计

 

原始时间序列不同时间窗口的历史序列统计值,获得lag features

lag features 输入到 LLM

只调整llama模型中的normalization方式和position encoding,注意不是微调,是直接写死。LLM模型参数冻结。

修改模型的最后的输出层,拟合概率分布函数如高斯分布,获得freedommeanscale三个参数传入到MLP中,获得最后的结果

 

7.路线(2

Spatial-Temporal Large Language Model for Traffic Prediction

交通预测,预测交通流量

 

新增embedding层仅用TS

冻结前F层的LLM的所有参数,全量调F层后面的LLM的多头注意力层的参数

LLM的输出接入回归卷积层

 

8.路线(3

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

知乎介绍 https://zhuanlan.zhihu.com/p/652524958

论文地址 https://arxiv.org/pdf/2308.08469.pdf

注:因本文没有开源源代码,所以争议性很大。但确实是一篇好文章

 

PatchTST方法基于patching通道独立性的思想将多变量时间序列数据视为多个单变量时间序列,将单个序列划分成不同的patch

首先通过监督微调将模型与时间序列的特性进行对其,引导LLM适应时间序列的数据;

接下来以下游预测任务为导向进一步对模型进行微调,从而保障不破坏语言模型固有特性的基础上使得模型能够更好地适配配各类不同域的数据和下游任务

 

专门为Ts创建的embedding层、

文章写了微调(分为两步:自回归的微调和下有任务的微调)、

使用loralayer normalization turn 的方式进行微调、

 

 

 

9.路线(2

A Time Series is Worth 64 Words: Long-term Forecasting with Transformers

知乎介绍 https://zhuanlan.zhihu.com/p/602332939

论文位置 https://arxiv.org/pdf/2211.14730.pdf

 

本文提出了Patching的思想,它可以将TS和文本数据对齐。很多文章都引用这个文章

它们都是将时间序列分成若干个时间段(可以重叠,也可以不重叠),每一个时间段就是一个token,再加上位置编码,输入到TransformerEncoder中,Encoder输出向量flatten得到预测头

本文还有其它的知识点(还没有认真的看):Channel-independence、自监督学习

 

 

 

  1. 路线(2Preformer

论文地址 https://arxiv.org/pdf/2202.11356.pdf

 

本文提出了Preformer的思想,它可以将TS和文本数据对齐。

它们都是将时间序列分成若干个时间段,每一个时间段就是一个token

Preformer 是在 Patching前提出来的,效果没有Patching。 Patching是根据这篇文章继续研究得出来的。

 

 

  1. 路线(3) 

OFAOne Fits All:Power General Time Series Analysis by Pretrained LM

知乎介绍 https://zhuanlan.zhihu.com/p/664785806

论文地址 https://arxiv.org/abs/2302.11939

 

冻结预训练模型的embedding层和自注意力块

对位置嵌入和层归一化进行了微调

没有为TS数据专门重新创建embedding

采用可逆实例归一化来解决实例分布变化影响大多数时间序列预测方法准确性的问题。这种方法通过计算输入时间序列的均值和方差进行归一化,然后将它们添加回输出

采用了缺失填充来提取局部语义信息。通过聚合相邻的时间步形成基于补丁的单个令牌,填充大大增加了输入的历史时间范围,同时保持了令牌长度相同并减少了转换器模型的冗余信息。

采用Patching的思想

 

 

 

  1. 路线(3

PromptCast: A New Prompt-based Learning Paradigm for Time Series Forecasting

 

知乎介绍 https://zhuanlan.zhihu.com/p/673922129

论文地址 https://arxiv.org/pdf/2210.08964.pdf

 

基于提示的时间序列预测学习范式 PromptCast

通过提示此模板,将TS转换为文本信息

提出了一个方案,使用prompt turning或者p-turning的方式来对LLM进行微调,使LLM适应TS数据

 

 

  1. 路线(2

TEMPO: Prompt-based Generative Pre-trained Transformer for Time Series Forecasting

Tempo:基于提示工程的预训练时序预测模型

 

知乎地址 https://zhuanlan.zhihu.com/p/675515880

论文地址 https://web3.arxiv.org/pdf/2310.04948.pdf

 

Tempo模型首先将复杂的时间序列解耦为趋势项、季节项和残差项,进一步将其映射到相应的隐藏空间,以构建GPT能够识别的输入。

Tempo构造了一个prompt池,为解耦得到的不同成分分配不同的提示词,使得模型利用历史信息来适应时间序列分布的变化。

 

posted @ 2024-01-27 10:23  纯丿乱  阅读(705)  评论(1编辑  收藏  举报