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

news2024/9/28 11:43:04

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

这是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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2173365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在ChatGPT的帮助下,使用“逻辑回归”技巧完成论文写作?

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 逻辑回归作为一种统计分析工具广泛应用,以解决研究中的分类问题。其主要作用在于探讨和量化自变量对因变量的影响,从而揭示潜在的因果关系。 在论文写作中&…

无人驾驶车联网5G车载路由器应用

无人驾驶车联网中,5G车载路由器的应用起到了至关重要的作用。以下是关于5G车载路由器在无人驾驶车联网中应用的详细分析: 5G车载路由器具备极低的时延特性,能够实现车与车之间、车与基础设施之间的快速通信。这对于无人驾驶技术尤为重要&…

策略模式与工厂模式的区别

《策略模式与工厂模式的区别》 策略模式(Strategy Pattern) 和 工厂模式(Factory Pattern) 都是常见的设计模式,虽然它们在设计目标上有一些相似之处,如解耦代码、增强扩展性,但它们的应用场景和…

做中视频计划,哪里找素材?推荐几个热门中视频素材下载网站

在做中视频计划时,寻找合适的素材至关重要。抖音上那些热门的中视频素材都是从哪里下载的呢?以下五大高清素材库值得收藏,赶紧来看看吧! 蛙学网 蛙学网提供了百万级的中视频素材,质量高且是4K高清无水印,视…

crypt.h:No such file or directory 报错处理

crypt.h:No such file or directory 报错处理 前言:本文初编辑于2024年9月28日 CSDN主页:https://blog.csdn.net/rvdgdsva 博客园主页:https://www.cnblogs.com/hassle 博客园本文链接:https://www.cnblogs.com/has…

0基础学前端 day6 -- 搭建github pages静态网址

标题:如何通过 GitHub Pages 创建一个静态网站 GitHub Pages 是 GitHub 提供的一项免费服务,允许用户从 GitHub 仓库中托管静态网站。对于开发者和非开发者来说,这都是一个极其便利的工具,用于创建和发布个人博客、项目文档或作品…

[leetcode刷题]面试经典150题之9python哈希表详解(知识点+题合集)

为了方便理解哈希表,我们先从python中的字典讲起。 字典 (Dictionary) 字典是 Python 中一种内置的数据结构,它是一种 键值对(key-value pair)存储形式。每个键(key)都有一个对应的值(value&a…

100个Transformer面试题,附答案!收藏这一篇就够了!

前言 Transformer是一种用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务的深度学习模型架构,它在2017年由Vaswani等人首次提出。Transformer架构引入了自注意力机制(self-attention mec…

力扣 简单 112.路径总和

文章目录 题目介绍题解 题目介绍 题解 class Solution {public boolean hasPathSum(TreeNode root, int targetSum) {// 只在最开始的时候判断树是否为空if (root null) {return false;}targetSum - root.val;if (root.left null && root.right null) { // root 是…

zookeeper 服务搭建(集群)

准备3台虚拟机,ip分别是: 192.168.10.75 192.168.10.76 192.168.10.77 准备3个节点 mkdir /usr/local/cluster cd /usr/local/cluster git clone https://gitee.com/starplatinum111/apache-zookeeper-3.5.9-bin.git 重命名文件夹 mv apache-zookeeper…

uniapp踩坑 tabbar页面数据刷新了但视图没有更新

问题描述: 有个uni-data-checkbox组件,两个选项:选项1和选项2(对应的value值分别为1和2),v-model绑定属性名为value 两个tabbar页面:tab1,tab2。 tab1页面有个逻辑是在onShow中刷新v…

【开源免费】基于SpringBoot+Vue.JS新闻推荐系统(JAVA毕业设计)

本文项目编号 T 056 ,文末自助获取源码 \color{red}{T056,文末自助获取源码} T056,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

Docker官网新手入门教程:从零开始玩转容器

大家好,今天咱们来聊聊Docker这个时髦的容器技术。 什么是Docker? Docker就像是一个打包快递的师傅,它能把你的应用程序和它所依赖的一切打包成一个标准的容器。这个容器可以在任何安装了Docker引擎的机器上运行,而且不会受到底…

9.28今日错题解析(软考)

目录 前言面向对象技术——UML软件工程——软件能力成熟度模型(CMM)程序设计语言——编译 前言 这是用来记录我备考软考设计师的错题的,今天知识点为UML、软件能力成熟度模型(CMM)和编译,大部分错题摘自希…

Linux基础(三):安装CentOS7

1.分区设置 由于使用 GPT 的关系, 因此根本无须考虑主/延伸/逻辑分区的差异。CentOS 默认使用 LVM 的方式来管理你的文件系统。使用GPT进行分区: 开机管理程序( boot loader) 使用CentOS 7.x默认的grub2软件。 2.各种分区格式 …

Redis: 特点,优势,与其他产品的区别,版本演进,以及高并发原理

入门Redis概述 1 )选择Redis是因为其高性能 因为 Redis 它数据存储的机制是存在内存中的,减少了传统关系数据库的磁盘IO它是单线程的保证了原子性,它还提供了事务,锁等相关的机制 2 )Redis 环境安装配置 linux 或 d…

实现语音合成的三种方法:HTML5 Web Speech 、speak-tts、百度语音合成

1. 使用HTML5 Web Speech API 1.1 使用方法 window.speechSynthesis 是HTML5 Web Speech API的一部分,是浏览器原生提供的文本转语音功能。它允许开发者在网页上通过JavaScript调用,将文本转换为语音进行播放。 https://developer.mozilla.org/zh-CN/d…

Cocos Creator 剪裁精灵图片方法记录(7)

Cocos Creator 剪裁精灵图片方法记录 start 最近拿到一些图片资源,但是都需要自己手动切割。类似unity的话有专门点击精灵工具自动帮你切割了,但是目前没有找到cocos中有这种工具。所以记录一下相关方法、 解决方案-Photoshop 最好的方式就是直接用 …

计算机毕业设计 在线项目管理与任务分配系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

[Redis][集群][上]详细讲解

目录 0.前言1.基本概念2.数据分片算法0.前言1.哈希求余2.一致性哈希算法3.哈希槽分区算法(Redis使用) 0.前言 说明:该章节相关操作不需要记忆,理解流程和原理即可,用的时候能自主查到即可 1.基本概念 哨兵模式提高了系统的可用性&#xff0…