本章要回答的三个问题:模型跑得太慢时,从哪里下手优化才不是瞎忙?接触发抖、摩擦诡异这类最常见的「参数病」,怎么从现象倒推回参数?面对一个说不清哪里不对的模型,有没有一套系统的排错方法论,而不是碰运气改参数?三问对应 6.1、6.2、6.3。
前五章把「怎么建、怎么用」讲完了,但真实工作里占掉最多时间的既不是建模也不是训练,而是「它不对劲,但不知道为什么」的时刻。仿真跑得比实时慢十倍、机器人站在原地高频打摆、同一份模型两台机器结果不一样——这类问题没有报错、没有堆栈,只有一个异常现象。试车场的比喻里,本章是失速区与维修站:样机在这里摔过,才能在别处跑稳。
把这一章放在第七章之前还有个用意:GPU 并行、可微分这些前沿能力(第七章)有一个隐含前提——你的模型先得是「健康的」。带着接触参数病上 GPU 并行,等于把错误复制一千份;带着数值病做可微训练,梯度里全是病灶信号。排错不是可选的进阶技能,是一切规模化工作的准入门槛。
本章的写作视角与前面章节不同:不是从概念到应用,而是从症状到病因。三节分别覆盖三类最常见的「不对劲」——性能不达标(6.1)、接触行为异常(6.2)、以及一切说不清的异常的总方法论(6.3)。前三章的原理在这里全部变成诊断工具:3.2 的体检单、3.3 的能量账本、2.2 的惯量纪律,都会以「排错武器」的身份重新出场。
对照开头三问,读完本章你应当能够:
| 节号 | 回答的问题 | 关键产出 |
|---|---|---|
| 6.1 | 慢在哪里,怎么优化 | 性能画像方法与优化杠杆清单 |
| 6.2 | 接触参数病怎么治 | 一次抖动排错的完整实录与处方 |
| 6.3 | 说不清的异常怎么查 | 最小复现方法论与故障对照表 |
6.1 与 6.2 相对独立,症状导向直接取用;6.3 是方法论总纲,建议最后读但最值得反复读——它是前两节背后的思维方式,也是本书想留下的最重要的工程习惯。
这张图就是本章的「总流程」:所有排错工作从「能复现」开始,按症状分类进对应节的方法,用「一次改一项」的纪律推进,最后沉淀成故障笔记。图里的 J 节点最容易被忽略——排错经验不沉淀,同一个坑团队一年摔三次。
本章结束时,你应当拥有一套自己的排错流程与一份开始积累的故障笔记。下一章把视角抬到前沿:GPU 大规模并行让「健康模型」的价值成千倍放大,可微分仿真给梯度全通的系统加了新的排错维度,人形机器人的工程实践则把前面所有章节的纪律推到极限。带着第六章的方法论读第七章,你会看到排错能力在规模化时代被兑换成多少真金白银。