本文探讨了深度学习在时间序列分析中的应用,特别是针对数据稀缺场景下的大型时间序列模型(LTSM)的开发。文章提出了一个名为Timer的生成预训练变换器模型,该模型通过大规模数据集的预训练,展现出在多种下游任务中的卓越性能。文章指出,尽管深度模型在时间序列分析中取得了显著进展,但在现实世界中数据稀缺的情况下,性能可能会遇到瓶颈。为了改变这种状况,作者提出了Timer,这是一个大规模预训练的时间序列变换器模型,通过统一的时间序列数据集进行预训练,并在多种下游任务中展现出良好的泛化能力。
1. 引言
时间序列分析涵盖了多种关键任务,如预测、填补缺失值和异常检测等。尽管深度时间序列模型取得了显著进展,但在数据稀缺的情况下,其准确性可能会急剧下降。与此同时,大型语言模型通过大规模文本语料库的训练,展现出了显著的少样本和零样本能力。文章提出,通过生成预训练的大型时间序列模型(LTSM),可以在多种数据稀缺场景中进行迁移。
2. 相关工作
作者详细探讨了时间序列数据的无监督预训练方法,涵盖了自然语言、图像和视频序列等多个领域的研究进展。文中提到,尽管在这些领域中已经取得了显著的成果,时间序列数据的生成预训练却相对较少被研究。作者特别指出,尽管时间序列领域的研究者们已经通过掩码建模和对比学习取得了一些进展,但生成预训练的方法,如在大型语言模型中所见,尚未在时间序列分析中得到充分探索。
作者还讨论了大型时间序列模型(LTSM)的当前研究状态,包括基于大型语言模型的时间序列模型和专门针对大规模时间序列数据预训练的模型。这些模型展示了通过不同方式实现模型扩展的可能性,有的通过将时间序列编码为数值令牌来利用大型语言模型,有的则直接在时间序列数据上进行预训练。
3. 方法
3.1 数据
为了预训练大型模型,作者们聚合了公开可获取的时间序列数据集,并创建了一个名为统一时间序列数据集(UTSD)的层次化数据集。UTSD包含了来自七个不同领域的数据,总计高达十亿个时间点,这些领域涵盖了时间序列分析的典型应用场景。在数据准备过程中,作者们对每个数据集进行了详尽的统计分析,包括时间步长、变量数量、文件大小、频率等基本属性,以及时间序列的周期性、平稳性和可预测性等特征。这些统计数据不仅用于评估数据集的复杂性,还用于指导模型的可扩展性预训练。此外,作者们还强调了数据筛选标准的重要性,以确保数据集的高质量,这对于后续的模型训练和性能至关重要。
3.2 训练策略
在训练策略方面,文章提出了将异构时间序列数据转换为单序列序列(S3)的格式。这种格式通过保留时间序列的变化模式,将多变量时间序列统一为具有固定上下文长度的单变量序列。在预训练阶段,作者们首先对每个变量的序列进行归一化处理,并将归一化后的序列合并到一个池中。然后,通过窗口采样方法从池中获取具有固定上下文长度的单序列序列。这些序列被视为时间序列的标准句子,用于生成预训练任务。这种方法不仅适用于广泛的单变量和不规则时间序列,而且通过增加预训练的难度,促使模型更加关注时间变化,从而提高了模型的泛化能力。
3.3 模型设计
在模型设计部分,文章详细介绍了Timer模型的结构。Timer是基于Transformer架构的解码器仅模型,采用生成预训练目标来预测下一个时间序列令牌。该模型通过自回归方式,利用因果注意力机制生成下一个令牌,从而实现预训练目标。这种设计使得Timer在处理不同序列长度的时间序列时具有灵活性,并且在多步预测任务中表现出色。文章还比较了不同的模型架构,包括MLP、CNN、RNN和Transformer,最终验证了Transformer作为LTSM骨架的可扩展性。特别是,文章探讨了编码器-解码器架构与解码器仅架构在不同数据稀缺情况下的性能差异,发现解码器仅架构在预训练后在大多数下游任务中表现更好,显示出更强的泛化能力。
4. 实验
文章通过在时间序列预测、填补和异常检测等任务上的实验,展示了Timer作为大型时间序列模型的性能。实验结果表明,Timer在数据稀缺场景下具有显著的少样本能力,并且在各种任务中都达到了最先进的性能。
4.1 时间序列预测
在时间序列预测任务中,Timer模型在不同的数据稀缺情况下进行了测试。作者采用了统一的回溯长度和预测长度,并将Timer与从头开始训练的模型以及在完整样本上训练的最先进的小型深度预测模型进行了比较。实验结果表明,预训练的Timer模型即使在只有少量训练样本的情况下也能展现出与最先进的小型深度预测模型相竞争的性能。此外,预训练的Timer模型在所有样本都可用的情况下,其预测误差也比从头开始训练的模型更低,这证明了预训练对于提高模型性能的显著好处。
4.2 填补
在填补任务中,Timer模型通过生成方式恢复被掩盖的时间序列段,并与观察到的部分进行组装。作者提出了一种基于分段的填补协议,这增加了填补任务的难度,要求模型能够恢复一系列连续的时间点。实验结果表明,Timer在各种数据稀缺情况下均优于现有的最先进模型,证明了其在处理时间序列缺失值方面的有效性。
4.3 异常检测
文章提出了一种基于预测的异常检测方法,该方法利用观察到的时间段来预测未来的时间段,并将预测的时间段作为标准与实际值进行比较。作者在UCR异常检测档案库上的250个任务中进行了实验,结果表明预训练的Timer模型能够在大多数数据集上以较小的α量化异常,显示出其在异常检测任务上的优越性能。
4.4 可扩展性
作者还探讨了Timer模型的可扩展性,通过增加模型大小和数据规模来评估其在下游预测任务中的表现。实验结果表明,随着模型大小和数据规模的增加,Timer模型在少样本情况下的性能得到了显著提升,这符合大型模型的扩展规律。
4.5 模型分析
在模型分析部分,作者比较了不同的模型骨架,包括MLP、CNN、RNN和Transformer,以验证哪种架构最适合大型时间序列模型。通过在相同的预训练规模下评估这些候选架构,结果表明Transformer架构因其出色的可扩展性而成为LTSM的合适选择。此外,文章还讨论了编码器-解码器架构与解码器仅架构的性能差异,发现解码器仅架构在预训练后在大多数下游任务中表现更好,显示出更强的泛化能力。
如何学习大模型 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 的正确特征了。