глоссарий

INT8

INT8

INT8 — это формат хранения целых чисел в восьми битах, то есть в одном байте. В отличие от привычных для нейросетей 32-битных чисел с плавающей запятой, INT8 позволяет описывать только целые значения от -128 до 127. В искусственном интеллекте этот формат применяется для так называемого квантования моделей — процесса, при котором тяжеловесные веса нейросети переводятся в компактное целочисленное представление.

Зачем это нужно? Современные нейросети состоят из миллионов параметров, и их вычисления требуют огромных ресурсов. Если перевести модель на INT8, размер её весов сокращается в четыре раза, а скорость работы на специально поддерживающих такой формат процессорах может вырасти в разы. Это делает ИИ доступным для смартфонов, беспилотных автомобилей и микроконтроллеров, где важна быстрая реакция и экономия энергии.

На интуитивном уровне квантование напоминает сжатие фотографии: вы уменьшаете детализацию, чтобы файл стал легче. Каждое число в модели разбивается на диапазон, а затем сопоставляется с одним из 256 целых значений. Чтобы потери точности были минимальны, инженеры подбирают масштаб и точку смещения на специальных тестовых данных. В результате даже сложная сеть может сохранить большую часть своей точности, работая при этом значительно быстрее.

Хороший пример — мобильное распознавание объектов. Обычная модель YOLO в формате float32 занимает около 200 мегабайт и на телефоне едва справляется с обработкой видео. После квантования до INT8 она становится в четыре раза легче, а частота кадров возрастает настолько, что детекция людей и автомобилей происходит в реальном времени прямо на устройстве, без отправки данных в облако.

Таким образом, INT8 — это мост между мощностью нейросетей и ограничениями нашего железа. Благодаря квантованию интеллектуальные алгоритмы находят место в самых разных гаджетах, а мы получаем возможность пользоваться ими быстро и удобно.