当前位置:   article > 正文

利用大模型进行时序数据预测_时序大模型

时序大模型

背景概述

    大模型,即大语言模型(LLM),指大规模语言模型(LLM)是指包含数千亿(或更多)参数的Transformer语言模型。这些模型是在大规模文本数据上进行训练的,例如GPT-3,PaLM和LLaMA。LLM展现了理解自然语言和解决复杂任务(通过文本生成)的强大能力。目前,LLM以Transformer为主要架构,Transformer相对于传统的RNN架构,所有token可以同时捕捉长距离依赖关系,其中大量运算为矩阵可以更好的并行处理序列0中数据,在处理自然语言文本时会表现出很好的性能。

技术演变

    自ChatGPT发布以来,AI相关人员开始不断注意到GPT模型,或是说大模型。不断有新的团队推出他们自己的大模型结构,大模型得以万花齐放蓬勃发展。

在这里插入图片描述

  国外大模型主要由以下部分公司推出更新:

  • OpenAI
    ChatGPT:由GPT-3语言模型开发的开源聊天机器人,能够分析用户的输入语句,进而回答问题、提供帮助或是生成内容等。允许用户与ChatGPT进行多方面内容对话交流,输出有趣且有价值的对话。
    GPT-4:2023年3月,OpenAI发布的多模态大模型GPT-4,相比于先前发布的模型,GPT-4能将输入文本扩展为多模态文本,接受图像和文本的输入,具备更强的解决复杂任务的能力。根据实验表明,GPT-4在某些测试中已经具备人类水平,例如能顺利通过模拟律师考试,并且成绩在前10%中。

在深度学习中,多模态是指训练人工智能模型来处理和发现不同类型数据之间的关系——通常是图像、视频、音频和文本。通过结合不同的数据类型,模型可以更普遍地理解其环境,因为某些线索仅存在于某些数据中。想象一下情绪识别的任务。它不仅仅是看一张人脸(视觉模态)。一个人的声音(音频模态)的音调和音高编码了大量关于他们情绪状态的信息,这些信息可能无法通过他们的面部表情看到,即使他们经常是同步的。

  • Google
    LaMDA:LaMDA是谷歌团队推出,用于对话的大语言模型,其模型有137B的参数量,同时使用1.56万亿个公开对话数据作为训练数据。它的开发是为了克服传统聊天机器人的局限性,传统聊天机器人在对话中往往遵循狭窄的、预定义的路径。LaMDA参与曲折对话的能力可以为技术和新类别的应用程序提供更自然的交互方式。
    PaLM:PaLM是一个具有5400亿个参数的语言模型,能够处理各种任务,包括复杂的学习和推理。它在语言和推理测试中可以胜过最先进的语言模型和人类。PaLM系统采用了少样本学习的方法,可以从少量的数据中泛化,近似模拟人类学习和应用知识来解决新问题的方式。

  • Deepmind
    Gopher:DeepMind的语言模型Gopher在阅读理解、人文、伦理、STEM和医药等领域展示了统一的改善。在事实检测上也有统一的改善。在常识推理、逻辑推理和数学上看到了轻微的改善,以及在几个任务上有轻微的下降。总的趋势为,在较为依赖推理的任务上改善少,在知识密集的任务上改善大。。Gopher拥有2800亿个参数可供调整,使其比OpenAI的GPT-3更大,后者只有1750亿个参数。
    Chinchilla:Chinchilla使用与Gopher相同的计算预算,但只有700亿个参数和四倍的数据。在许多下游评估任务中,它胜过了Gopher、GPT-3、Jurassic-1和Megatron-Turing NLG等模型。它在微调和推理方面使用的计算资源明显较少,极大地促进了下游应用的使用。
    Sparrow:Sparrow对话机器人,最大的特色在于直接对用户的反馈进行学习,那样就不需要为对话各种琐碎细节去设计不同的模块跟任务,把决策权进一步交给模型,让模型自己去学,而对于那些机器人可能学不好的地方,通过预先定义的规则去构造对应的训练数据,让模型自己去补全。

  • Meta
    OPT-IML:OPT-IML是基于Meta的OPT模型的预训练语言模型,拥有1750亿个参数。OPT-IML经过微调,以在自然语言任务(如问答、文本摘要和翻译)中获得更好的性能,使用了约2000个自然语言任务进行训练。它在训练过程中更高效,并且比OpenAI的GPT-3具有更低的CO₂排放量。
    LLaMA-2:LLaMA模型,由 Meta AI 发布的一个开放且高效的大型基础语言模型,共有 7B、13B、33B、65B四种版本。LLaMA 的性能非常优异:具有 13 B参数的 LLaMA 模型「在大多数基准上」可以胜过 GPT-3(175B),而且可以在单块 V100 GPU 上运行;而最大的 65B参数的 LLaMA 模型可以媲美谷歌的 Chinchilla-70B 和 PaLM-540B。LLaMA基于Hoffmann的研究理论,最佳性能模型并非最大模型,而是基于更多数据上的较小模型。因此LLaMA基于更多更广泛的公开可用训练集,同时参数量远低于其他市面的大模型。LLaMA-2对比与LLaMA-1,训练的token数据从1.0T增加到2.0T,最大模型参数量从65B增长到70B,在性能上对比LLaMA各项测试中,平均提高8个百分点。

国内的部分公司及其大模型:

  • 百度
    Ernie 3.0:ERNIE 3.0的统一框架,用于预训练大规模知识增强模型。它融合了自回归网络和自编码网络,使得训练的模型可以轻松适应自然语言理解和生成任务,实现零样本学习、少样本学习或微调。Ernie 3.0 使用了10B参数在一个由纯文本和大规模知识图构成的4TB语料库上训练了该模型。实证结果显示,该模型在54个中文NLP任务中胜过了最先进的模型,而其英文版本在SuperGLUE基准测试中排名第一(2021年7月3日),超过人类表现0.8%(90.6% vs. 89.8%)。
    Ernie 3.0 Titan:由百度和鹏程实验室联合发布,它有 260B 个参数,擅长自然语言理解和生成。它在海量非结构化数据上进行了训练,并在机器阅读理解、文本分类和语义相似性等 60 多项 NLP 任务中取得了一流的成绩。此外,泰坦还在 30 项少拍和零拍基准测试中表现出色,这表明它有能力利用少量标记数据在各种下游任务中进行泛化。ERNIE 3.0 Titan是迄今为止最大的中文密集预训练模型。实证结果显示,ERNIE 3.0 Titan在68个NLP数据集上胜过了最先进的模型。
  • 华为
    PanGu-Alpha:业界首个2000亿超大参数中文预训练模型“盘古α”。模型在16个下游任务中大部分指标优于SOTA模型,其中零样本学习任务11个任务领先,单样本学习任务12个任务领先,小样本学习任务13个任务领先。代码、模型正同步在OpenI 启智社区全部开源开放,在线服务体验将在测试评估优化后选择开源开放。
  • 智谱AI
    GLM:一个基于自回归填空的通用预训练框架,通过在一个统一的框架中同时学习双向和单向的注意力机制,模型在预训练阶段同时学习到了上下文表示和自回归生成。在针对下游任务的微调阶段,通过完形填空的形式统一了不同类型的下游任务,从而实现了针对所有自然语言处理任务通用的预训练模型。

   近年来 LLM(指规模大于 100 亿的模型)的统计数据,包括评估、预训练数据规模(以 token 数量或存储大小表示)和硬件。在本表中,我们仅列举有公开论文介绍技术细节的 LLM。这里,“发布时间”表示相应论文正式发布的日期。“可公开获取”表示模型检查点可以公开获取,而“闭源”则相反。“适配”指模型是否经过了后续微调:IT 表示指令微调,RLHF 表示人类反馈的强化学习。“评估”表示模型是否在原始论文中评估了相应的能力:ICL 表示上下文学习,CoT 表示思维链。“*”表示最大的公开可用版本。

在这里插入图片描述


   在这几年的时间,各大公司推出了各式各样的大模型,参数量越来越大,效果也越来越好。而其内核始终还是Transformer,不同的大模型的区别只是在模型、结构、位置编码、激活函数、layer norm方法上采取稍微不同的策略。

在这里插入图片描述

   随着大模型的发展,模型参数量越来越大,模型是很难调参的,参数太多、内存过大难以容纳、不容易收敛、所需数据要求过大。因此对于大模型的使用,需要采用微调的方法:Prompt-Tuning 、 Adapter-Tuning 、 LoRA等。

Prompt-Tuning:固定预训练参数,在输入层处理数据时,对每个任务添加一个或多个embedding,并且微调模型时训练这些embedding,而不是全参数微调。
    例如,传统情感分析二分类任务中,[CLS] I like the Disney films very much. [SEP],对于这样的语句,通过大模型后获得 [CLS]表征,再喂入新增加的MLP分类器进行二分类。
    Prompt-Tuning方法则是,通过人工定义等方法,生成与给定句子相关的一个含有[MASK]标记的模板。例如It was [MASK](it was词元的向量则被视为embedding初始化向量).,并拼接到原始的文本中,获得Prompt-Tuning的输入:[CLS] I like the Disney films very much. [SEP] It was [MASK]. [SEP]。将其喂入BERT模型中,并复用预训练好的MLM分类器(在huggingface中为BertForMaskedLM),即可直接得到[MASK]预测的各个token的概率分布,当[MASK]为good或great等积极词汇,情感分析结果为positive类,反之亦然。


在这里插入图片描述

Adapter-Tuning :谷歌研究团队提出,在Transformer架构中,插入Adapter结构,再冻结原本的所有模型参数,只对新插入的Adapter结构进行微调。每个Adapter模块由两个前馈子层组成,第一个前馈子层将Transformer块的输出作为输入,经过down-project层将原始输入维度降低,通过低维度特征来限制Adapter模块的参数量,通常情况下中间层低维度会远小于输入层高纬度。在输出阶段,通过第二个前馈子层还原输入维度,经过up-project层,将低纬度特征重新映射回高纬度特征。

在这里插入图片描述

LoRA:上述两种方式都存在相应弊端,Adapter 方法由于在模型中插入模块,增加了模型的深度从而额外增加了模型推理的延时。Prompt方法 较难训练,同时减少了模型的可用序列长度,往往效率和质量不可兼得,效果差于 full-finetuning。
    Low-Rank Adaption(LoRA),设计了如下所示的结构,在涉及到矩阵相乘的模块,引入 A、B 这样两个低秩矩阵模块去模拟 Full-finetune 的过程,相当于只对语言模型中起关键作用的低秩本质维度进行更新。同时与Adapter类似,将矩阵秩降维,再升维,达到降低参数量的效果。

在这里插入图片描述



时序数据大模型


   由于大模型以Transformer为架构,大模型因此主要应用与NLP领域。随着Transformer在CV领域的发展,大模型设计和应用也开始往CV领域靠拢。但基本上大模型的多模态都是围绕着NLP和CV,以处理时序数据为主的大模型还是比较少的,根本原因在于时序数据的数据类型是特殊的。

    如果要将训练处理时序数据为主的大模型,需要大量的数据积累。同时时序数据同文本数据和图像数据相比,数据量少、专业性强且难以泛用、还会涉及隐私问题,获取大量的可应用于大模型的时序数据难度较大。另外,时序数据往往更专注与垂直领域,由于不同领域的时间序列数据存在重大差异,以单一领域的时序数据作为大模型的训练数据,是难以在其他领域的下游任务中达到很好的效果,不具备很强的泛化能力,需要从头开始构建和训练针对医疗、工业等不同领域的各种模型。

    因此要使大模型使用于时序数据,可行的方法是设计相应机制对时间序列进行适配,使其适用于现有的NLP或CV大模型,即LLM+微调时间序列数据做下游任务。阿里团队于2023年2月的论文使用LM大模型+微调时间序列进行下游任务
    阻碍时间序列数据大模型的开发主要是缺乏大量的合适训练数据,那么我们就利用预先训练好的语言或CV大模型,冻结模型中自注意层和前馈层。这种冻结后的结构被称为冻结预训练TransformerFPT),再对模型进行微调,力求在时间序列分类、长短期时间序列预测、imputation(归因)、异常检测、小样本学习、零样本预测上的获得SOTA。
   具体步骤如下:

  • Frozen Pretrained Block冻结预训练模块,由于大模型的自注意层和前馈层已经从大量数据中学习到大部分知识,因此我们需要对其冻结,如下图所示,冻结Multi-Head Attention 和 Feed Forward层,微调Norm层,以达到具备解决下游任务效果。
  • Positional Embeddings and Layer Normalization 位置嵌入和图层规范化,冻结自注意层和前馈层后,微调模型中的Positional Embeddings层和Norm层。

在这里插入图片描述

  • Input Embedding,时序数据与语言或CV大模型的输入结构大不相同,因此针对时序数据的各类任务,我们需要对输入层进行重新设计,将时序数据经过Embedding后投影到大模型所需的维度上,采取的方法是线性探测,同时可以减少训练所需的参数量。
  • Normalization 数据规范化,对于跨各种模式的预训练模型是至关重要的。除了在预先训练过的LM中使用的层范数外,我们还加入了一个简单的数据归一化块,反向实例范数Kim等人(2022),以进一步促进知识转移。这个归一化块简单地使用均值和方差规范化输入时间序列,然后将它们添加到输出中。

    其中,亚马逊在2023年6月发布一篇论文利用大模型进行时间序列预测,这篇论文主要面向金融领域进行时序数据预测,金融领域的时序预测建模需要面临更复杂的挑战,更精准的预测率,论文强调以下三点:

  • 建模复杂的序列间关系,在股价预测中,建模复杂的序列间关系至关重要,因为不同股票价格之间存在着紧密的依赖关系和关联性。大型模型具备强大的序列建模和多序列关系建模能力,因此我们可以尝试将这些能力应用到序列预测中。
  • 对文本数据的处理能力,当前金融场景中的时间序列预测问题主要关注如何处理金融资讯信息并将其融入到时间序列预测模型中。股价波动很大程度上受金融资讯影响,单纯的时间序列建模无法覆盖全部信息。因此,有效引入多模态信息对金融场景的时序预测效果具有重要意义。大型模型天然具备强大的文本处理能力,因此成为解决这一问题的有效选择。
  • 可解释性,这也是各个领域的深度学习模型都追求的一个点,如何让模型的预测结果更具可解释性,能让预测结果更有价值,指导我们的行动。大模型的可解释性也很强,例如通过思维链等方式让大模型生成给出答案的原因。

   在这篇论文中,对时序数据预处理方式:将时间序列数据通过离散化的方式转化为符号表示,将涨幅多少转变为文本符号,例如,D2表示跌2%以内,U1表示涨1%以内。同时,大模型处理金融领域数据需要时刻关注金融资讯,论文中利用GPT-4进行信息生成,生成的信息包括公司的整体介绍、公司未来规划、可能影响股价上涨或下降。针对这些讯息,GPT-4再进行摘要生成和提取关键字,作为后续模型输入。
   在模型微调阶段,将GPT-4提取的摘要,作为模型的prompt输入,模型输入数据包括:离散化的时间序列符号、GPT-4生成的公司信息和新闻摘要等。同时论文还进一步采用Instruction Tuning方式,将任务转换为文本,用文本内容为目标微调模型。

    在2023年8月份也有一片论文,利用大语言模型进行时间序列预测工作,其重心仍然是输入与微调。

  1. 数据输入:在数据处理部分,该论文将多变量的长短时序数据,以长度L+T窗口步长为1移动,分成一段段时序数据。同时长度L窗口表示历史数据,长度T窗口表示未来数据。利用这种方法,经过模型后,利用L窗口数据去预测T窗口数据,达到学习效果。
    在这里插入图片描述
          为了适应基于Transformer的模型的时间序列数据,采用了通道独立性和分块处理。通道独立性将多变量时间序列视为多个单变量时间序列数据,然后由单个模型处理。虽然通道混合模型旨在直接利用跨通道数据,但通道独立性通过权重共享间接捕捉跨通道交互,往往能够提供更优异的性能。这是因为通道混合往往受限于有限的数据和过拟合问题。将多变量拆成单变量,再一起经过Transformer后,拼接一起便于计算。

在这里插入图片描述

      时序数据具备最关键的特征,时间。该论文将每一个独立变量的每一个分段记为token,将第一个数据的时间戳引入token中。对于其他数据的时间,需要再引进position embedding;同时引入总体embedding,用于记录patch之间的相关信息。因此每个patch需要经过一位卷积层的token+position embedding+temporal embedding。

  1. 微调模型,和常见微调大模型方式相似,论文对注意力层和前馈层进行冻结,同时训练Norm层和上述提及的三个Embedding结构。另外对于注意力层的QK矩阵,使用LoRA方法,在其旁边并行低秩矩阵,达到降低参数的效果。
          设计完微调思路后,对于整个模型而言,利用自回归方式,通过窗口L数据预测窗口T数据进行监督微调,使模型适配时序数据。面对时序数据的不同下游任务时,在前部分迭代中采用线性微调策略(仅调整最后的线性输出层),而在后一阶段的迭代中采用完全微调的策略(调整所有可训练参数)。这个阶段的模型输出也位patch形式,可以将其展平后再输入线性层获取指定维度。

在这里插入图片描述



[1]A Survey of Large Language Models
[2]The Power of Scale for Parameter-Efficient Prompt Tuning
[3]Parameter-Efficient Transfer Learning for NLP
[4]LoRA: Low-Rank Adaptation of Large Language Models
[5]LLM4TS: Two-Stage Fine-Tuning for Time-Series Forecasting with Pre-Trained LLMs
[6]TEST: Text Prototype Aligned Embedding to Activate LLM’s Ability for Time Series

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/400514
推荐阅读
相关标签
  

闽ICP备14008679号