isayevlab/aimnet2-rxn(AIMNet2-rxn,分子机器学习势:能量/力/电荷,
4 成员 ensemble,本验收使用成员 0)13e9de20a1e878a18a371e94dfb2176629281cb6ensemble_0.safetensors,8,826,784 bytes,
SHA-256 2e8d185d0cb426d270bf004c0c46662e0f1a5b6fb0573d5c7801b564f91f5d86
(ensemble_1–3 的 SHA-256 保存在前半段审计清单中)npu:0),CPU reference 同机 aarch64--no-deps 边界安装,见 requirements.txt):aimnet 0.2.0、
nvalchemi-toolkit-ops 0.4.1、warp-lang 1.13.0(仅导入期注册,非 CUDA 路径走
纯 torch 实现)、tad-dftd3 0.6.0、tad-mctc 0.7.0、numpy 1.26.4、
click 8.4.2、safetensors 0.8.0、huggingface-hub 0.36.2;
未替换任何平台组件(target_stack_gate PASS)权重从官方固定 revision 快照离线加载(本仓不含权重)。上面的 revision、size 与
SHA-256 用于获取和审计,不作为通用推理入口的运行时强制身份门禁。入口直接从
--model_path 加载用户提供的本地 AIMNet2 快照,并禁止回退网络 model id
(HF_HUB_OFFLINE=1、TRANSFORMERS_OFFLINE=1)。
零上下文容器可按固定 revision 独立准备(不依赖迁移机目录):
git clone https://gitcode.com/hf_mirrors/isayevlab/aimnet2-rxn.git ../model
git -C ../model checkout 13e9de20a1e878a18a371e94dfb2176629281cb6
git -C ../model lfs pull
python3 -m pip install --no-deps --target ../pydeps -r requirements.txt
source /usr/local/Ascend/cann-8.5.1/set_env.sh
export PYTHONNOUSERSITE=1
export PYTHONPATH="$PWD/../pydeps:$PYTHONPATH"
EVIDENCE_HOLD_SECONDS=90 python3 inference.py --model_path ../model \
--device npu:0 --seed 20260816 --output_json result.jsonpython inference.py --model_path <快照目录> --device <npu:N> \
--seed 20260816 --output_json result.json参数:--model_path(默认 ./model)、--device(默认 npu:0,仅接受
npu:N)、--seed(默认 20260816)、--output_json(默认 result.json)。
CPU/CUDA fallback 被显式禁用。入口不强制核验 revision、SHA、manifest 或固定参数量;
通过官方 aimnet.calculators.AIMNet2Calculator 加载,compile_model=False(避免
torch.compile 与 GELU 双反向的已知问题)。
完整测试用例为 8 个手工固定的中性闭壳层 H/C/N/O 分子(甲烷、水、氨、二氧化碳、甲醛、氰化氢、乙烯、
甲醇;文献平衡构型,Å,charge=0;坐标为代码常量,无外部数据依赖)。每样本输出
energy(1 值)与 forces(3N 值),总计 110 值;NPU 设备、shape、样本数、
值计数与有限值(拒绝 NaN/Inf)任一不符即失败。
CPU reference 结果曾在前半段审计中与代码、样本契约和权重绑定;这些 identity
字段只保留为审计资料,不由最终通用 NPU 入口在运行时强制检查。分族门限在 Golden
与 NPU 运行前冻结,详见 accuracy/manifest.json 与 accuracy/README.md:
最终 pure-NPU Hosted 复验于 2026-08-18 在 CANN 8.5.1、PyTorch 2.9.0、
torch_npu 2.9.0.post1、Ascend910_9362 上完成:PID 41601,模型/输入/输出均为
npu:0,8 样本、110 值、shape/finite 全部 PASS,exit_status=0;600 秒 hold
期间同一 PID 保持 NPU 驻留。该最终入口使用下述 NPU-native 邻居列表和 D3(BJ),
无 CPU/CUDA 数值桥接。
真实 NPU 运行(2026-08-16,队列 job kimi-aimnet2-rxn-20260816T164420Z):
设备:npu:0(Ascend 910B3,actual_model_device / actual_tensor_device /
actual_output_device 均为 npu:0),8 样本 110 值全部产出,exit_status=0,
8 分子总前向(含力反传)1602.9 ms,seed 20260816
进程取证(私有审计目录 audit/npu-runs/20260816T164427Z/):子进程 PID 3874045
持有 /dev/davinci_manager fd,进程 maps 含 432 条 Ascend/torch_npu 映射,
npu-smi 输出包含该子 PID,采样轮次 431
Golden 绑定:cpu_golden verify READY_VERIFIED,identity =
inference_sha256 1266518e… + fixture_manifest_sha256 11e3a297… +
weight_sha256 2e8d185d…,entry …/b480c0199f094c7c…
实测指标(对冻结门限全部 PASS):
| 族 | cosine(≥0.9999) | max_abs(≤0.01) | max_scaled(≤0.05) |
|---|---|---|---|
| energy (eV) | 0.99999359 | 0.006165 | 0.006165 |
| forces (eV/Å) | 0.99999383 | 0.005100 | 0.005100 |
NPU 适配说明(如实披露):运行时不再使用 CPU/CUDA bridge。邻居列表由 NPU 上
的 pairwise distance、布尔 mask、sort 与 pad 基础 torch 算子构造;外部 DFT-D3
保留原 s6/s8/a1/a2 与能量/力单位,改由 tad-dftd3 的纯 torch D3(BJ)+autograd
在 NPU 上计算。Ascend 不支持真 FP64,tad-dftd3 的 1e-300 归一化会下溢为 0,
因而使用其算法说明中的等价分支安全 FP32 形式:非零和正常归一化,零和选择最大
coordination-number reference;CPU 对原 warp 实现的最大差为 energy 7.45e-9、
forces 9.84e-7。另有两处对称修复:
torch.compiler.set_stance("force_eager")(nvalchemiops 的
@torch.compile 装饰点在 NPU 上会触发不存在的 triton/inductor)与
ops.nse 的原地 mol_sizes ±1 改写为克隆(torch_npu 的
RepeatInterleaveBackward 会保存 repeats 张量并做版本检查)。
两套共六张真实证据图由当前 Hosted RUN 即时截取并全部保留在本仓,不做图片分流:
assets/agent_workflow.pngassets/agent_workflow_2.pngassets/npu_device_call.pngassets/npu_device_call_2.pngassets/model_result.pngassets/model_result_2.png





python accuracy/compare_accuracy.py --cpu_result <cpu_result.json> \
--npu_result <npu_result.json> --output_json accuracy.json负向门禁保持 fail-closed:模型目录缺失或无法由 AIMNet2 加载即失败;非法设备
cpu / cuda:0 被拒绝;输出设备、shape、样本数、值计数或 finite 不合格即失败。
唯一验收入口为 inference.py;比较器不启动任何推理路径。能量为模型自身的
per-element shifted 标度(eV),只对同一模型的几何间能量差有物理意义;完整
CPU/NPU JSON、日志、PID 采样与失败尝试保留在私有审计区,本仓仅含最小复现代码与摘要。
匿名 HEAD 与 fresh clone 审计由协调者统一执行。
本仓为 2301_76761127 队伍交付件(与备份账号合并提交)。