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>深分页怎么优化?</div> <div>还是以上面的SQL为空:select * from xxx order by id limit 500000, 10;</div> <div>方法一:</div> <div>从上面的分析可以看出,当offset非常大时&am…...
学校周赛(1)
A - Short Sort 题目: 思路: 本条题目只允许改一处地方,只有三个字母,我们可以直接枚举所有移动过的结果,同时使用哈希去记录其值,对于每一个输入我们都寻找是否有这个值记录,有则输出YES否则…...
人生苦短,我用Python✌
面向代码的解释型语言 数据开发和AI 编程语言:让计算机了解我们干什么,翻译官 1.下载软件 解释器安装 点击第二个 改路径 D:\python 安装 测试 winr打开 输入代码 输出 退出环境 exit() 新建文本文档后缀改成py 编写 运行 安装编写代码…...
uniapp js判断key是否在json中?
推荐学习文档 golang应用级os框架,欢迎stargolang应用级os框架使用案例,欢迎star案例:基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识,这里有免费的golang学习笔…...
Codeforces Round 975 (Div. 2) C. Cards Partition
题目链接:题目 大意: 给出若干种卡片,每种卡片有一定数量,你可以加入不超过 k k k张任意已给出种类的卡片,使得它们可以被分成若干组,每组容量一定,且同组内不存在相同种类的卡片,…...
Qt 首次配置 Qt Creator 14.01 for Python
前言: 如何用QT实现Python的配置的交互界面。本文从0开始,进行实践的介绍。 在上一节里面,我们做了社区版本的配置: https://blog.csdn.net/yellow_hill/article/details/142597007?spm1001.2014.3001.5501 这一节࿰…...
【python】代码发布前检查- vulture:查找死代码
分析Python项目中未被使用的.py文件 Vulture: Vulture是一个专门用于查找Python代码中的死代码的工具。它可以识别未使用的代码,包括未导入的模块。 安装: pip install vulture使用: vulture your_project_directory...
Yolov10环境配置
参考文章:1.YOLOv10超详细环境搭建以及模型训练(GPU版本)-CSDN博客 2.Windows下安装pytorch教程(下载.whl的方式)_pytorch whl-CSDN博客 安装步骤和文件夹顺序一样 1.安装CUDA和cuDNN 1.1安装CUDA 1.1.1查看当前你的电脑显卡支持的最高CUD…...
iOS 提取图片的主题色,并支持灵活提取
遇到一个需求,要提取图片中的色调,但还有一点特殊的需求,就是不是提取颜色最多的色调,也不是平均的色调,是图片中偏暗的色调 这就需要我们动态的调整我们提取的算法, 下面就看代码 dispatch_async(dispatch…...
语雀笔记使用记录
初识语雀 语雀官网 语雀帮助 教你如何使用语雀提高效率 语雀极简使用指南 | 10个常用技巧,带你快速入门 语雀安装 语雀下载地址 根据自己的pc平台下载对应的版本,然后傻瓜式安装即可 初试语雀 语雀为云笔记,并且其特性比较符合我个人的需求…...
安全教育培训小程序系统开发制作方案
安全教育培训小程序系统是为了提高公众的安全意识,普及安全知识,通过微信小程序的方式提供安全教育培训服务,帮助用户了解并掌握必要的安全防范措施。 一、目标用户 企业员工:各岗位员工,特别是IT部门、财务、行政等对…...
【面试题】软件测试实习(含答案)
软件测试实习常见面试题,主要是功能测试相关的基础问题 目录 一、软件测试基础 1、介绍一下你最近的项目,以及工作职责 2、软件项目的测试流程? 3、黑盒测试与白盒测试的区别? 4、黑盒测试常见的设计方法?怎么理解等价类方法和边界值方法 1&…...
后端回写前端日期格式化
问题 不进行格式化处理,就会导致传递的字符串很奇怪 解决方案 注解(字段) <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.2</…...
微信小程序开发系列之-在微信小程序中使用云开发
微信小程序开发系列之-在微信小程序中使用云开发 随着微信小程序的快速发展,云开发成为了一个强大的工具,它提供了无需搭建和维护服务器的便捷环境。云开发允许开发者直接使用云数据库、存储和云函数等服务,大大简化了小程序的开发流程。在本…...
《论文阅读》 用于产生移情反应的迭代联想记忆模型 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树(平衡二叉树)的介绍以及相关构建
欢迎光临 : 羑悻的小杀马特-CSDN博客 目录 一AVL树的介绍: 二AVL树的实现: 1结构框架: 2节点的插入: 旋转: 21左单旋: 2.1.1左单旋介绍及步骤: 2.1.2左单旋代码实…...
SAP员工士气因重组受到打击
SAP在2024年经历了员工士气显著下降的局面,特别是在国内员工中。这一变化与公司在1月宣布的重组计划紧密相关。根据彭博社的报道,6月进行的一项调查显示,SAP约16,500名员工中,有51%愿意接受竞争对手的类似职位,而对公司…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
Linux 下 DMA 内存映射浅析
序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程,可以参考这篇文章,我觉得写的非常…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
对象回调初步研究
_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...
