2301_76761127/timer-base-84m-npu
模型介绍
文件和版本
Pull Requests
讨论
分析

timer-base-84m 昇腾 NPU 适配

模型与范围

  • 官方模型地址:https://ai.gitcode.com/hf_mirrors/thuml/timer-base-84m
  • 本次部署 revision:70077a71acce1b4c00d98332fcaabc694255d8e5
  • 架构:Timer GPT 风格时间序列模型;许可:Apache-2.0
  • 设备:Ascend910_9362,逻辑设备 npu:0
  • 只验收真实 NPU forward,不运行 CPU Golden,也不做 CPU/NPU 精度比较。

物料身份和完整性由部署前置流程负责。inference.py 不在运行时限制仓库身份、revision、SHA、manifest 或参数量;它保留 NPU-only、禁止 CPU 回退、参数/输入/输出设备、形状、数量、有限性和退出码门禁。

环境

官方容器实测为 Python 3.11、PyTorch 2.9.0+cpu、torch_npu 2.9.0、CANN 8.5.1。requirements.txt 提供完整模型层依赖,不替换平台 PyTorch、torch_npu 或 CANN。

git clone https://ai.gitcode.com/hf_mirrors/thuml/timer-base-84m ./model
git -C ./model checkout --detach 70077a71acce1b4c00d98332fcaabc694255d8e5
git -C ./model lfs pull

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple \
  --target ./pydeps -r requirements.txt

入口包含官方 Apache-2.0 Timer 配置、模型和生成实现,使用本地 safetensors 离线加载,不进行网络回退。

唯一运行入口

source /usr/local/Ascend/cann-8.5.1/set_env.sh
export PYTHONPATH="$PWD/pydeps:/usr/local/Ascend/cann-8.5.1/python/site-packages:${PYTHONPATH:-}"
python inference.py --model_path ./model --device npu:0 \
  --seed 20260817 --output_json audit/hosted-npu/npu_result.json

测试用例为 8 条固定 480-step 单变量序列,每条输出 96-step forecast,共 768 个值。输入、模型 forward、输出形状和有限性检查均在目标 NPU,设备不一致或输出契约不完整都会非零退出。

官方容器真实结果

  • exit_status=0
  • requested/model/tensor/output = npu:0 / npu:0 / npu:0 / npu:0
  • 8 个样本、768 个完整预测值,全部有限
  • 两个设备截图时点来自同一真实推理进程 PID 124453
  • 原始结果:assets/npu_result.json

双份真实截图

第一组:

  • AtomCode 工作流规划
  • 真实 NPU 调用
  • 真实 NPU 输出

第二组为稍晚时点、内容更多的独立画面:

  • AtomCode 工作流规划 2
  • 真实 NPU 调用 2
  • 真实 NPU 输出 2

设备图在真实推理进程存活时同时显示 PID、完整命令和 npu-smi info;结果图来自本轮真实 JSON;两张 AgentFlow 图是官方容器内 AtomCode 的真实回复。

复现说明

模型权重不随仓库重新分发。按上方固定地址和 immutable revision 获取到仓库相对目录 ./model,安装唯一一份锁版 requirements.txt,再执行完整 NPU 命令即可。复现不依赖迁移机的 lane、共享缓存或 /data/atomcode-* 路径;本模型没有额外辅助模型或源码 checkout。只有最终 JSON 序列化发生在主机侧,模型数值路径全程位于 NPU。

本仓为 2301_76761127 队伍交付件(与备份账号合并提交)。