Урок 11: Точность — FP32 → FP16/BF16 и Tensor Cores
Ваша модель хранится в FP32 — 4 байта на число. Но инференсу обычно не нужна вся эта точность. Переход на FP16 или BF16 уменьшает память вдвое и задействует Tensor Cores — специализированные аппаратные блоки, которые умножают матрицы в низкой точности намного быстрее. В этом уроке мы увидим, как пол
FP32 — это запись каждого числа с массой цифр после запятой. Инференсу обычно нужно меньше цифр (FP16) — вдвое меньше места, и GPU умножает их гораздо быстрее с помощью специализированного оборудования.
- FP16 / BF16
- 16-битные (2-байтные) форматы вместо FP32 (4-байтного). Они уменьшают память вдвое и ускоряют. BF16 сохраняет диапазон экспоненты FP32.
- Tensor Cores
- Аппаратные блоки в GPU от NVIDIA для матричного умножения с накоплением в низкой точности (FP16/BF16/INT8) — намного быстрее, чем FP32.
- autocast (смешанная точность)
- Выполняет тяжёлые операции в FP16 и держит чувствительные операции в FP32 — скорость со стабильностью.