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

MOMENT-1-base 昇腾NPU部署文档

1. 模型简介

模型名称: AutonLab/MOMENT-1-base 模型链接: HuggingFace 模型描述: MOMENT 是一个通用时间序列分析基础模型家族,支持预测、分类、异常检测、插补等多种任务。MOMENT-1-base 基于 T5 Encoder 架构,具有 1.1 亿参数,可直接用于零样本时间序列分析。 模型架构: Transformer (T5 Encoder-only) 参数规模: 约 1.1 亿参数 (109.6M) 任务类型: 时间序列预测 / 分类 / 异常检测 / 插补 / 表征学习


2. 环境依赖

依赖项版本要求说明
Python>= 3.10推荐 3.11
torch>= 2.1.0PyTorch 框架
torch_npu>= 2.1.0昇腾 NPU 后端
transformers>= 4.45.0HuggingFace T5 模型库
safetensors>= 0.4.0安全权重加载
numpy>= 1.20.0数值计算
昇腾驱动CANN 8.0+推荐 8.5.x

安装命令:

pip install torch torch_npu transformers safetensors numpy

注意: 本适配不依赖 momentfm 库,直接使用 transformers 的 T5EncoderModel 加载权重。


3. 推理步骤

3.1 环境准备

# 检查 NPU 设备
npu-smi info

# 验证 PyTorch NPU 可用
python3 -c "import torch; import torch_npu; print(torch.npu.is_available(), torch.npu.get_device_name(0))"

3.2 运行推理

# 重建任务(异常检测/插补)
python inference.py --task reconstruction

# 预测任务
python inference.py --task forecasting --forecast_horizon 96

# 分类任务
python inference.py --task classification --num_class 2

# 表征学习
python inference.py --task embedding

3.3 性能基准测试

python inference.py --task reconstruction --benchmark --benchmark_runs 20

3.4 推理参数说明

参数类型默认值说明
--taskstrreconstruction任务类型: forecasting / classification / reconstruction / embedding
--inputstrrandom输入数据: 'random' 随机生成, 或 .npy 文件路径
--model_pathstr/data/AutonLab-MOMENT-1-base模型权重路径
--forecast_horizonint96预测步长
--num_classint2分类类别数
--seq_lenint512输入序列长度
--benchmarkflagfalse启用性能基准测试
--benchmark_runsint10基准测试轮数

4. 测试样例及输出结果

样例 1:时间序列重建(异常检测/插补)

输入: 随机生成 512 点时间序列

python inference.py --task reconstruction

输出:

[INFO] 检测到 2 个 NPU 设备: Ascend910_9362
[INFO] 模型加载完成 (3.30s)
[INFO] 总参数量: 109,643,914
[RESULT] 推理耗时: 0.1893s
[RESULT] 输出 shape: torch.Size([1, 512])
[RESULT] 输出均值: -0.005902
[RESULT] 输出标准差: 0.438599
[RESULT] 输出范围: [-1.237657, 1.261606]

样例 2:性能基准测试

输入: batch=1, seq_len=512, 20轮

python inference.py --task reconstruction --benchmark --benchmark_runs 20

输出:

[BENCHMARK] 平均延迟: 16.48 ms
[BENCHMARK] 吞吐量: 60.68 samples/s

5. Agent适配截图

5.1 Agent适配全过程截图

Agent 适配流程

5.2 NPU设备调用截图

NPU 设备调用

5.3 模型适配结果截图

模型适配结果


6. 精度评测

本模型为时间序列基础模型,使用重建损失进行预训练。在随机输入上的重建结果已通过推理验证,模型能正常生成与输入维度匹配的输出。

测试数据: 随机生成的标准正态分布时间序列 (seq_len=512) 评测指标: 重建误差(MSE)、输出分布统计

指标结果
推理延迟 (NPU)16.48 ms
吞吐量60.68 samples/s
模型参数量109.6M

7. 注意事项

  • 推理脚本通过 torch_npo 调用昇腾 NPU,无需 CUDA
  • 模型权重使用 safetensors 格式加载,更安全高效
  • 本适配不依赖 momentfm 库,使用 transformers 直接构建 T5 Encoder 架构
  • patch_embedding 使用 Linear(8, 768) 将 8 维 patch 映射到 768 维隐藏空间
  • 位置编码使用 BERT-style 可学习编码 [1, 5000, 768]
  • 模型权重请自行从 HuggingFace 下载,不包含在仓库中
  • 输入序列长度建议为 512(patch_len=8, stride=8 → 64 个 patches)