sheepss/AutonLab-MOMENT-1-base-NPU
模型介绍
文件和版本
Pull Requests
讨论
分析

AutonLab/MOMENT-1-base — 昇腾 NPU 零样本时序点预测

#NPU

MOMENT-1-base 是 CMU Auton Lab 发布的时序基础模型(T5-encoder 主干,113M 级参数,MIT 协议)。本仓在单卡昇腾 Ascend910(npu:0)上加载官方预训练权重,使用预训练 reconstruction head 的 short_forecast 机制做零样本点预测(context=512 → horizon=96),并给出真实数据上的 CPU/NPU 一致性、业务指标与性能结果。

项值
模型AutonLab/MOMENT-1-base
权重 revision5e44b0ea26376a176360f87831124e018f876d96
权重文件model.safetensors(453,940,120 B)
加载方式momentfm==0.1.4(本地权重,无 remote code)
架构T5-encoder(d_model=768, 12 层, 12 头)+ 预训练 reconstruction head
任务时间序列零样本点预测(forecasting,点预测)
设备npu:0(Ascend910, 65 GB HBM)
dtypefp32
参数量109,641,608(实际加载模型)

数据契约

  • 来源:ibm-research/patchtsmixer-etth1-test-data(公开 Hugging Face dataset,真实 ETTh1 测试窗口)。
  • 文件:forecast_batch.pt,含 past_values[64,512,7] 与 future_values[64,96,7]。
  • 轴顺序:输入 [batch, channels, time];7 通道 HUFL,HULL,MUFL,MULL,LUFL,LULL,OT;频率 1h;无缺失步。
  • context=512,horizon=96(预测窗口不越过数据边界);模型内部 RevIN 归一化并逆缩放,输出与输入同尺度。
  • 推理脚本不提交原始数据,首次运行自动从数据集仓下载到本地 data/。

环境

  • Python 3.11.14;CANN 8.5.1;torch 2.9.0;torch_npu 2.9.0.post1。
  • torch.npu.is_available() == True,设备数 2,目标设备 npu:0。

安装

pip install torch torch_npu momentfm==0.1.4 transformers huggingface_hub numpy safetensors

昇腾 CANN 与 torch_npu 请按官方文档安装。

NPU 推理

# 默认在 npu:0 上跑零样本点预测(首次自动下载权重与数据)
python inference.py

# 指定本地权重/数据目录
python inference.py --model-dir /path/to/weights --data-dir /path/to/data

# 稳定阶段性能基准(预热 3 次、测试 10 次)
python inference.py --bench

真实结果

默认运行(seed=42,ETTh1 第 0 个窗口,context=512,horizon=96,npu:0,fp32):

forecast shape=(7, 96)  device=npu:0
forecast OT ch6[:6] = [-1.0103, -1.0188, -0.8169, -0.9538, -0.9294, -0.6924]
forecast stat      = mean=-0.4246 std=0.4891
MAE=0.7930  RMSE=1.0766  SMAPE=1.3299(对真实 future_values 计算,未缩放)
FINAL STATUS: PASS

一致性(CPU vs NPU)

相同权重、相同输入窗口、相同 seed、eval 模式、fp32:

  • 输出形状一致 (7, 96),均有限值。
  • max_abs_error = 1.19e-06,mean_abs_error = 1.94e-07(atol=1e-4, rtol=1e-3)→ PASS。

性能(npu:0,context=512,horizon=96,fp32)

项值
首轮(含编译)0.22 s
稳定 avg / min / max11.95 / 11.66 / 12.68 ms
p50 / p90 / p9511.69 / 12.58 / 12.63 ms
吞吐83.67 windows/s
峰值显存492 MB

计时前后均执行 torch.npu.synchronize();不含 CSV/预处理读取。

证据图(由 xterm.js 依据本次真实日志渲染)

  • agent_workflow:侦察、下载、加载、CPU/NPU 推理、一致性、benchmark、提交校验。
  • npu_device_call:npu-smi、NPU 可用性、模型参数 device/dtype、输入输出 Tensor device。
  • model_result:默认 python inference.py 的真实完整输出。

图片为 xterm.js 终端渲染,非原始桌面截图。

限制

  • short_forecast 复用预训练 reconstruction head 做零样本预测,未针对 ETTh1 微调; forecasting/classification 专用 head 需自行微调后使用。
  • 单样本窗口一致性为 smoke consistency,非完整数据集 benchmark 排名。
  • 权重未包含在本仓,需按模型权重 URL 自行下载。