该技能面向华为昇腾 NPU 的 profiling 数据分析,包含三条并行流水线。一是结构分解:step → structure(层)→ block/side → op → PMU 判断,回答耗时分布在哪里。二是异常发现:step → 设备忙碌并集 → 气泡检测 → 异常标签 → 软归因,回答哪些现象不自然、隐藏问题可能在哪。三是模型架构分析:FIA 时间线 → pass 边界 → 层分类 → 每层子结构 → 通信流水线 → 架构摘要,生成独立 Markdown 报告。
核心原则是关注点分离:“异常存在”是由设备区间得出的硬事实;“为何存在”是可能需要额外证据的软归因。即使在弱 profiling 配置下(无 stacks、无 shapes、稀疏 host 事件),也应稳定暴露设备空闲气泡和风险标签。
使用前需先阅读参考文件:references/kernel_data_guide.md(始终先读)、references/rulebook.md(始终)、references/architecture_report_template.md(生成架构报告前必读);产出结构化 JSON 时读 references/schema.json;编写分析脚本时参考 scripts/reference_host_gap_branch.py。
数据层级为 Step → Structure(层)→ Block/Side → Op。Step 由 ProfilerStep#N 或 Iteration#N 识别;Structure 通过重复命名模式、时间间隙或用户标注切分;Block 为主计算流,Side 为辅助算子(逐元素、HCCL、AI CPU、拷贝、同步等);Op 为最细粒度。block/side 层需同时维护 wall_ms、busy_union_ms、kernel_sum_ms、total_cost_ms 四个时间口径。
异常发现流水线依次为 BUILD_DEVICE_INTERVALS、MERGE_INTERVALS、GAP_CLASSIFICATION、HOST_EVIDENCE_COLLECTION、SOFT_ATTRIBUTION、ANOMALY_TAGGING、WAIT_ANCHOR_SCAN、GROUP_AGGREGATION、PRODUCE_OUTPUT。会计算 underfeed_ratio、prelaunch/tail/internal bubble 等指标,并按 sync/comm/host 覆盖比例给出 possible_sync_or_h2d、possible_comm_wait、possible_untraced_host_blocking 等概率级标签,多个标签可共存。
架构报告需包含 10 个必选章节,保存为 model_architecture_report_<profiling_dir_name>.md。资料中未提供具体安装命令、平台版本或收费信息。