深度学习训练可能因为硬件故障、编译器bug、静默数据损坏而悄悄地产生错误结果——没有崩溃、没有报错、模型照常运行,但训练出的模型是坏的。这叫"静默错误"。TRAINCHECK(OSDI 2025)自动推断DL训练的不变量,并在训练过程中主动检查。
核心思路:训练过程中某些量"应该"保持特定的统计特性——比如梯度范数的方差不应突然改变、某层输出的分布应符合历史模式。TRAINCHECK 从训练代码中自动学习这些不变量,在每一轮迭代中检查。
在20个人工复现的真实静默错误中,TRAINCHECK 在单轮迭代内检测到18个。还发现了6个训练库中先前未知的 bug。关键洞察:DL训练的内在数学结构本身提供了一套"健康检查"信号——只要你去关注它们。
[Training with Confidence / OSDI 2025]