今天小编给大家介绍两篇联合文本和时序数据进行预训练的文章。
UniTime: A Language-Empowered Unified Model for Cross-Domain Time Series Forecasting
-
文献地址:https://arxiv.org/pdf/2310.09751.pdf
-
代码地址:https://github.com/liuxu77/UniTime
UniTime的目标是构建一个能够对语言和时序模进行跨模态建模的统一架构,并且能够灵活适应多领域具有不同特性的数据。文章提出要有效构建一个能够处理来自多样化领域数据的统一模型,面临以下三大挑战,1)变化的数据特性,不同变量(通道)数量、不同的历史长度和未来预测长度。2)领域混淆问题,不同领域的数据在时间模式或分布上具有显著差异,模型可能会在识别和适应这些差异上遇到困难。3)领域收敛速度不平衡。不同的时间序列领域因其独特的特性而展现出多样的收敛速率,模型可能在单个数据集上出现过拟合,而在其他数据集出现欠拟合。
基于上述问题UniTime使用领域指令和语言-时序变换器来提供识别领域信息并对齐两种模态。具体架构如下:
**通道独立:**UniTime采用PatchTST相同的通道独立方式,以灵活处理具有不同通道数的跨领域数据集,同时避免使用统一的嵌入层来处理具有显著不同语义的时间序列。
时序数据tokenizer: 首先将数据分成不同的patch。同时,为了克服不同的时间序列领域表现出不同的收敛速率,具有简单且规则模式的领域易出现过拟合的倾向的问题,文章引入了mask来提高模型的泛化能力。与常规方法中仅构造mask与原数据进行相乘不同,文章设计了一种可学习的的融合机制如下:
decoder-only LLM: 在利用跨时间序列领域训练模型时,尤其是当这些领域在时间模式或分布上表现出显著差异时,模型需要区分并泛化它们,遇到很大的挑战。文章使用领域提示来提供明确的领域识别信息给模型,帮助模型辨识每个时间序列的来源并相应地调整其预测策略。领域指令本质上是描述每个领域数据的句子。它们还由人类制定,以融入对数据的人类先验知识。此外,进一步使用Language-TS来从领域指令和时间序列中学习联合表示,并通过将时间序列与语言模型的共同潜在空间对齐,实现跨领域泛化。
文章将领域信息的表征放在时序表征之前,避免模型在处理时间序列时并未获取领域指令,削弱文本信息的实用性。
Language-TS Transfomrer 使用GPT-2的参数进行初始化。
考虑到文本的存在,Language-TS Transfomrer输出表征序列的长度可能不同,无法直接用简单的线性层融合后进行预测。因此,文章设置了最大输入长度,对于未达到最大长度的序列,在末尾填补一个重复的可学习的padding token。然后将填补后的序列送入一个轻量级的transformer层。同时文章设置了最大的预测长度,以统一模型训练过程。模型训练目标函数包含重构误差和预测误差。
注意,模型训练过程中作者使用了一个小技巧来避免多领域数据不稳定的问题。具体来说,文章通过从包含所有涉及时间序列领域的所有训练数据的池中随机选择实例来构建训练batch。每个batch只包含来自单一领域的数据,因为每个领域的通道数量和序列长度不同。此外,对于那些训练样本明显少于其他领域的领域,进行过采样,以平衡各领域数据集,我们确保模型充分接触到这些代表性不足的领域,防止它们被其他领域所掩盖。
- 实验结果
添加领域提示信息后,各个数据集对应隐藏表示展示出明显的聚类模式,同时实验中也验证了添加领域提示信息的有效性。
SIP-LLM: Semantic Space Informed Prompt Learning with LLM for Time Series Forecasting
-
文献地址:https://arxiv.org/pdf/2403.05798.pdf
-
代码地址:无
S2IP-LLM由三个关键组件组成,首先,给定输入的时间序列对其进行季节性-趋势分解(STL),并分解成不同的patch,获取时间序列(TS)嵌入。接着,将TS嵌入与从预训练的词标记嵌入派生的语义锚点对齐。将检索到的前k个相似的语义锚点作为TS嵌入的前缀提示,并将连接后的向量作为表征输入预训练大模型,并进行相应的微调。
数据分解: 利用STL分解将原始数据分解成了趋势项、季节项及残差项。每部分元素依次进行归一化.
接着仍然是将每部分元素分成不同的patch,并通过线性层映射成对应的时序表征,并将三部分表征拼接后映射成最终的时序元表征,表征维度与语言模型词向量表征维度相同。
时序-文本对齐: 考虑到语言模型的词汇量数通常非常大,一一进行检索将带来巨大的计算量,例如GPT-2的词汇量高达到50257。因此文章在进行时序-文本对齐前,对词表进行简单的映射以减少词汇量。映射后再计算时序表征与词汇表征的cosine相似度,如下:
然后选取TopK个相似度最大的词作为时序表征的前缀,形成最中的表征如下:
模型微调: 文章采用GPT-2(作为backbone,保留大部分参数不变只对位置嵌入层和层归一化层进行微调。优化目标函数包含预测损失和文本-时序对齐损失。输出与输入对应,分别预测三个元素后再叠加得到最中的输出如下:
- 实验结果
文章也进行相似的可视化,加入文本表征后,不同领域的数据对应隐藏表示展示出明显的聚类模式。相比之下,原始时间序列嵌入显示出更分散和聚类度较低的模式,表明在对齐之前,时间序列表示相对较不具信息性,时间序列表示变得更加可区分。在较小的范围内,λ 的增加似乎增强了时间序列嵌入的分离度,表明一个更加明显和信息丰富的表示。然而,当 λ 过大时,我们观察到提示时间序列嵌入的聚类质量显著下降,这表明超过一定阈值后,更高的 λ 值会导致信息量减少的嵌入。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓