LLM用于时序预测真的不行,连推理能力都没用到

语言模型真的能用于时序预测吗?根据贝特里奇头条定律(任何以问号结尾的新闻标题,都能够用「不」来回答),答案应该是否定的。事实似乎也果然如此:强大如斯的 LLM 并不能很好地处理时序数据。

图片

时序,即时间序列,顾名思义,是指一组按照时间发生先后顺序进行排列的数据点序列。

在很多领域,时序分析都很关键,包括疾病传播预测、零售分析、医疗和金融。在时序分析领域,近期不少研究者都在研究如何使用大型语言模型(LLM)来分类、预测和检测时间序列中的异常。这些论文假设擅长处理文本中顺序依赖关系的语言模型也能泛化用于时间序列数据中的顺序依赖关系。这个假设并不令人意外,毕竟语言模型是现在机器学习领域的香饽饽。

那么,语言模型究竟能给传统时序任务带去多大助益?

近日,弗吉尼亚大学和华盛顿大学一个团队尝试解答了这一问题,并最终给出了一个简单却又重要的主张:对于时序预测任务,使用语言模型的常用方法的表现都接近或劣于基本的消融方法,但前者所需的计算量比后者多几个数量级。

图片

  • 论文标题:Are Language Models Actually Useful for Time Series Forecasting?
  • 论文地址:https://arxiv.org/pdf/2406.16964

这些发现是该团队通过大量消融研究得到的,其中揭示出当前时序预测研究中存在一个「令人担忧的趋势」。

但该团队也表示:「我们的目标并不是暗示语言模型永远无法用于时间序列。」事实上,近期一些研究表明语言和时间序列之间具有很好的互动潜力,可以处理时间序列推理和社交理解等任务。

相反,他们的目标是强调这一惊人发现:对于已有的时间序列任务,现有方法几乎没有用到预训练语言模型那与生俱来的推理能力。

实验设置

该团队使用了三种最先进的时间序列预测方法,并为 LLM 提出了三种消融方法:w/o LLM、LLM2Attn、LLM2Trsf。

为了评估 LLM 在时间序列预测任务上的有效性,他们在 8 个标准数据集上对这些方法进行了测试。

用于语言模型和时间序列的参考方法

他们实验了三种近期的使用 LLM 进行时间序列预测的方法。见表 2,这些方法使用的基础模型为 GPT-2 或 LLaMA,同时使用了不同的对齐和微调策略。

在这里插入图片描述

OneFitsAll:OneFitsAll(有时也被称为 GPT4TS)方法会先对输入时间序列使用实例归一化和 patching 技术,然后将其馈送给一个线性层,以获得用于语言模型的输入表征。在训练期间,语言模型的多头注意力和前馈层会被冻结,而位置嵌入和层归一化会得到优化。最终层的作用是将语言模型的最终隐藏状态转换成预测结果。

Time-LLM:使用 Time-LLM 时,输入时间序列会被 patching 技术 token 化,并且多头注意力会将其与词嵌入的低维表征对齐。之后,将这个对齐过程的输出与描述性统计特征的嵌入一起输送给一个冻结的预训练语言模型。然后,将该语言模型的输出表征展平,并使其通过一个线性层,从而得到预测结果。

LLaTA:LLaTA 嵌入输入时间序列的方式是将每个通道都视为一个 token。该架构的一半是「文本分支」,其使用交叉注意力来将时间序列表征与语言模型的词嵌入的低维表征对齐。然后将该表征传递给一个冻结的预训练语言模型,得到一个「文本式预测」。同时,该架构的「时间」分支会基于输入时间序列为预训练语言模型学习一个低秩适应器,从而得到一个用于推理的「时间预测」。该模型包含考虑这些表征之间的相似度的额外损失项。

该团队提出的消融方法

对于基于 LLM 的预测器,为了将 LLM 的影响隔离开,该团队提出了三种消融方法:移除 LLM 组件或将其替换成一个简单模块。

图片

具体来说,对于上述三种方法中的每一种,他们都进行了以下三项修改:

w/o LLM,见图 1b。完全移除语言模型,直接将输入 token 传递给参考方法的最终层。

LLM2Attn,见图 1c。将语言模型替换成单个随机初始化的多头注意力层。

LLM2Trsf,见图 1d。将语言模型替换成单个随机初始化的 Transformer 模块。

在上述消融研究中,预测器的其余部分都保持不变(可训练)。比如,如图 1b 所示,在移除了 LLM 之后,输入编码会被直接传递给输出映射。而如图 1c 和 1d 所示,在将 LLM 替换成注意力或 Transformer 后,它们会与原始方法的剩余结构一起获得训练。

数据集和评估指标

基准数据集。评估使用了以下真实世界数据集:ETT(其包含 4 个子集:ETTm1、ETTm2、ETTh1、ETTh2)、Illness、Weather、Traffic、Electricity。表 1 给出了这些数据集的统计情况。另外还有 Exchange Rate、Covid Deaths、Taxi (30 min)、NN5 (Daily) 和 FRED-MD。

图片

评估指标。该研究报告的评估指标是预测时序值和真实时序值之间的平均绝对误差(MAE)和均方误差(MSE)。

结果

具体来说,该团队探究了以下研究问题(RQ):

  • (RQ1)预训练语言模型是否有助于提升预测性能?
  • (RQ2)基于 LLM 的方法是否值得其消耗的计算成本?
  • (RQ3)语言模型预训练是否有助于执行预测任务的性能?
  • (RQ4)LLM 能否表征时间序列中的顺序依赖关系?
  • (RQ5)LLM 是否有助于少样本学习?
  • (RQ6)性能从何而来?

预训练语言模型是否有助于提升预测性能?(RQ1)

实验结果表明,预训练 LLM 对时间序列预测任务来说还不是很有用。

图片

图片

总体而言,如表 3 所示,在 8 个数据集和 2 个指标上,消融方法在 26/26 案例中优于 Time-LLM 方法,在 22/26 案例中优于 LLaTA,在 19/26 案例中优于 OneFitsAll。

总之,很难说 LLM 可以有效地用于时间序列预测。

基于 LLM 的方法是否值得其消耗的计算成本?(RQ2)

这里,根据这些方法的名义性能来评估它们的计算强度。参考方法中的语言模型使用了数亿乃至数十亿参数来执行时间序列预测。即使当这些语言模型的参数冻结时,它们在训练和推理时依然会有很大的计算开销。

举个例子,Time-LLM 有 6642 M 参数,在 Weather 数据集上耗时 3003 分钟才完成训练,而消融方法仅有 0.245 M 参数,平均训练时间仅有 2.17 分钟。表 4 给出了在 ETTh1 和 Weather 数据集上训练其它方法的相关信息。

图片

至于推理时间,这里的做法是除以最大批量大小,以估计每个示例的推理时间。平均而言,相比于修改后的模型,Time-LLM、OneFitsAl、LLaTA 所用的推理时间多 28.2、2.3、1.2 倍。

图片

图 3 给出了一些示例,其中绿色标记(消融方法)通常低于红色标记(LLM),并且集中于左侧,这说明它们计算成本更低但预测性能更好。

总之,在时间序列预测任务上,LLM 的计算强度无法为性能带来相应的提升。

语言模型预训练是否有助于执行预测任务的性能?(RQ3)

评估结果表明,对于时间序列预测任务而言,使用大型数据集进行预训练实在没有必要。为了检验预训练期间学到的知识能否给预测性能带来有意义的提升,该团队实验了在时间序列数据上,对 LLaTA 进行不同组合的预训练和微调的效果。

  • 预训练 + 微调(Pre+FT):这是原始方法,即在时间序列数据上微调预训练语言模型。对于这里的 LLaTA,做法是冻结基础语言模型,学习一个低秩适应器(LoRA)。
  • 随机初始化 + 微调(woPre+FT):预训练得到的文本知识是否有助于时间序列预测?这里,随机初始化语言模型的权重(由此清除了预训练的效果),再在微调数据集上从头开始训练 LLM。
  • 预训练 + 不使用微调(Pre+woFT):在时间序列数据上进行微调又能给预测性能带来多大提升呢?这里是冻结语言模型,同时放弃学习 LoRA。这能反映语言模型自身处理时间序列的性能。
  • 随机初始化 + 无微调(woPre+woFT):很明显,这就是将输入时间序列随机投射到一个预测结果。该结果被用作与其它方法进行比较的基准。

图片

整体结果见表 5。在 8 个数据集上,依照 MAE 和 MSE 指标,「预训练 + 微调」有三次表现最佳,而「随机初始化 + 微调」获得了 8 次最佳。这说明语言知识对时间序列预测的帮助有限。但是,「预训练 + 无微调」与基准「随机初始化 + 无微调」各自有 5 和 0 次最佳,这说明语言知识对微调过程的帮助也不大。

总之,预训练得到的文本知识对时间序列预测的帮助有限。

LLM 能否表征时间序列中的顺序依赖关系?(RQ4)

大多数使用 LLM 来微调位置编码的时间序列预测方法都有助于理解序列中时间步骤的位置。该团队预计,对于一个有优良位置表征的时间序列模型,如果将输入的位置打乱,那么其预测性能将会大幅下降。他们实验了三种打乱时间序列数据的方法:随机混洗整个序列(sf-all)、仅随机混洗前一半序列(sf-half)、交换序列的前半和后半部分(ex-half)。结果见表 6。

图片

输入混洗对基于 LLM 的方法与其消融方法的影响差不太多。这说明 LLM 在表征时间序列中的顺序依赖关系方面并没有什么突出能力。

LLM 是否有助于少样本学习?(RQ5)

评估结果表明,LLM 对少样本学习场景而言意义不大。

他们的评估实验是取用每个数据集的 10%,再训练模型及其消融方法。具体来说,这里评估的是 LLaMA(Time-LLM)。结果见表 7。

图片

图片

可以看到,有无 LLM 的表现差不多 —— 各自都有 8 个案例表现更好。该团队也使用基于 GPT-2 的方法 LLaTA 进行了类似的实验。结果见表 8,这里消融方法在少样本场景中的表现还优于 LLM。

性能从何而来?(RQ6)

这一节评估的是 LLM 时间序列模型中常用的编码技术。结果发现,将 patching 和单层注意力组合起来是一种简单却有效的选择。

前面发现对基于 LLM 的方法进行简单的消融并不会降低其性能。为了理解这一现象的原因,该团队研究了 LLM 时间序列任务中常用的一些编码技术,比如 patching 和分解。一种基本的 Transformer 模块也可用于辅助编码。

结果发现,一种组合了 patching 和注意力的结构在小数据集(时间戳少于 100 万)上的表现优于其它大部分编码方法,甚至能与 LLM 方法媲美。

图片

其详细结构如图 4 所示,其中涉及将「实例归一化」用于时间序列,然后进行 patching 和投射。然后,在 patch 之间使用一层注意力进行特征学习。对于 Traffic(约 1500 万)和 Electricity(约 800 万)等更大的数据集,则使用了基本 Transformer 的单层线性模型的编码表现更优。在这些方法中,最后还要使用单层线性层来投射时间序列嵌入,从而得到预测结果。

总之,patching 对编码而言非常重要。此外,基本的注意力和 Transformer 模块也能为编码带来有效助益。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/45272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tkinter-TinUI-xml实战(11)多功能TinUIxml编辑器

引言 在TinUIXml简易编辑器中,我们通过TinUI搭建了一个简易的针对TinUIXml布局的编辑器,基本掌握了TinUIXml布局和TinUIXml的导入与导出。现在,就在此基础上,对编辑器进行升级。 本次升级的功能: 更合理的xml编辑与…

docker私有仓库harbor安装

Harbor默认安装 下载harbor https://github.com/goharbor/harbor/releases/download/v2.11.0/harbor-offline-installer-v2.11.0.tgz 目前要求docker版本,docker 20.10.10-ce ,和docker-compose 1.18.0 查看 docker-compose版本 docker-compose --ver…

Django前后端打通

跨域问题 【 0 】前言 ​ ​ 同源策略(Same Origin Policy)是浏览器安全策略的重要组成部分,它限制了来自不同源的网页之间的数据交互,以防止恶意攻击。当一个网页尝试执行与它的源(即协议、域名和端口&#xff09…

C\C++ 终端输出带有颜色的字符

终端显示带有颜色的字符 终端显示带有颜色的字符 终端显示带有颜色的字符背景:测试机器,win10系统, VS2022编写字体设置不同的颜色背景色光标移动 (这个用的估计不是很多)字体设置动态显示C cout 也可以测试代码准确的…

接口基础知识3:详解url

课程大纲 一、定义 URL即访问的链接,是Uniform Resource Locator的缩写,译为"统一资源定位符"。 URL是一种URI,它标识一个互联网资源,并指定对其进行操作或获取该资源的方法。可能通过对主要访问手段的描述&#xff0c…

SpringBoot详细解析

1.什么是springboot springboot也是spring公司开发的一款框架。为了简化spring项目的初始化搭建的。那么spring对应springboot有什么缺点呢? spring项目搭建的缺点: 配置麻烦依赖tomcat启动慢 2.springboot的特点 自动配置 Spring Boot的自动配置是一个运行时&…

Docker 安装ros 使用rviz 等等图形化程序

Docker 安装ros 使用rviz 等等图形化程序 ubuntu 版本与ros 发行版本对应 如何安装其它版本ros 此时考虑使用docker 易于维护 地址: https://hub.docker.com/r/osrf/ros 我主机是 ubuntu22.04 使用这个标签 melodic-desktop-full 1 clone 镜像到本机 docker pu…

Android OkHttp3中HttpLoggingInterceptor使用

目录 一 概述1.1 日志级别 二 使用2.1 引入依赖2.2 创建对象2.3 添加拦截器 三 结果展示3.1 日志级别为BODY3.2 日志级别为BASIC3.3 日志级别为HEADERS 参考 一 概述 HttpLoggingInterceptor是OkHttp3提供的拦截器,用来记录HTTP请求和响应的详细信息。 1.1 日志级…

基于IDEA的Lombok插件安装及简单使用

lombok介绍 Lombok能以注解形式来简化java代码,提高开发效率。开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护。而Lombok能通过注解的方式,在编译…

Spring AOP 实现 Excel 导出统一处理

你好,我是柳岸花开。在实际开发中,经常会遇到需要导出 Excel 数据的需求。为了避免代码重复,我们可以使用 Spring AOP(面向切面编程)来实现 Excel 导出的统一处理。本文将介绍如何使用 Spring AOP 在项目中统一处理 Ex…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(十三)-更换无人机控制器

引言 本文是3GPP TR 22.829 V17.1.0技术报告,专注于无人机(UAV)在3GPP系统中的增强支持。文章提出了多个无人机应用场景,分析了相应的能力要求,并建议了新的服务级别要求和关键性能指标(KPIs)。…

<数据集>UA-DETRAC车辆识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:20500张 标注数量(xml文件个数):20500 标注数量(txt文件个数):20500 标注类别数:4 标注类别名称:[car, van, others, bus] 序号类别名称图片数框数1car201871259342…

钡铼ARMxy控制器在智能网关中的应用

随着IoT物联网技术的飞速发展,智能网关作为连接感知层与网络层的枢纽,可以实现感知网络和通信网络以及不同类型感知网络之间的协议转换。钡铼技术的ARMxy系列控制器凭借其高性能、低功耗和高度灵活性的特点,在智能网关中发挥了关键作用&#…

数据结构回顾(Java)

1.数组 线性表 定义的方式 int[] anew int[10] 为什么查询快? 1.可以借助O(1)时间复杂度访问某一元素, 2.地址连续,逻辑连续 3.数组长度一旦确定就不可以被修改 当需要扩容的时候需要将老数组的内容复制过来 在Java中数组是一个对象 Ar…

记录些Redis题集(2)

Redis 的多路IO复用 多路I/O复用是一种同时监听多个文件描述符(如Socket)的状态变化,并能在某个文件描述符就绪时执行相应操作的技术。在Redis中,多路I/O复用技术主要用于处理客户端的连接请求和读写操作,以实现高并发…

Python_使用pyecharts构建折线图

Pyecharts简介 Pyecharts是一款将python与echarts结合的强大的数据可视化工具,使用 pyecharts 可以生成独立的网页,也可以在 flask , Django 中集成使用。echarts :百度开源的一个数据可视化 JS 库,主要用于数据可视化。pyechart…

嵌入式linux相机 框图

摄像头读取数据显示到LCD流程 重点:摄像头数据(yuyv,mjpeg,rgb)(640,320)与LCD显示数据(RGB)(480,240)不同;需要转换&…

项目文章|EMBO J(IF=9.4):16S+代谢组解析肠道菌群代谢物改善高脂饮食诱导的胰岛素抵抗机制

肠道菌群及其代谢产物与肥胖相关疾病(如2型糖尿病)密切相关,但其因果关系和潜在机制尚不清楚。研究表明,肥胖与肠道微生物的丰度和多样性变化有关,例如,高脂饮食(HFD)诱导的肥胖会增…

AIGC率超标?掌握论文去AI痕迹的高效策略

随着 AI 技术迅猛发展,各种AI辅助论文写作的工具层出不穷! 为了防止有人利用AI工具进行论文代写,在最新的学位法中已经明确规定“已经获得学位者,在获得该学位过程中如有人工智能代写等学术不端行为,经学位评定委员会…

ESP32CAM物联网教学11

ESP32CAM物联网教学11 霍霍webserver 在第八课的时候,小智把乐鑫公司提供的官方示例程序CameraWebServer改成了明码,这样说明这个官方程序也是可以更改的嘛。这个官方程序有四个文件,一共3500行代码,看着都头晕,小智决…