Когда float16 достаточно, а float32 пережиток для домашних запусков

Домашние запуски больших языковых моделей упираются в объём видеопамяти. Для модели в 7 млрд параметров float32-веса требуют 28 GB памяти, а float16 — вдвое меньше, 14 GB. На видеокартах потребительского уровня это разница между невозможным и реальным.

Точность половинной длины хватает для инференса: языковая модель и так работает вероятностно, добавляя случайность в каждый токен. Квантизация до float16 вносит шум меньше, чем естественная стохастичность генерации текста. Скорость вычислений растёт на 30–50 % благодаря оптимизации кода под меньшие типы данных.

Где обрезание точности неприемлемо

Float32 остаётся нужен при доподнастройке моделей, где градиенты накапливают ошибки, и при критичных вычислениях в составе приложения. Для чистого запуска уже обученной модели — float16 или ниже стали стандартом на потребительском оборудовании.

Сообщество открытых моделей давно освоило этот сдвиг: в Hugging Face 90 % веб-версий для демонстрации работают на float16. Полная точность считается роскошью для кластеров.

Тренд идёт дальше: квантизация до 8 бит и даже ниже становятся практичными при использовании специализированных форматов. Граница между полной точностью и скоростью сдвинулась в пользу последней на потребительской аппаратуре.