You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在多时间序列上训练DeepAR?GluonTS M5数据集训练时长异常

GluonTS DeepAR不同规模时间序列训练耗时一致问题解决

根因分析

  • GluonTS内置Trainer默认配置为通用大规模数据集设计:num_batches_per_epoch默认值为50,batch_size默认值为32。每轮训练会固定执行指定数量的批次计算,每个批次固定采样指定数量的时间序列。当训练集仅包含1条时间序列时,采样器会重复抽取同一条序列填充批次,单条序列和100条序列场景下的每轮训练实际计算量几乎一致,因此耗时无明显差异。
  • MXNet框架的计算图编译、GPU初始化等固定开销在小训练任务中占比极高,进一步掩盖了数据量差异带来的耗时区别。

优化方案

适配数据集规模调整训练参数

针对小规模时间序列训练场景,手动下调批次相关参数即可解决耗时异常问题:

# 适配小数据集的Trainer配置
trainer = Trainer(
    epochs=5,
    batch_size=4, # 根据时间序列总数调整,不要超过总序列数
    num_batches_per_epoch=5 # 根据总数据量下调每轮训练的批次数量
)

调整后单条序列训练的耗时会显著低于100条序列的训练耗时,符合正常的计算量对应关系。

可选优化(GPU环境)

开启自动混合精度训练可以进一步降低整体开销:

trainer = Trainer(
    epochs=5,
    batch_size=4,
    num_batches_per_epoch=5,
    amp=True
)

内容的提问来源于stack exchange,提问作者Sebastian Chejniak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:06:01