这篇论文介绍了 aLLM4TS,这是一个创新的框架,用于将大型语言模型(LLMs)适配到时间序列表示学习中。该框架通过将时间序列预测重新构想为自监督的多补丁预测任务,并采用两阶段训练策略(包括因果连续预训练和针对性的微调),有效地捕捉时间序列数据的时间动态。此外,引入了补丁级解码层,与传统的序列级解码方法不同,它能够直接将单独的补丁转换为时间序列,从而显著提高了模型处理基于补丁的时间序列表示的能力。aLLM4TS 在多个下游任务中展现了卓越的性能,证明了其在派生具有增强可转移性的时间序列表示方面的有效性。
第1章 引言
作者主要介绍了时间序列分析(TSA)的重要性以及在现实世界应用中的关键作用。时间序列数据的分析对于预测、分类和异常检测等任务至关重要,这些任务在金融、医疗、环境科学等多个领域都有广泛应用。然而,现有的时间序列分析方法往往针对特定任务定制,缺乏一种能够通用于多种下游任务的灵活表示方法。
尽管已有研究在特定任务上取得了进展,但如何设计一个能够适应多样化任务的时间序列表示仍然是一个挑战。传统的时间序列表示学习方法,如对比学习和掩蔽重建模型,往往难以捕捉时间序列数据的复杂时间动态。这些方法在处理高级表示优化与低级任务之间的不一致性,或是随机掩蔽引起的时间依赖性破坏时,存在局限性。
为了解决这些问题,论文提出了 aLLM4TS 框架,旨在通过创新的时间序列表示学习策略,提高大型语言模型在时间序列分析中的适用性和有效性。该框架通过重新构思时间序列预测为自监督的多补丁预测任务,并通过两阶段训练策略来优化模型,使其能够更好地理解和预测时间序列数据的动态变化。此外,该框架还引入了补丁级解码层,以改善模型对时间序列数据的处理能力,从而在多个下游任务中实现更准确的预测和分析。
第2章 相关工作
2.1 时间序列表示学习
-
对比学习:这一类方法通过利用一致性来优化表示空间,包括子序列一致性、时间一致性、转换一致性和上下文一致性。目标是使得正样本对的表示紧密对齐,而负样本对的表示则明显分离。尽管对比学习方法在表示学习方面有其优势,但它们在与低级任务如预测对齐时往往面临挑战,这主要是因为它们更侧重于高级信息。
-
掩蔽建模:PatchTST方法首次提出将补丁作为处理时间序列的基本单元,主张通过预测掩蔽的子序列级补丁来掌握局部语义信息,同时尽量减少内存消耗。然而,这种方法往往会破坏时间依赖性,并且无法保证对时间动态的充分表示学习,因为掩蔽值通常可以从相邻的上下文中预测出来。
2.2 基于大型语言模型的时间序列分析
-
零样本适应:一些研究利用冻结的大型语言模型的固有序列表示能力来促进时间序列预测,无需任何特定任务的训练。
-
提示优化:通过结合重新编程的输入时间序列和预训练的大型语言模型的固有序列建模能力,旨在提高预测准确性。
-
有限微调:对大型语言模型的选定组件进行微调,以提高时间序列分析任务的性能
第3章 预备知识和动机
3.1 预备知识
-
时间序列预测(TSF):时间序列分析中的基本挑战,目的是分析历史时间序列数据的动态和相关性,以预测未来的行为。公式化为给定历史数据,预测未来 H个时间步的值。
-
因果语言模型预训练:当前的大型语言模型大多数属于因果语言模型,使用对角掩蔽矩阵确保每个标记只能访问之前标记的信息。训练目标是基于历史信息预测下一个标记。
3.2 动机
-
如何有效适应LLMs于时间序列模态:传统的对比学习(LCL)和掩蔽重建(LMR)作为训练损失,定义了样本对的优化目标。这些方法不适用于将LLMs适应于时间序列,因为它们与时间序列建模和LLMs的因果序列预训练过程之间的目标存在显著的不一致性。然而,在预训练阶段,因果LLMs在大量标记上经历了与TSF相似的训练过程,这促使研究者将时间序列预测重新定义为自监督的多补丁预测任务。这种方法提供了几个好处:保证高级表示优化与下游低级任务之间的建模一致性,避免随机掩蔽引起的时间依赖性破坏,并与LLMs的预训练过程保持一致。因此,提出了基于预测的自监督训练策略,以自然地同步LLMs的表示学习能力与时间序列的变化。
-
序列级解码器是否适合基于补丁的时间序列表示:当前基于LLMs的时间序列分析模型遵循传统的基于补丁的框架,通过一个巨大的序列级解码器将基于补丁的时间序列表示映射到预测范围。如果这些值中的任何一个很大,可能会导致严重的下游任务过拟合。与在序列级别进行映射不同,通过补丁级解码器将编码和解码过程分离,使LLM骨干和补丁级解码器能够专注于其指定的角色:更好地表示每个补丁,并独立地将每个补丁解码到时间域。
第4章 方法
4.1 因果连续下一补丁预训练
-
在这一部分,提出了进行因果连续下一补丁预训练的方法,以将预训练的 LLMs 序列建模能力与时间序列模态同步,在多个时间序列数据集上进行训练。
-
前向过程:给定来自不同数据集的时间序列,首先将它们展平为多个单变量序列。然后,每个序列被划分为补丁序列,并将每个序列独立地输入到如 GPT2 这样的随意 LLM 背景模型中,以进行通道独立设置。接着,得到随意下一补丁预测。
-
损失函数:选择使用均方误差(MSE)损失来指导补丁级别的表示对齐。在每个时间序列中的损失被收集并平均化,以获得整体目标损失。
4.2 多补丁预测微调
-
在这一部分,针对自监督的多补丁预测任务进行微调,以进一步细化补丁表示,使其与目标时间序列的时间上下文对齐,基于第 4.1 节中的随意下一补丁预训练模型。
-
前向过程:给定第 i 个单变量时间序列,预测范围 H 和在第 4.1 节中训练的时间序列对齐的 LLM fθ(·),首先通过非参数方法准备预测锚点。然后将回溯窗口输入和锚点划分为补丁序列,将这两个补丁序列连接并输入到经过位置感知注意掩码 Ap 增强的时间序列对齐的 LLM 背景模型 fθ(·) 中。最后,使用补丁级投影层 Wp 独立地将优化的锚点解码到目标时间域。
-
损失函数:将预测的补丁展平,收集并平均化 M 个时间序列中的损失。值得注意的是,在多补丁(锚点)表示优化期间,除了位置嵌入和层归一化层之外,时间序列对齐的 LLM fθ(·) 中的大多数参数都被冻结,以便在目标时间序列中进行更好的适应。此外,一旦在目标时间序列数据集、历史 L、范围 H 完成单个阶段 2 适应,就可以执行任何其他预测任务,而无需任何重新训练,因为补丁级表示解码与输入/输出长度无关。
第5章 实验
5.1 实验设置
-
数据集:评估了包括天气、交通、电力、流感样疾病(ILI)和四个 ETT 数据集在内的八个流行的多变量数据集。这些数据集被广泛使用,并且是公开可用的。
-
基线:与 11 种基线方法进行了时间序列预测和异常检测任务的比较,包括最新的基于 LLM 的时间序列分析模型 GPT4TS,九种基于 Transformer 的模型,以及基于 MLP 的模型 DLinear。
-
实验配置:对于时间序列预测任务,所有模型遵循相同的实验设置,对于 ILI 数据集预测长度 H 为 {24, 36, 48, 60},对于其他数据集预测长度 H 为 {96, 192, 336, 720}。对于所有基线模型和提出的框架 aLLM4TS,使用默认的回溯窗口 L = 336。
5.2 长期时间序列预测
- aLLM4TS 在大多数情况下都优于基线方法。通过两阶段预测的自监督表示优化和补丁级解码,与当前基于 LLM 的最佳方法 GPT4TS 相比,平均性能提高了 9.71%。
5.3 短期时间序列预测
- 在 M4 基准测试中评估了模型的短期预测性能,该基准测试包含不同频率的市场数据。aLLM4TS 与当前最佳的 TimesNet 模型表现出了竞争性的性能,后者的 CNN 基础结构通常被认为在处理具有多样化变化但数据量有限的数据集(如 M4)方面表现更好。
5.4 少样本时间序列预测
- 在 ETT 数据集上评估了时间序列对齐的 LLM 在少样本预测方面的性能。通过在 ETT1 数据集上进行第一阶段训练,并在 ETT2 上使用仅 5% 的训练数据进行多补丁预测,反之亦然。aLLM4TS 在所有基线方法中显著优于其他方法,平均 MSE 降低了 8.6%。
5.5 时间序列异常检测
- 在五个广泛使用的异常检测数据集上评估了模型的性能。aLLM4TS 在所有数据集上都实现了最佳性能,平均 F1 分数为 87.51%,这表明通过在多样化的时间序列上进行第一阶段随意下一补丁预训练,学习到的表示能够更好地检测时间序列中的不频繁异常。
5.6 表示学习
- 除了在各种下游任务中的出色表现外,还进一步探索了 aLLM4TS 在适应 LLMs 进行时间序列表示学习方面的优越性。通过与最先进的表示学习方法进行比较,以及对我们两阶段基于预测的 aLLM4TS 进行各种比较实验。
5.7 消融研究
- 进行了几组消融实验,以评估框架设计的有效性和两阶段预测基础自监督训练的影响。通过比较有无随意连续下一补丁预训练、有无 LLM 预训练权重、有无补丁级解码器、有无位置感知注意掩码等不同变体的性能差异,验证了这些组件在模型中的重要性。
如何学习大模型 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 的正确特征了。