22Why do tensor cores accumulate in fp32 when the inputs are bf16, and why do optimizers keep fp32 master weights?▼mediumNewNVIDIAMeta4 replies◆ premiumA float format's resolution is relative, so the damage depends on how large a running total grows against the terms being added. The measured error for a 4,096-term dot product in each direction, the weight update that vanishes entirely, and why bf16 removed loss scaling but not master weights.Open full answer →
23In an int8 or fp8 GEMM, what exactly gets scaled, where does the dequantization happen, and what breaks if you get it wrong?▼hardNewNVIDIAFireworks4 replies◆ premiumThe matmul runs on tiny formats and the accumulator does not, so every low-precision GEMM is really a scaled integer or float product with a correction applied on the way out. Where the scales come from, the three granularities and what each costs, and why one of them needs a periodic promotion into fp32.Open full answer →
29Why is fp8 training hard, and how did DeepSeek-V3 make it work?▼hardNewDeepSeekNVIDIA4 replies◆ premiumThree mantissa bits and a range of 448 make fp8 unusable with one scale per tensor. The arithmetic of what an outlier channel destroys, the 128-element block scaling and fp32 promotion that the DeepSeek-V3 report used, the ops that stayed in bf16, and what the 2× peak bought in practice.Open full answer →