用途:把 HuggingFace 模型或本地模型代码适配到昇腾 NPU 的 cann-recipes-infer 仓库推理框架(ModelRunner),产出可运行的标准模型目录与性能基线数据。覆盖三种场景:A 仅有 HF 链接;B 本地代码跑不通;C 代码可运行但缺标准化基线。
主要能力:生成标准目录(config YAML、configuration_.py、model_setting.py、modeling_.py、infer.py、infer.sh、runner_*.py、requirements.txt、README.md、baseline/baseline_metadata.json);诊断修复推理失败(最多 5 轮);用 scripts/collect_baseline.py 从日志解析耗时并采集环境信息,输出 baseline_metadata.json 的 timestamp、environment、model_config、performance 字段。
必要用法:先确认 NPU 可用与环境(npu-smi info、torch 与 torch_npu 版本匹配),据此判断场景;场景 A/B 走代码准备,运行 bash infer.sh,跑通则采集基线。基线采集需 infer.py 含 model_generate(warm_up=True) 预热,再执行 model_generate(),并用如下命令采集:
python3 scripts/collect_baseline.py
--log-file {RES_PATH}/log_0.log
--output {output_dir}/{model_name}/baseline/baseline_metadata.json
--yaml-file {yaml_path}
多卡场景使用 rank 0 日志(log_0.log)。modeling 与 configuration 代码需 vendoring 到仓库,禁止 from transformers 导入模型类;确保 import torch_npu 执行;保留 PyTorch 标准算子;Runner 继承 executor.model_runner.ModelRunner,实现 init_model、model_input_prepare、model_output_process、model_generate 等;参考模型按架构路由(LLM 用 gpt-oss、MoE 用 qwen3-moe、MLA 用 deepseek-r1、长序列用 longcat-flash、多模态用 hunyuan-video)。权重通过 YAML model_path 指定,小于 5GB 可本地下载,否则提示用户提供。
适用场景:新模型适配昇腾 NPU、修复跑不通的推理代码、建立单/多卡性能基线。
限制:聚焦基础适配(eager 模式、标准算子),不涉及融合算子替换、KVCache 优化、图模式适配;多卡并行改造由 parallel-impl skill 负责,migrator 只做运行前检查;OOM 时报告显存需求与预估卡数后结束。具体支持模型范围、性能指标与收费信息暂未提供。