Lição 11: Precisão — FP32 → FP16/BF16 e Tensor Cores
Seu modelo é armazenado em FP32 — 4 bytes por número. Mas a inferência geralmente não precisa de toda essa precisão. Migrar para FP16 ou BF16 reduz a memória pela metade e aciona os Tensor Cores — unidades de hardware dedicadas que multiplicam matrizes em precisão baixa muito mais rápido. Nesta aula
FP32 é escrever cada número com um monte de dígitos depois da vírgula. A inferência geralmente precisa de menos dígitos (FP16) — metade do espaço, e a GPU multiplica esses números muito mais rápido com hardware dedicado.
- FP16 / BF16
- Formatos de 16 bits (2 bytes) em vez de FP32 (4 bytes). Eles reduzem a memória pela metade e aceleram o processamento. O BF16 mantém o mesmo alcance de expoente do FP32.
- Tensor Cores
- Unidades de hardware nas GPUs da NVIDIA para multiplicação-acumulação de matrizes em precisão baixa (FP16/BF16/INT8) — muito mais rápidas que FP32.
- autocast (mixed precision)
- Roda as operações pesadas em FP16 e mantém as operações sensíveis em FP32 — velocidade com estabilidade.