大模型做时序预测也很强!华人团队激活LLM新能力,超越一众传统模型实现SOTA

本文主要是介绍大模型做时序预测也很强!华人团队激活LLM新能力,超越一众传统模型实现SOTA,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

蔚明 投稿自 凹非寺
量子位 | 公众号 QbitAI

大语言模型潜力被激发——

无需训练大语言模型就能实现高精度时序预测,超越一切传统时序模型。

来自蒙纳士大学、蚂蚁、IBM研究院提出了一种通用框架,结果成功激活大语言模型跨模态处理时序数据的能力。

图片

时序预测有益于城市、能源、交通、遥感等典型复杂系统的决策制定。

自此,大模型有望彻底改变时序/时空数据挖掘方式。

通用大语言模型重编程框架

简单来说,研究团队提出了一个通用框架,将大语言模型轻松用于一般时间序列预测,而无需做任何训练。

主要提出两大关键技术:时序输入重编程;提示做前缀。

Time-LLM首先使用文本原型(Text Prototypes)对输入的时序数据进行重编程,通过使用自然语言表征来表示时序数据的语义信息,进而对齐两种不同的数据模态,使大语言模型无需任何修改即可理解另一个数据模态背后的信息。

为了进一步增强LLM对输入时序数据和对应任务的理解,作者提出了提示做前缀(Prompt-as-Prefix,PaP)的范式,通过在时序数据表征前添加额外的上下文提示与任务指令,充分激活LLM在时序任务上的处理能力。

主要贡献包括:

1、提出了通过重编程大型语言模型用于时序分析的全新概念,无需对主干语言模型做任何修改。

2、提出一个通用语言模型重编程框架Time-LLM,它包括将输入时序数据重新编程为更自然的文本原型表示,并通过声明性提示(例如领域专家知识和任务说明)来增强输入上下文,以指导LLM进行有效的跨域推理。

图片

3、在主流预测任务中的表现始终超过现有最好的模型性能,尤其在少样本和零样本场景中。此外,Time-LLM在保持出色的模型重编程效率的同时,能够实现更高的性能。大大释放LLM在时间序列和其他顺序数据方面尚未开发的潜力。

具体来看这一框架,首先,输入时序数据先通过RevIN归一化操作,然后被切分成不同patch并映射到隐空间。

时序数据和文本数据在表达方式上存在显著差异,两种属于不同的模态。

时间序列既不能直接编辑,也不能无损地用自然语言描述。因此,我们需要将时序输入特征对齐到自然语言文本域上。

图片

而对齐不同模态的一个常见方式是cross-attention,但是LLM固有的词汇表很大,因此无法有效直接将时序特征对齐到所有词上,而且也并不是所有词都和时间序列有对齐的语义关系。

为了解决这个问题,这项工作对词汇表进行了线形组合来获取文本原型,其中文本原型的数量远小于原始词汇量,组合起来可以用于表示时序数据的变化特征。

而为了充分激活LLM在指定时序任务上的能力,这项工作提出了提示做前缀的范式。

通俗点说,就是把时间序列数据集的一些先验信息,以自然语言的方式,作为前缀prompt,和对齐后的时序特征拼接喂给LLM,是不是能够提升预测效果?

图片

在实践中,作者确定了构建有效提示的三个关键组件:

(1)数据集上下文;(2)任务指令,让LLM适配不同的下游任务;(3)统计描述,例如趋势、时延等,让LLM更好地理解时序数据的特性。

图片

团队在长程预测上经典的8大公开数据集上进行了全面的测试。

结果Time-LLM在基准比较中显著超过此前领域最优效果,比如对比直接使用GPT-2的GPT4TS,Time-LLM有明显提升,表明了该方法的有效性。

图片

此外,在zero-shot场景中也表现了很强的预测能力。

图片

本项目获得蚂蚁集团智能引擎事业部旗下AI创新研发部门NextEvo支持。

感兴趣的小伙伴可戳下方链接了解论文详情~

这篇关于大模型做时序预测也很强!华人团队激活LLM新能力,超越一众传统模型实现SOTA的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897743

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja