分册 5性能评估与精度对比【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills对应主流程§7§8分册正文 §8.1.1 训练短测§8.2 正式训练排查。7) 性能评估可选把延迟/吞吐变成可复现的对比目标在同一输入分布、同一 batch/并发设置、同一测量口径下给出可与基线对比的延迟与吞吐数据并在性能不达标时能快速定位瓶颈属于预处理/后处理/IO/推理内核哪一段。7.0 测量顺序推荐与Mig_Readme、Compare对齐短测、冒烟、约定性能路径先在目标昇腾 NPU 环境跑通并落盘指标与Mig_Readme.md§3.1 所选数据集、batch、测量口径一致优先填满Compare.md中「昇腾 NPU」相关列与Mig_report验证摘要。再提供基线侧入口仅当无完整日志或需补采时若项目内无可直接引用的完整训练日志或日志缺推理性能等项则在Mig_Readme.md§2.6补齐GPU上的训练若适用与推理「调用接口」——可复制的命令、脚本路径、虚拟环境、--device/CUDA_VISIBLE_DEVICES、batch、模型权重与 IO 约定。GPU baseline 由用户自行执行采集默认 baseline 为 GPUagent 只负责接口与口径说明用户回传结果后再回填Compare.md。与下面「基线选取」的关系下面 §7 规定权威 baseline 来源项目完整训练日志优先否则默认 GPU执行顺序不强制「必须先有 baseline 数字」允许NPU 数据先于 baseline 就绪但归档与结论须待Compare.md口径对齐后定稿。性能基线选取优先项目内完整训练日志。检索仓库内训练/评测日志若含与验收对齐的指标、数据集、环境与 batch/超参说明直接摘录为 baseline注明路径无需重跑。否则默认 GPU baseline。性能对比以GPU为默认对照由用户按Mig_Readme.md§2.6在 GPU 上补采无可用 GPU 时填N/A并说明暂停误导性对比。CPU 对照可选非默认仅在项目明确要求或日志本身为 CPU 时补充。与 NPU昇腾结果对比时须说明 baseline 来自项目日志还是GPU 实测避免读者误读。触发条件满足其一即可进入本节用户明确要求性能测试或性能对比环境检测结论为“可直接执行测试”且用户同意执行项目验收标准中明确包含延迟/吞吐 KPI若不满足触发条件agent 应输出“未执行原因 待满足条件 可直接复用的测试命令模板”。让 agent 在这一节必须输出 5 部分内容测量范围、实验设置、指标口径、基准复现、性能报告模板。 若默认GPU baseline因无可用 GPU且项目内无完整训练日志而无法建立对照须在Compare.md填N/A并说明原因暂停误导性对比。7.1 测量范围明确你在算哪段时间让 agent 选择并写清楚性能测量口径至少包含下列一种或多种推荐“分段”端到端延迟从“输入准备完成”到“输出准备完成”推理纯耗时只统计模型执行/设备侧推理时间不含 Python/CPU 后处理预处理/后处理耗时如果你的工程里有这两段要求性能报告中要明确“本结果包含/不包含哪些环节”避免口径不一致导致误判。7.2 实验设置减少波动的关键让 agent 给出并坚持以下实验设置并将其写入输出便于复现环境固定同一台机器同一驱动/同一 CANN/同一代码版本与配置batch size列出要测的 batch 列表至少包含 1 和目标 batch并发/线程说明是单请求顺序还是并发若不确定先从单请求测起warmup给出 warmup 次数建议例如 10 次起步并说明原因预热缓存/编译初始化采样次数给出 iterations 建议例如 100 次起步与统计指标p50/p95/平均执行顺序与§7.0一致先在NPU按同一口径完成短测/性能并记录若无完整训练日志再在Mig_Readme.md§2.6提供GPU 调用接口供用户执行 baseline。agent 不代跑 GPU 测试采集顺序上 baseline 可晚于 NPU但对比表定稿前须具备日志摘录或 GPU 实测或 N/A 原因。7.3 指标口径建议统一成“延迟 吞吐”双指标让 agent 使用以下指标集合并在报告里逐项填充没有也要给出计算方法/公式Latencyp50/p95单位 ms以及平均值可选Throughput吞吐如 images/s 或 samples/s并注明按 batch 计算还是按请求计算可选扩展显存/内存占用、失败重试次数如果工程支持7.4 基准复现保证“测出来的就是同一个东西”让 agent 给出“可复现输入与数据一致性”要求写明各阶段所用数据集短测、冒烟、全量精度/性能等并与Mig_Readme.md§3.1 对齐下载方式见同文件 §3.2使用与精度评估相同的输入数据集划分与预处理配置固定随机种子若适用输入数据的尺寸/通道顺序/归一化参数与训练/基线保持一致记录输出的校验方法例如抽样对比 top1/mAP 或输出统计特征确保性能测试没有“跑偏数据”7.5 性能报告模板agent 必须按字段输出要求 agent 在最终输出中给出类似下面的结构可用 Markdown 表格呈现迁移后NPU通常先就绪vs 基线优先项目完整训练日志否则默认 GPU实测经§2.6提供接口由用户补采延迟 p50/p95、吞吐、batch size、测量口径端到端/纯推理/分段对比结论是否达到目标通过/不通过瓶颈定位建议优先按“预处理/后处理/IO/推理内核”给出一到两个最可能原因同时要求保存运行日志与 profiling 结果若可用用于回归定位。8) 精度对比与回归报告可选迁移是否成功要求 agent 给出一份对比报告框架即使没有最终数值也要给出结构与需要的字段与基线差异精度指标、主要错误类型如果能观察到性能差异延迟与吞吐、瓶颈推测前后处理/IO/批大小结论通过/不通过/需调整的具体项触发条件用户要求给出可量化回归结论已具备可复现测试数据与基线口径环境检测允许直接跑测试或用户提供了离线测试结果供回填数值一致性在跑全量指标前强烈建议Golden 样本同一批固定输入含预处理后的 tensor在基线与 NPU 路径上各跑一次可与§7.0一致先固定 NPU 侧输出与口径再由用户按Mig_Readme.md§2.6在GPU上补跑基线同输入或引用项目训练日志对比输出 tensor 的 shape、dtype、NaN/Inf、均值/方差/最大绝对误差分类任务可对比 top-1 是否一致小批量逐元素 rtol/atol须按目标精度设定默认 FP16 见Compare.md§3.1勿套用 FP32 级atol 1e-5若数值差异大优先查预处理、输入 layout、后处理是否接错输出头再查量化与算子替换8.1 代码级迁移适配训练/推理测试与「精度/性能对比」的关系精度、延迟、吞吐对比见本分册 §7§8 与 Compare.md主要是在数据集或基准集上算业务指标回答「效果与速度够不够」。代码级迁移适配的训练/推理测试侧重「实现与图是否健康、能否稳定跑通」通常在更小粒度上做与上者互补不是替代关系类型典型内容回答的问题推理侧代码级迁移适配固定输入的smokeshape/dtype、无 NaN/Inf、输出范围合理Golden与基线逐元素或统计量对比多输出头是否接对推理链路、预处理、设备/数据流是否与预期一致训练侧 smoke若迁移后仍训练单 batch 或极少 step前向反向优化器是否跑通loss 有限梯度是否异常全零/爆炸checkpoint 保存再加载是否一致训练脚本与 NPU 适配层能否跑通训练短测可行性向若迁移后仍训练在短子集 / 约定少 step上观测loss相对短测起点整体稳定、明显下降且相对降幅约 30%50%项目可在Mig_Readme§3.1 备注中收窄或改写区间可行性链路与损失是否正常收敛到「够用」门槛达标即停见§8.1.1自动化可选pytest/CI 中的小型用例CPU 参考 vs NPU 同输入输出一致性允许量化误差阈值回归时快速发现破坏性变更让 agent 根据项目是否「仅推理」或「仍训练」给出建议并在Mig_report.md的验证摘要中勾选是否已做推理 smoke、Golden、训练 smoke若适用、训练短测若适用全量精度/性能仍以 Compare.md 为准。8.1.1 训练「短测」通过准则与「达标即停、勿重复」训练短测收口与§8.2 正式训练区分本节是最小代价确认「能训、loss 能明显往下走」不是part-02 可行性预判不是调参长跑也不是§8.2 中「继续加大 iteration」的场景。指标默认以loss或团队在Mig_Readme§3.1 书面指定的唯一主损失在短测窗口内的相对起点变化为准。通过短测判定loss稳定降低且相对短测起始值累计降幅落在约 30%50%允许略出区间但须在Mig_report写清实际百分比与曲线截图/日志路径。达到即视为训练短测通过。停止与禁止重复一旦满足第 2 条本阶段短测即结束不要为「再确认一次」在同配置、同短测定义下重复多轮也不要在已通过短测后再叠加同类短测拉长总步数。后续若需更长训练进入正式训练或按Mig_Readme.md§5.3与§8.2而非重复短测。仅推理项目不适用本节短测一词在数据表可仍指「最小前向验证」见Mig_Readme§3.1 说明列。8.2 训练阶段迭代加大与「代码/模型问题」判定若迁移后仍训练适用于正式训练或加长验证跑不含已通过且已收口的§8.1.1 训练短测。训练短测达标后即停勿按本条再对短测「加 iteration 重复验证」。代码级迁移适配 smoke仍以跑通、有限 loss、梯度无爆炸为主不必套用下述 500 步阈值直接判废。阶段性观察在约定 checkpoint 或一轮训练结束时若loss 下降不明显或与任务相关的其它指标如验证集精度、mAP、perplexity 等相对基线/预期无明显变好在算力与时间允许下适当增大 iteration或 epoch /max_steps等等价训练步数并记录曲线、学习率与数据管线版本。停止「只加步数」的阈值若在已合理加大学习率/数据与上述迭代策略的前提下累计优化步数iteration 或等价总 step大于 500仍无明显改善loss 与关键指标相对起点或基线仍停滞优先怀疑模型结构、实现或数据管线而非单纯「还没训够」。后续动作暂停继续堆叠 iteration对代码与模型实现做系统检查与修复例如标签与loss是否一致、head 与冻结层、NPU 上自定义算子/替换路径是否改变梯度、学习率调度、数据增强与归一化是否与基线一致修复后从小步数回归验证再逐步加大过程写入Mig_report.md§7。文档在Mig_Readme.md§5.3填写本项目实际采用的阈值、指标名与命令参数便于交接。关联索引上一环节part-04-code-migration.md含迁移后最小验证下一环节part-08-checklist-deliverables-output.md性能/精度完成后文档同步与归档失败回流part-06-risk-rollback.md、part-09-examples-troubleshooting.md落盘Compare.md、Mig_report§6、Summary.md§5落盘对照步 4part-04-code-migration.md §5.7闭环矩阵workflow.md「文档一致性校验矩阵」流程总览workflow.md 步 5【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考