当前位置: 首页 > news >正文

Time-MoE : 时间序列领域的亿级规模混合专家基础模型

Time-MoE : 时间序列领域的亿级规模混合专家基础模型

图片

时间序列预测一直是量化研究和工业应用中的重要课题。随着深度学习技术的发展,大规模预训练模型在自然语言处理和计算机视觉领域取得了显著进展,但在时间序列预测领域,这些模型的规模和运算成本仍然限制了其在实际应用中的效能。为此,本文介绍了TIME-MOE,这是一种可扩展的统一架构,旨在通过减少推理成本来预训练更大、更强的时间序列预测基础模型。TIME-MOE利用稀疏混合专家(MoE)设计,通过为每个预测激活网络的子集来提高计算效率,从而在不增加推理成本的情况下实现模型规模的有效扩展。TIME-MOE由一系列仅解码器的Transformer模型组成,以自回归方式运行,支持灵活的预测范围和变化的输入上下文长度。研究者们首次将时间序列基础模型扩展到24亿参数,并在新引入的大规模数据集Time-300B上进行了预训练,该数据集涵盖了9个领域,包含超过3000亿个时间点。实验结果表明,TIME-MOE在预测精度上取得了显著提升,并在多个真实世界的基准测试中优于同等计算预算的密集模型。

1. 引言

时间序列数据是现实世界动态系统中的主要模态,在诸如能源、气候、教育、量化金融和城市计算等各个领域的应用中至关重要。尽管传统的预测方法在特定任务中表现出了竞争力,但直到最近,随着一些通用预测基础模型的出现,该领域才开始走向统一。尽管这些模型前景广阔,但与特定领域的模型相比,它们的规模通常较小,任务解决能力有限,这限制了它们在实际应用中的预测精度与计算预算之间的平衡。

图片

2. 相关工作

在过去的十年中,深度学习模型已经成为时间序列预测的强大工具。这些模型可以分为单变量模型和多变量模型,其中多变量模型包括基于Transformer的方法和非Transformer模型。尽管这些模型在各自的领域内取得了有竞争力的性能,但它们通常是任务特定的,并且在跨领域数据的少样本或零样本场景中泛化能力不足。

图片

3. 方法论

TIME-MOE模型的核心在于其创新的架构设计,该设计基于混合专家(Mixture-of-Experts, MoE)的解码器-only Transformer架构,旨在实现大规模预训练的同时降低推理成本。本章详细介绍了TIME-MOE的三个关键组成部分:输入令牌嵌入、MoE Transformer块和多分辨率预测。

3.1 TIME-MOE概览

TIME-MOE模型的设计理念是为了解决时间序列预测中的两个主要挑战:模型规模的扩展和计算效率的提升。以下是TIME-MOE模型的三个主要组成部分:

3.1.1 输入令牌嵌入

输入令牌嵌入是模型的第一层,它将原始时间序列数据转换为模型可以处理的形式。TIME-MOE采用逐点标记化策略,确保时间信息的完整性。每个时间序列数据点通过SwiGLU函数进行嵌入,得到相应的隐藏状态。

3.1.2 MoE Transformer块

MoE Transformer块是TIME-MOE的核心组件,它基于标准的Transformer解码器,并引入了混合专家层来提高计算效率。这些混合专家层由多个专家网络组成,每个网络只对一部分输入数据进行计算,从而实现模型的稀疏激活。这种设计不仅提升了模型处理大规模数据的能力,还减少了推理时的计算负担。

3.1.3 多分辨率预测

多分辨率预测是TIME-MOE的另一个创新点。它通过多个输出层来支持不同预测范围的预测任务,使得模型能够灵活地处理不同长度的预测问题。这种设计提高了模型在多样化预测任务中的适用性和准确性。

3.2 模型训练

TIME-MOE的训练过程包括了数据集的构建、损失函数的选择和模型配置的确定。

3.2.1 TIME-300B数据集

为了训练TIME-MOE模型,研究者们构建了一个名为Time-300B的大规模时间序列数据集。这个数据集涵盖了9个不同的领域,包含了超过3000亿个时间点。为了确保数据质量,研究者们开发了一个数据清洗流程,以处理缺失值和无效观测等问题。

3.2.2 损失函数

TIME-MOE模型采用了Huber损失函数来提高训练的稳定性。Huber损失函数对异常值具有更好的鲁棒性,有助于模型在面对噪声数据时保持稳定的性能。

3.2.3 模型配置和训练细节

TIME-MOE模型有三种不同的规模:基础版(50M激活参数)、大型版(200M激活参数)和超大型版(2.4B参数)。每种模型都经过了精心设计,以适应不同的计算环境和应用需求。模型训练使用了AdamW优化器,并采用了线性预热余弦退火的学习率调度策略。

图片

4. 主要结果

研究者们通过一系列详尽的实验,验证了TIME-MOE模型在不同规模和设置下的有效性。本章详细介绍了零样本预测、领域内预测、消融研究、可扩展性分析和训练精度分析等方面的结果。

4.1 零样本预测

在零样本预测设置中,TIME-MOE模型接受了未包含在其预训练数据中的六个长期预测基准数据集的测试。这些数据集覆盖了不同的领域,包括温度、电力消耗和天气等。实验结果表明,TIME-MOE在所有测试基准上都实现了显著的性能提升。

4.1.1 实验设置
  • 数据集:包括ETTh1、ETTh2、ETTm1、ETTm2、天气和电力消耗等六个数据集。

  • 预测范围:选择了96、192、336和720时间步长作为预测范围。

  • 评估指标:使用均方误差(MSE)和平均绝对误差(MAE)作为评估指标。

4.1.2 结果

TIME-MOE在所有基准测试中均取得了最低的MSE和MAE值,与现有的最先进模型相比,平均MSE降低了23%以上。这一结果证明了TIME-MOE模型在零样本学习环境下的强大预测能力。

图片

4.2 领域内预测

领域内预测(也称为全样本预测)测试了TIME-MOE模型在经过特定领域数据微调后的性能。这种设置模拟了实际应用中常见的情况,即模型在特定任务上进行优化。

4.2.1 实验设置
  • 数据集:使用与零样本预测相同的六个基准数据集。

  • 训练周期:每个模型仅进行一次训练周期的微调。

4.2.2 结果

TIME-MOE在所有测试基准上均实现了显著的性能提升,平均MSE降低了25%。这一结果展示了TIME-MOE模型在经过少量微调后,能够快速适应特定领域数据的强大能力。

图片

4.3 消融研究

消融研究旨在评估TIME-MOE模型中关键组件的贡献,包括混合专家(MoE)层、多分辨率预测层和Huber损失函数。

图片

4.3.1 实验设置
  • 组件移除:分别移除MoE层、多分辨率预测层和Huber损失函数,以评估它们对模型性能的影响。

4.3.2 结果
  • MoE层:移除MoE层后,模型性能显著下降,证明了稀疏激活设计对提高模型性能的重要性。

  • 多分辨率预测层:移除多分辨率预测层后,模型在处理不同预测范围时的性能略有下降,表明多分辨率预测层在捕捉不同时间依赖性方面的重要性。

  • Huber损失函数:使用Huber损失函数的模型在处理异常值时表现更稳定,提高了训练的鲁棒性。

图片

4.4 可扩展性分析

可扩展性分析探讨了TIME-MOE模型在不同数据规模和模型规模下的性能和效率。

4.4.1 实验设置
  • 模型规模:比较了不同规模的TIME-MOE模型(基础版、大型版和超大型版)。

  • 数据规模:在不同规模的数据集上训练模型,以评估数据规模对模型性能的影响。

4.4.2 结果
  • 模型规模:随着模型规模的增加,TIME-MOE模型的性能持续提升,证明了模型规模扩展的有效性。

  • 数据规模:在更大数据集上训练的模型表现出更好的泛化能力,强调了大规模数据在提升模型性能中的作用。

图片

4.5 训练精度分析

训练精度分析比较了使用不同数值精度(bfloat16和float32)进行训练的TIME-MOE模型的性能和效率。

4.5.1 实验设置
  • 精度比较:训练了两个版本的TIME-MOE模型,一个使用bfloat16精度,另一个使用float32精度。

4.5.2 结果
  • 性能:两种精度的模型在预测性能上相当,表明使用bfloat16精度不会牺牲模型的预测能力。

  • 效率:bfloat16精度的模型在训练速度和内存使用上均优于float32精度的模型,展示了在保持性能的同时提高效率的潜力。

图片

5. 结论

本文介绍的TIME-MOE模型,通过利用专家混合的稀疏设计,提高了计算效率,同时在多个基准测试中实现了显著的预测精度提升。TIME-MOE证明了在时间序列预测中扩展模型规模的可行性,并确立了自己作为解决现实世界预测挑战的最新解决方案的地位。

相关文章:

Time-MoE : 时间序列领域的亿级规模混合专家基础模型

Time-MoE : 时间序列领域的亿级规模混合专家基础模型 时间序列预测一直是量化研究和工业应用中的重要课题。随着深度学习技术的发展,大规模预训练模型在自然语言处理和计算机视觉领域取得了显著进展,但在时间序列预测领域,这些模型的规模和运…...

Spring Boot入门指南

前言 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。本文将详细介绍 Spring Boot 的基本概念、环境搭建、第一…...

MYSQL(学习笔记)

<div>深分页怎么优化&#xff1f;</div> <div>还是以上面的SQL为空&#xff1a;select * from xxx order by id limit 500000, 10;</div> <div>方法一&#xff1a;</div> <div>从上面的分析可以看出&#xff0c;当offset非常大时&am…...

学校周赛(1)

A - Short Sort 题目&#xff1a; 思路&#xff1a; 本条题目只允许改一处地方&#xff0c;只有三个字母&#xff0c;我们可以直接枚举所有移动过的结果&#xff0c;同时使用哈希去记录其值&#xff0c;对于每一个输入我们都寻找是否有这个值记录&#xff0c;有则输出YES否则…...

人生苦短,我用Python✌

面向代码的解释型语言 数据开发和AI 编程语言:让计算机了解我们干什么&#xff0c;翻译官 1.下载软件 解释器安装 点击第二个 改路径 D:\python 安装 测试 winr打开 输入代码 输出 退出环境 exit&#xff08;&#xff09; 新建文本文档后缀改成py 编写 运行 安装编写代码…...

uniapp js判断key是否在json中?

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…...

Codeforces Round 975 (Div. 2) C. Cards Partition

题目链接&#xff1a;题目 大意&#xff1a; 给出若干种卡片&#xff0c;每种卡片有一定数量&#xff0c;你可以加入不超过 k k k张任意已给出种类的卡片&#xff0c;使得它们可以被分成若干组&#xff0c;每组容量一定&#xff0c;且同组内不存在相同种类的卡片&#xff0c;…...

Qt 首次配置 Qt Creator 14.01 for Python

前言&#xff1a; 如何用QT实现Python的配置的交互界面。本文从0开始&#xff0c;进行实践的介绍。 在上一节里面&#xff0c;我们做了社区版本的配置&#xff1a; https://blog.csdn.net/yellow_hill/article/details/142597007?spm1001.2014.3001.5501 这一节&#xff0…...

【python】代码发布前检查- vulture:查找死代码

分析Python项目中未被使用的.py文件 Vulture&#xff1a; Vulture是一个专门用于查找Python代码中的死代码的工具。它可以识别未使用的代码&#xff0c;包括未导入的模块。 安装&#xff1a; pip install vulture使用&#xff1a; vulture your_project_directory...

Yolov10环境配置

参考文章&#xff1a;1.YOLOv10超详细环境搭建以及模型训练&#xff08;GPU版本&#xff09;-CSDN博客 2.Windows下安装pytorch教程(下载.whl的方式)_pytorch whl-CSDN博客 安装步骤和文件夹顺序一样 1.安装CUDA和cuDNN 1.1安装CUDA 1.1.1查看当前你的电脑显卡支持的最高CUD…...

iOS 提取图片的主题色,并支持灵活提取

遇到一个需求&#xff0c;要提取图片中的色调&#xff0c;但还有一点特殊的需求&#xff0c;就是不是提取颜色最多的色调&#xff0c;也不是平均的色调&#xff0c;是图片中偏暗的色调 这就需要我们动态的调整我们提取的算法&#xff0c; 下面就看代码 dispatch_async(dispatch…...

语雀笔记使用记录

初识语雀 语雀官网 语雀帮助 教你如何使用语雀提高效率 语雀极简使用指南 | 10个常用技巧&#xff0c;带你快速入门 语雀安装 语雀下载地址 根据自己的pc平台下载对应的版本&#xff0c;然后傻瓜式安装即可 初试语雀 语雀为云笔记&#xff0c;并且其特性比较符合我个人的需求…...

安全教育培训小程序系统开发制作方案

安全教育培训小程序系统是为了提高公众的安全意识&#xff0c;普及安全知识&#xff0c;通过微信小程序的方式提供安全教育培训服务&#xff0c;帮助用户了解并掌握必要的安全防范措施。 一、目标用户 企业员工&#xff1a;各岗位员工&#xff0c;特别是IT部门、财务、行政等对…...

【面试题】软件测试实习(含答案)

软件测试实习常见面试题&#xff0c;主要是功能测试相关的基础问题 目录 一、软件测试基础 1、介绍一下你最近的项目&#xff0c;以及工作职责 2、软件项目的测试流程? 3、黑盒测试与白盒测试的区别? 4、黑盒测试常见的设计方法?怎么理解等价类方法和边界值方法 1&…...

后端回写前端日期格式化

问题 不进行格式化处理&#xff0c;就会导致传递的字符串很奇怪 解决方案 注解&#xff08;字段&#xff09; <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.2</…...

微信小程序开发系列之-在微信小程序中使用云开发

微信小程序开发系列之-在微信小程序中使用云开发 随着微信小程序的快速发展&#xff0c;云开发成为了一个强大的工具&#xff0c;它提供了无需搭建和维护服务器的便捷环境。云开发允许开发者直接使用云数据库、存储和云函数等服务&#xff0c;大大简化了小程序的开发流程。在本…...

《论文阅读》 用于产生移情反应的迭代联想记忆模型 ACL2024

《论文阅读》 用于产生移情反应的迭代联想记忆模型 ACL2024 前言简介任务定义模型架构Encoding Dialogue InformationCapturing Associated InformationPredicting Emotion and Generating Response损失函数问题前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦…...

零基础教你如何开发webman应用插件

0X03 应用目录机构 plugin/ └── dingdingtalk │ ├── api │ │ └── Install.php │ ├── app │ │ ├── controller │ │ │ └── IndexController.php │ │ ├── functions.php │ │ ├── middleware │ │ ├── mo…...

AVL树(平衡二叉树)的介绍以及相关构建

欢迎光临 &#xff1a; 羑悻的小杀马特-CSDN博客 目录 一AVL树的介绍&#xff1a; 二AVL树的实现&#xff1a; 1结构框架&#xff1a; 2节点的插入&#xff1a; 旋转&#xff1a; 21左单旋&#xff1a; 2.1.1左单旋介绍及步骤&#xff1a; 2.1.2左单旋代码实…...

SAP员工士气因重组受到打击

SAP在2024年经历了员工士气显著下降的局面&#xff0c;特别是在国内员工中。这一变化与公司在1月宣布的重组计划紧密相关。根据彭博社的报道&#xff0c;6月进行的一项调查显示&#xff0c;SAP约16,500名员工中&#xff0c;有51%愿意接受竞争对手的类似职位&#xff0c;而对公司…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...

如何在Windows本机安装Python并确保与Python.NET兼容

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

Matlab实现任意伪彩色图像可视化显示

Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中&#xff0c;如何展示好看的实验结果图像非常重要&#xff01;&#xff01;&#xff01; 1、灰度原始图像 灰度图像每个像素点只有一个数值&#xff0c;代表该点的​​亮度&#xff08;或…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇

根据 QYResearch 发布的市场报告显示&#xff0c;全球市场规模预计在 2031 年达到 9848 万美元&#xff0c;2025 - 2031 年期间年复合增长率&#xff08;CAGR&#xff09;为 3.7%。在竞争格局上&#xff0c;市场集中度较高&#xff0c;2024 年全球前十强厂商占据约 74.0% 的市场…...

Java并发编程实战 Day 11:并发设计模式

【Java并发编程实战 Day 11】并发设计模式 开篇 这是"Java并发编程实战"系列的第11天&#xff0c;今天我们聚焦于并发设计模式。并发设计模式是解决多线程环境下常见问题的经典解决方案&#xff0c;它们不仅提供了优雅的设计思路&#xff0c;还能显著提升系统的性能…...