ai-infra-interview-305

第 51 题:混合精度训练中的loss scaling在分布式场景下如何处理?

题目

混合精度训练中的loss scaling在分布式场景下如何处理?


完整讲解

一、Loss scaling 在做什么?

FP16 梯度容易下溢(太小变成 0),所以在 backward 前对 loss 乘一个 scale(如 2^16),梯度整体放大;在 optimizer step 前再 unscale(除回 scale),并检查 inf/nan,有则 skip step 并减小 scale。GradScaler 管这件事。


二、分布式下的要点


三、总结


面试要点


记忆要点

  1. 分布式下每卡同一 scale;unscale 与 all-reduce 顺序由框架保证。
  2. Skip 时所有卡一起 skip,用 all_reduce 同步 flag。
  3. 保证「全局梯度」只被 unscale 一次、所有卡同一 step/skip 决策。
返回模块 返回总览