Точность вычислений инференса: выбор между памятью и точностью
Весь модели хранят числа в определённом формате: полная точность в 32 бита, половинная в 16 бит, целые числа в 8 или 4 бита. Сокращение формата — это не округление для показа результата, а сами вычисления с меньшей точностью. Чем меньше бит, тем меньше памяти, но больше ошибок накапливается в вычислениях.
На одной видеокарте модель в fp32 не влезает, а в fp16 влезает спокойно. В fp8 или int4 может влезать модель вдвое больше, но качество ответов начинает портиться заметнее. Разработчики моделей знают об этом и оптимизируют веса специально для низкой точности.
Компромисс виден на сложных задачах
На простых вопросах разницы в точности не видно: модель отвечает правильно в любом формате. На сложных, где нужно следить за деталями через весь текст, fp16 начинает ошибаться чаще, чем fp32. Int4 теряет информацию ещё быстрее, но если модель нужна дома и только в таком виде влезает — это лучше, чем вообще не запустить.
Популярна четырёхбитная квантизация именно потому, что для типичных задач потери неощутимы, а память экономится в четыре раза. Это граница, за которой качество падает заметнее. Трёхбитная квантизация остаётся экспериментом.
Выбор точности на локальной машине — это выбор между тем, что влезет в железо, и тем, что влезет в бюджет электроэнергии.