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

linked-liszt/OpenAlphaDiffract 昇腾 NPU 迁移

1. 模型与版本

  • 官方模型地址:https://ai.gitcode.com/hf_mirrors/linked-liszt/OpenAlphaDiffract
  • 固定 revision:9109b0f2f205038a024de0b7382fd02a7ddb97b1
  • 模型:AlphaDiffract 粉末衍射图晶体结构分类网络
  • 权重:model.safetensors,35,155,332 bytes
  • 权重 SHA-256:4d81f2716ef8c78683d52ac51afff3eaf160c0b2b410685d0c90299bc2fd58ed
  • 参数量:8,734,989
  • 许可:BSD 3-Clause

固定快照包含 model.py、config.json、maxsub.json、 example_inference.py 与权重。inference.py 会逐文件校验快照身份,并从快照 自身的 model.py 加载模型类;本仓不分发权重或模型源码。文件缺失或哈希漂移 时会 fail-closed 退出。

2. 验收范围

本仓采用 full-NPU-only 验收:只接受模型、输入张量和三个输出头全程位于 昇腾 NPU 的一次真实端到端推理。验收不运行 CPU golden,不比较 CPU/NPU 精度,也不设置数值精度门限。

以下任一情况均判定失败:NPU 不可用、模型或张量落到 CPU、发生隐式回退、 快照身份不符、输出不完整、输出包含 NaN/Inf、进程非零退出。

3. 环境与依赖

  • 硬件:Ascend 910B3
  • CANN:8.5.1
  • Python:3.11.14
  • PyTorch:2.9.0+cpu
  • torch_npu:2.9.0.post1
  • 模型级依赖:见 requirements.txt

4. 唯一 NPU 推理入口

EVIDENCE_HOLD_SECONDS=25 python inference.py \
  --model_path <固定 revision 快照目录> \
  --device npu:0 \
  --seed 20260817 \
  --output_json audit/<RUN_ID>/npu_result.json

推理按快照原生用法构建 AlphaDiffract,并以 strict=True 加载权重。输入为 8 个确定性合成的长度 8192 衍射强度序列;每个样本完整记录 cs_logits(7)、 sg_logits(230)、lp(6)与 backbone_feats(560),预期总输出值数量为 6,552。EVIDENCE_HOLD_SECONDS 仅用于在输出仍驻留于 NPU 时保留进程,方便把 同一 PID 与 npu-smi 状态截入证据图。

5. 当前官方容器实测

以下字段来自官方 Hosted 容器本轮唯一 full-NPU 跑次;未运行 CPU golden, 未执行 CPU/NPU 精度比较。

字段当前跑次实测值
UTC RUN_IDhosted-npu-20260817T152257Z
运行 PID4270
NPU 名称Ascend910_9362
requested_devicenpu:1
actual_model_devicenpu:1
actual_tensor_devicenpu:1
actual_output_devicenpu:1
sample_count8
total_output_value_count6552
finite_valuesPASS(每个输出张量逐项 isfinite 门禁)
inference.py SHA-2569fe65a992253e1684bb272988545bb26cc2f8d93a2c2eef593a808b8a79b7be1
exit_status0
验收结论FULL_NPU_PASS(无 CPU 回退)

通过条件:四个设备字段均明确指向同一 npu:N,sample_count=8, total_output_value_count=6552,输出全部有限,且 exit_status=0。本结论只 说明全程 NPU 推理成功,不代表模型精度结论。

6. 三张验收截图

6.1 Agent workflow

截图必须同时显示迁移规划提示词与模型已经开始给出的工作流规划回复;该回复 用于证明规划过程,不用于替代真实运行结果。

Agent workflow

6.2 NPU device call

截图必须来自本节同一 RUN_ID,清晰显示完整 NPU 推理命令、仍存活的同一 PID, 以及 npu-smi 中该 NPU 的实际使用状态。

NPU device call

6.3 Model result

截图必须显示本节同一结果 JSON/摘要中的模型身份、固定 revision、设备字段、 样本数、输出值数量、有限值检查、exit_status=0 和最终 PASS。

Model result

7. 复现与限制

运行前应在隔离环境中安装 requirements.txt,加载平台自带 CANN 环境,并保持 模型快照离线可读。不得用 CPU 输出、模拟日志或其他 RUN_ID 的截图替换当前 NPU 证据。详细 JSON 与日志可保存在私有审计目录;公开仓仅保留复现代码、 本 README 和三张脱敏证据图。

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