S
Solis_caser/facebook-opt-125m-ascend-npu
模型介绍
文件和版本
Pull Requests
讨论
分析

facebook/opt-125m 昇腾 NPU 适配

模型介绍

本仓库提供 facebook/opt-125m 在昇腾 NPU 上的真实推理适配。模型为 125M 参数的 OPT 自回归文本生成模型,推理脚本使用 torch_npu 将模型、输入和输出 logits 放在 npu:0 上,并以关闭 KV cache 的贪心解码生成 20 个新 token。

上游模型

上游模型:facebook/opt-125m。

本次验证使用源仓提交 27dcfa74d334bc871f3234de431e71c6eeba5dd6。真实权重文件为 pytorch_model.bin,大小 250,540,281 字节,SHA-256 为 2d74da6615135c58cf3cf9ad4cb11e7c613ff9e55fe658a47ab83b6c8d1174a9,不是 Git LFS 指针。推理脚本在加载前会严格校验字节数与 SHA-256,不匹配立即报错退出。

输入格式

脚本内置真实英文输入:

The future of artificial intelligence is

也可修改 inference.py 中的 PROMPT。分词后输入包含 input_ids 和 attention_mask,两者在推理前移动到 npu:0。

NPU 环境

实测设备为 Ascend910_9362 (npu:0)。实测软件版本:

  • Python 3
  • torch 2.9.0+cpu
  • torch_npu 2.9.0.post1+gittee7ba04
  • transformers 4.57.6
  • 推理 dtype:torch.float32

脚本会断言模型全部参数、input_ids、attention_mask 和输出 logits 的设备类型均为 NPU;任何 CPU 回退都会直接失败。

运行命令

脚本默认通过 huggingface_hub.snapshot_download 按固定 revision 27dcfa74d334bc871f3234de431e71c6eeba5dd6 下载所需配置 / tokenizer / pytorch_model.bin,加载前严格校验字节数与 SHA-256:

flock -x -w 1800 /tmp/npu-adapt.lock python3 -u inference.py

也可用 --model-dir 指向已含真实权重的目录(同样执行严格校验):

flock -x -w 1800 /tmp/npu-adapt.lock python3 -u inference.py --model-dir /path/to/weights

昇腾运行环境需预装相互匹配的 torch、torch_npu 和 CANN;应用层依赖见 requirements.txt。

实际结果

真实昇腾 NPU 推理成功,关键结果如下:

  • model_id:facebook/opt-125m
  • revision:27dcfa74d334bc871f3234de431e71c6eeba5dd6
  • input:The future of artificial intelligence is
  • generated_text:The future of artificial intelligence is in the hands of the people.
  • device:npu:0
  • dtype:torch.float32
  • logits_shape:(1, 26, 50272)
  • num_new_tokens:20
  • elapsed_seconds:0.2235

inference.py 的实测 SHA-256 为 d2119c12e14071ee4d4e8521b1bb1e04c7fa741bd1a4e72c0e46b2d2658e5e83。

限制

本适配只验证了单条英文样本、batch size 1、贪心解码和 20 个新 token。结果用于比赛环境中的功能验证,不代表生产吞吐、长文本质量或完整精度评测。脚本禁用 KV cache 以提高当前昇腾环境的兼容性,不包含 CPU 回退。

许可证

上游仓库标记为自定义许可证(other);使用模型和权重前请阅读上游仓库中的 LICENSE.md 并遵守其条款。本适配不改变上游模型、checkpoint 或许可证。

截图证据

以下图片均为人工截取、未经裁剪或编辑的真实比赛环境证据:

  • 适配工作流与交付状态:适配工作流
  • NPU 设备与调用证据:NPU 设备调用
  • 真实模型推理结果:模型结果