
获得徽章 0
- 前沿:DeepSeek V3 使用 FP8 训练,效率炸裂!
FP8训练在提升计算效率和内存使用方面有显著优势,尽管面临精度损失等挑战,但通过混合精度训练和量化技术,这些问题可以得到缓解。
这可能是DeepSeek V3性价比超高、效果超好的原因之一。
量化方式 🎯
groupwise & tilewise 双管齐下:输入按 groupwise 量化,权重按 tilewise 量化,分别拿到输入和权重的 scale。在 tensorcore 上对一条 (1x128) 和一块 (128x128) 进行 fp8 矩阵乘法后,回到 cudacore 上同时乘上 scale 进行解量化。简单来说,就是分块处理,精准量化!💡
延迟量化 vs 在线量化:传统 pertensor 框架用的是延迟量化,保留历史数据来推断当前值。但 DeepSeek 不走寻常路,直接在线量化,每次量化前都统计 max 值并计算 scale,实时更新,精准度拉满!🚀
特殊处理 ✨
精度选择:FP8 支持 e4m3 和 e5m2 两种 dtype,DeepSeek V3 全程用 e4m3 保持高精度。但在 attention 输出时,反向传播对精度要求更高,所以直接提升到 e5m6,细节控的福音!
累加方式:Nvidia H800 GPU 上,FP8 gemm 的累加精度只有 14 位,远低于 FP32。DeepSeek 的骚操作是:在 tensorcore 上做一段 wgmma 后,回到 cudacore 中累加,既保持高利用率,又确保精度不崩!
整体流程 📊
前向传播:输入用 bf16,主权重用 fp32,量化到 fp8,前向累加后输出 fp32,再 cast 回 bf16。全程丝滑,精度不掉线!✨
反向传播:wgrad 累加后天然是 fp32,优化器状态用 bf16,weight 以 fp32 更新。dgrad 在 fp8 反向后 cast 成 bf16 继续传播。每一步都精准把控,训练效率直接起飞!🚀
#DeepSeekV3 #FP8训练 #AI技术 #量化 #深度学习 #技术分享展开评论5