TimeMOE: 使用稀疏模型实现更大更好的时间序列预测

简介: TimeMOE是一种新型的时间序列预测基础模型,通过稀疏混合专家(MOE)设计,在提高模型能力的同时降低了计算成本。它可以在多种时间尺度上进行预测,并且经过大规模预训练,具备出色的泛化能力。TimeMOE不仅在准确性上超越了现有模型,还在计算效率和灵活性方面表现出色,适用于各种预测任务。该模型已扩展至数十亿参数,展现了时间序列领域的缩放定律。研究结果显示,TimeMOE在多个基准测试中显著优于其他模型,特别是在零样本学习场景下。

传统上,预测这些趋势涉及针对每种情况的专门模型。最近的进展指向了可以处理广泛预测问题的"基础模型"。

这是9月份刚刚发布的论文TimeMOE。它是一种新型的时间序列预测基础模型,"专家混合"(Mixture of Experts, MOE)在大语言模型中已经有了很大的发展,现在它已经来到了时间序列。

想象一下有一个专家团队,每个专家都有自己的专长。TimeMOE的工作原理与此类似。它不是为每个预测使用整个模型,而是只激活最适合特定任务的一小部分"专家"。这使得TimeMOE可以扩展到数十亿个参数,同时保持效率。

TimeMOE的研究目的主要包括:

  1. 开发一种可扩展的、统一的时间序列预测基础模型架构。
  2. 通过利用稀疏混合专家(MOE)设计,在提高模型能力的同时降低计算成本。
  3. 探索时间序列领域的缩放定律,验证增加模型规模和训练数据量是否能持续改善性能。
  4. 创建一个大规模、高质量的时间序列数据集(Time-300B),用于预训练更强大的预测模型。
  5. 在零样本和微调场景下评估模型的通用预测能力。

关键概念

  1. 逐点标记化(Point-wise tokenization): TimeMOE将时间序列数据分解为单个点,确保它可以处理任何长度的序列。
  2. 混合专家Transformer(Mixture-of-Experts Transformer): 这是TimeMOE的核心。它是一种专门为时间序列数据设计的人工神经网络。TimeMOE不是为每个预测使用整个网络,而是只激活网络内的一小部分"专家",从而提高效率。
  3. 多分辨率预测(Multi-resolution forecasting): TimeMOE可以在各种时间尺度上预测未来值(如预测明天或下周的天气)。这种灵活性使其适用于更广泛的预测任务。

TimeMOE的优势

  1. 可扩展性: TimeMOE可以扩展到数十亿个参数,而不会牺牲推理效率。
  2. 效率: MOE架构允许TimeMOE仅为每个预测激活网络的一个子集,从而减少计算负载。
  3. 灵活性: TimeMOE可以处理任何长度的序列,并在各种时间尺度上预测未来值。
  4. 准确性: 考虑到模型的效率,TimeMOE在预测准确性方面始终优于现有模型。
  5. 泛化能力: TimeMOE在Time-300B数据集上的训练使其能够在未见过的数据上表现良好(零样本学习)。

通过结合这些优势,TimeMOE为广泛的时间序列预测应用提供了一个有前景的解决方案。

详细改进描述

TimeMOE的主要改进集中在以下几个方面:

  1. 稀疏混合专家(MOE)架构:- TimeMOE采用了一种稀疏的MOE设计,每个输入时间序列标记只激活一小部分专家网络。- 这种设计显著提高了计算效率,同时保持了高模型容量。- MOE层取代了传统Transformer中的前馈网络(FFN),引入了动态路由机制。
  2. 多分辨率预测头:- TimeMOE引入了一种新颖的多分辨率预测头,能够同时在多个尺度上进行预测。- 这种设计增强了模型的灵活性,使其能够生成跨越各种时间范围的预测。- 通过多分辨率集成学习,提高了预测的鲁棒性。
  3. 大规模预训练:- 研究者构建了Time-300B数据集,包含超过3000亿个时间点,跨越9个领域。- TimeMOE在这个大规模数据集上进行预训练,显著提升了模型的泛化能力。
  4. 灵活的输入处理:- 采用逐点标记化,确保模型可以处理任意长度的输入序列。- 使用旋转位置编码(RoPE),提高了模型对序列长度的适应性和外推能力。
  5. 优化的损失函数:- 使用Huber损失函数,提高了模型对异常值的鲁棒性。- 引入辅助平衡损失,解决MOE架构中的负载不平衡问题。
  6. 可扩展性设计:- TimeMOE首次将时间序列基础模型扩展到24亿参数,其中11亿参数被激活。- 验证了时间序列领域的缩放定律,证明增加模型规模和训练数据量能持续改善性能。

TimeMOE与其他基线模型的性能对比

性能指标介绍

研究者使用了多个指标来评估TimeMOE的性能:

  1. 平均平方误差(MSE)和平均绝对误差(MAE):- 这两个指标用于衡量预测值与实际值之间的差异。- 在零样本和微调场景下,TimeMOE在这些指标上都显著优于基线模型。
  2. 计算效率:- 与同等规模的密集模型相比,TimeMOE在训练成本上平均降低了78%,推理成本降低了39%。
  3. 零样本性能:- 在六个基准数据集上的零样本预测任务中,TimeMOE平均减少了23%的预测误差。
  4. 微调性能:- 在下游任务的微调场景中,TimeMOE平均减少了25%的预测误差。
  5. 模型规模缩放:- 研究者展示了随着模型规模从5000万参数扩展到24亿参数,性能持续提升。
  6. 多分辨率预测:- TimeMOE能够在{96, 192, 336, 720}等多个预测范围内保持优秀性能。
  7. 跨领域泛化能力:- 在能源、天气、交通等多个领域的数据集上,TimeMOE都展现出强大的泛化能力。

这些性能指标全面展示了TimeMOE在准确性、效率和泛化能力方面的优势,证明了它作为一个通用时间序列预测基础模型的潜力。

代码实现

以下是使用TimeMOE进行预测的基本代码示例:

 importtorch
 fromtransformersimportAutoModelForCausalLM

 context_length=12
 seqs=torch.randn(2, context_length)  # tensor shape is [batch_size, context_length]

 model=AutoModelForCausalLM.from_pretrained(
     'Maple728/TimeMoE-50M',
     device_map="cpu",  # use "cpu" for CPU inference, and "cuda" for GPU inference.
     trust_remote_code=True,
 )

 # normalize seqs
 mean, std=seqs.mean(dim=-1, keepdim=True), seqs.std(dim=-1, keepdim=True)
 normed_seqs= (seqs-mean) /std

 # forecast
 prediction_length=6
 output=model.generate(normed_seqs, max_new_tokens=prediction_length)  # shape is [batch_size, 12 + 6]
 normed_predictions=output[:, -prediction_length:]  # shape is [batch_size, 6]

 # inverse normalize
 predictions=normed_predictions*std+mean

这段代码展示了如何加载预训练的TimeMOE模型,对输入序列进行标准化,生成预测,然后将预测结果反标准化。

总结

TimeMOE把MOE扩展到了时间序列预测的领域

通过引入稀疏混合专家设计,TimeMOE成功平衡了模型规模和计算效率。利用Time-300B数据集,TimeMOE验证了大规模预训练在时间序列领域的有效性。多分辨率预测能力使TimeMOE适用于各种预测任务和时间尺度。在多个基准测试中,TimeMOE显著超越了现有模型,尤其是在零样本学习场景下。

TimeMOE研究论文

https://avoid.overfit.cn/post/6edf19076ad7460291afb38be5dd687d

目录
相关文章
|
机器学习/深度学习 运维
Moment:又一个开源的时间序列基础模型
MOMENT团队推出Time-series Pile,一个大型公共时间序列数据集,用于预训练首个开源时间序列模型家族。模型基于Transformer,采用遮蔽预训练技术,适用于预测、分类、异常检测和输入任务。研究发现,随机初始化比使用语言模型权重更有效,且直接预训练的模型表现出色。MOMENT改进了Transformer架构,调整了Layer norm并引入关系位置嵌入。模型在长期预测和异常检测中表现优异,但对于数值预测的效果尚不明朗。论文贡献包括开源方法、数据集创建和资源有限情况下的性能评估框架。
1214 0
|
数据建模 计算机视觉
SiMBA:基于Mamba的跨图像和多元时间序列的预测模型
微软研究者提出了SiMBA,一种融合Mamba与EinFFT的新架构,用于高效处理图像和时间序列。SiMBA解决了Mamba在大型网络中的不稳定性,结合了卷积、Transformer、频谱方法和状态空间模型的优点。在ImageNet 1K上表现优越,达到84.0%的Top-1准确率,并在多变量长期预测中超越SOTA,降低了MSE和MAE。代码开源,适用于复杂任务的高性能建模。[[论文链接]](https//avoid.overfit.cn/post/c21aa5ca480b47198ee3daefdc7254bb)
2198 3
|
12月前
|
机器学习/深度学习 自然语言处理 数据可视化
MOIRAI-MOE: 基于混合专家系统的大规模时间序列预测模型
MOIRAI 是 Salesforce 开发的早期时间序列基础模型,凭借出色的基准测试性能和开源的大规模预训练数据集 LOTSA 获得广泛关注。最新升级版本 MOIRAI-MOE 引入混合专家模型(Mixture of Experts, MOE),在模型性能上实现显著提升。本文深入分析 MOIRAI-MOE 的技术架构与实现机制,对比其与原版 MOIRAI 的差异,探讨 MOE 在提升预测准确率和处理频率变化问题上的作用,并展示其在分布内和零样本预测中的优异表现。实验结果显示,MOIRAI-MOE 以更少的激活参数量实现了更高的性能提升,成为时间序列预测领域的重要里程碑。
747 12
MOIRAI-MOE: 基于混合专家系统的大规模时间序列预测模型
|
机器学习/深度学习 人工智能 达摩院
[ICML'22] 阿里巴巴达摩院FEDformer,长程时序预测全面超越SOTA
本文介绍阿里巴巴达摩院决策智能实验室时间序列预测方向的最新(ICML 2022 accepted)工作:FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting论文链接:https://arxiv.org/abs/2201.12740代码链接:https://github.com/DA
3474 0
[ICML'22] 阿里巴巴达摩院FEDformer,长程时序预测全面超越SOTA
|
机器学习/深度学习 数据可视化 数据挖掘
Python时间序列分析库介绍:statsmodels、tslearn、tssearch、tsfresh
时间序列分析在金融和医疗保健等领域至关重要,在这些领域,理解随时间变化的数据模式至关重要。在本文中,我们将介绍四个主要的Python库——statmodels、tslearn、tssearch和tsfresh——每个库都针对时间序列分析的不同方面进行了定制。这些库为从预测到模式识别的任务提供了强大的工具,使它们成为各种应用程序的宝贵资源。
1097 3
|
3月前
|
数据采集 人工智能 缓存
构建AI智能体:十一、语义分析Gensim — 从文本处理到语义理解的奇妙之旅
Gensim是Python中强大的自然语言处理库,擅长从大量中文文本中自动提取主题、生成词向量并计算文档相似度。它支持LDA、Word2Vec等模型,结合jieba分词可有效实现文本预处理、主题建模与语义分析,适用于新闻分类、信息检索等任务,高效且易于扩展。
391 17
|
机器学习/深度学习 测试技术
全球首次!时序大模型突破十亿参数,华人团队发布Time-MoE,预训练数据达3000亿个时间点
时序数据在动态系统和应用中至关重要,但其复杂性使得分析极具挑战。Time-MoE是一种基于稀疏混合专家设计的可扩展架构,旨在预训练更大、更强大的时序预测模型,同时降低推理成本。它在新数据集Time-300B上训练,包含超过3000亿个时间点,跨9个领域,显著提升了预测精度,成为解决时序预测问题的先进方案。
881 9
|
人工智能 供应链 PyTorch
TimesFM 2.0:用 AI 预测流量、销量和金融市场等走势!谷歌开源超越统计方法的预测模型
TimesFM 2.0 是谷歌研究团队开源的时间序列预测模型,支持长达2048个时间点的单变量预测,具备零样本学习能力,适用于零售、金融、交通等多个领域。
1683 24
TimesFM 2.0:用 AI 预测流量、销量和金融市场等走势!谷歌开源超越统计方法的预测模型
|
机器学习/深度学习 自然语言处理 物联网
Chronos: 将时间序列作为一种语言进行学习
Chronos框架预训练时间序列模型,将序列值转为Transformer模型的tokens。通过缩放、量化处理,模型在合成及公共数据集上训练,参数量20M至710M不等。优于传统和深度学习模型,展示出色零样本预测性能。使用分类交叉熵损失,支持多模态输出分布学习。数据增强策略包括TSMix和KernelSynth。实验显示大型Chronos模型在概率和点预测上超越多种基线,且微调小型模型表现优异。虽然推理速度较慢,但其通用性简化了预测流程。论文探讨了优化潜力和未来研究方向。
1164 3