Дистилляция + Квантизация Для Edge Видео-ИИ

Автор: Николай СапуновОбновлено: август 202625 мин чтения
Содержание статьи +

Кратко

Дистилляция и квантизация – это два способа сжать ИИ-модель так, чтобы она работала на маленьком, дешёвом и часто отключённом от сети устройстве – камере, телефоне, приставке – вместо арендованного датацентрового GPU, и для видео, где модель должна смотреть на каждый кадр, именно это сжатие и делает функцию вообще доступной по цене. Квантизация оставляет ту же модель, но хранит её числа с меньшей точностью – шестнадцать или тридцать два бита на число падают до восьми или четырёх, – что урезает память в два-восемь раз и на подходящем железе работает быстрее, обычно ценой потери точности менее одного процента на восьми битах и небольшой, управляемой потери на четырёх. Дистилляция устроена иначе: она обучает совершенно новую, меньшую модель («ученика») копировать большую («учителя»), и опубликованный для распознавания речи результат – это ученик вдвое меньше по числу параметров, который работает примерно в шесть раз быстрее, оставаясь в пределах одного процента точности учителя. Эти две техники не соперники: вы дистиллируете, чтобы получить меньшую модель, а затем квантизуете её, чтобы удешевить её числа, – и экономия перемножается.

Почему это важно

Каждая ИИ-функция в видео-продукте стоит денег при каждом запуске, а на видео она запускается постоянно – детектор смотрит на тридцать кадров в секунду, транскрайбер обрабатывает каждую минуту каждой записи, модель модерации проверяет каждый загруженный клип. Когда эти модели полноразмерные и работают в облаке, счёт растёт вместе с использованием и не останавливается; когда они достаточно малы, чтобы работать на устройстве, снявшем видео, предельная стоимость падает почти до нуля, задержка снижается, потому что ничего не уходит на сервер, а чувствительные кадры вообще не покидают здание. Этот урок написан для продакт-менеджера, основателя или техлида, которому надо решить, где работает ИИ-функция – в облаке или на edge, – утвердить бюджет на железо для камер или телефонов или понять, почему подрядчик говорит, что модель «не влезет», – и кому нужно знать, что на самом деле делают дистилляция и квантизация, чего они стоят в точности и за какой из них тянуться. Это спутник по теме сжатия к уроку про инференс-сервинг: сервинг делает модель быстрой на большом GPU, а сжатие делает её достаточно маленькой, чтобы большой GPU оставить позади.

Два способа сделать модель меньше

Обученная ИИ-модель в основе своей – это огромный список чисел, называемых весами (weights): значения, которые модель выучила на обучении, то, на что она умножает вход, чтобы получить выход. У современной модели их миллиарды. Эти числа и есть размер модели: храните их, грузите на чип и умножайте на них достаточно быстро – и у вас работающая модель. Сделайте их меньше по количеству или удешевите хранение каждого – и модель сожмётся. Это и есть вся тема урока, и рычагов ровно два.

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

Второй рычаг – дистилляция: выбросить числа большой модели целиком и обучить новую, меньшую модель ей подражать. Представьте шеф-повара, который не может быть в каждой кухне, и потому обучает подмастерье – тот смотрит и копирует каждое блюдо, пока не начнёт готовить почти ту же еду с куда меньшим опытом. Подмастерье – другой, меньший человек, а не сжатая копия шефа, но обучен вести себя как он.

Вот эти две идеи, а всё остальное в уроке – чего они стоят, чем различаются и почему серьёзный edge-план использует обе. Короткая версия, которую стоит держать в голове с самого начала: квантизация меняет то, как хранятся числа модели; дистилляция меняет то, какая модель у вас есть.

Рисунок 1. Два рычага, а не один. Квантизация оставляет модель и сжимает её числа; дистилляция обучает новую, меньшую модель копировать бо́льшую. Они складываются.

Почему «edge» и почему видео делает это срочным

Слово edge означает запуск модели на устройстве, породившем данные, или рядом с ним – на камере, телефоне, локальной коробке в серверной, – а не отправку данных модели в облако. Противоположность edge – датацентр: стойка дорогих видеокарт, которые вы арендуете по часам. Выбор между ними – тема урока про задержку и развёртывание; сжатие – это то, что делает edge-вариант возможным, потому что модель размером с датацентр на камеру попросту не влезает.

Четыре силы толкают видео-ИИ именно к edge, и каждая для видео острее, чем для текста. Первая – объём: видео-функция запускается не один раз на вопрос, как чат-бот, а на каждом кадре или каждой минуте записи, поэтому любая поминутная облачная цена умножается на огромное число. Вторая – полоса: гнать сырое видео в облачную модель медленно и дорого, а иногда связи нет вовсе – нательная камера, дрон, заводская линия. Третья – задержка: размытие фона или сигнал тревоги, которые должны ощущаться мгновенно, не могут позволить себе ходить туда-обратно к серверу. Четвёртая – приватность: медицинскими, охранными и учебными кадрами куда легче управлять, когда пиксели не покидают устройство, – это важно в телемедицине и любой регулируемой вертикали.

Загвоздка – железо. У edge-устройства доля памяти и мощности датацентрового GPU – у типичного edge-модуля может быть восемь гигабайт памяти против восьмидесяти у датацентровой карты. Модель, которая комфортно работает в облаке, на edge даже не загрузится. Сжатие – это мост: так модель, обученную на большом железе, заставляют работать на малом. А поскольку видео-функция редко бывает одной моделью – это конвейер из нескольких (декодировать, детектировать, транскрибировать, описать, резюмировать, цепочка из урока про сервинг) – работа по сжатию повторяется по разу на этап, и у каждого свой ответ.

Квантизация: та же модель, числа дешевле

Начнём с квантизации, потому что за неё берутся первой и арифметика у неё самая чистая. Чтобы её понять, нужен один факт о том, как компьютер хранит число. Вес обычно хранится как число с плавающей точкой (floating-point) – формат, способный представлять широкий диапазон значений с дробной частью, компьютерная версия научной нотации. Стандартный формат обучения использует тридцать два бита на число (его называют FP32, тридцатидвухбитная плавающая точка); бит – это один 0-или-1, так что тридцать два бита – это четыре байта на вес. Большинство моделей сегодня хранят или гоняют на шестнадцати битах (FP16, два байта), и никто не замечает разницы.

Квантизация идёт дальше – к целым числам (integers), без дробной части, занимающим куда меньше места. INT8 использует восемь бит, один байт, на вес. INT4 – четыре бита, полбайта. Трюк, который заставляет это работать, легко представить: возьмите диапазон значений, который реально охватывает группа весов, нарежьте этот диапазон на фиксированное число равномерных шагов (256 шагов для восьми бит, 16 для четырёх) и храните каждый вес как номер ближайшего шага, а не его точное значение. Два маленьких служебных числа – scale (насколько велик каждый шаг) и zero-point (какой шаг означает ноль) – позволяют чипу восстановить приблизительное исходное значение, когда нужно считать. Вы обменяли точность на размер ровно так же, как при округлении цен до рубля с записанным правилом округления.

Выигрыш прямой, потому что память масштабируется с числом бит на вес. Возьмём модель с семью миллиардами весов – обычный размер для языковой или vision-language модели на устройстве. Память только под веса – это число весов, умноженное на байты на вес:

FP32 (4 байта):  7 000 000 000 × 4   =  28 ГБ
FP16 (2 байта):  7 000 000 000 × 2   =  14 ГБ
INT8 (1 байт):   7 000 000 000 × 1   =   7 ГБ
INT4 (0.5 байта):7 000 000 000 × 0.5 =  3.5 ГБ

Прочитайте этот столбец сверху вниз – и edge-история рассказывает себя сама. На edge-модуле с восемью гигабайтами памяти версия FP16 (14 ГБ) не загрузится вовсе; версия INT8 (7 ГБ) влезает, но почти не оставляет места под рабочую память модели; версия INT4 (3.5 ГБ) влезает с запасом. Квантизация – это разница между «модель здесь невозможна» и «модель работает с запасом». Основополагающий результат из статьи 2018 года, заложившей целочисленный инференс, – что перевод весов и активаций в восьмибитные целые даёт почти 4× сокращение памяти относительно тридцатидвухбитной плавающей точки, а на железе с целочисленными блоками ещё и работает быстрее, потому что двигать и умножать меньшие числа дешевле.

Страх, разумно, в точности: ведь округление каждого числа портит модель? Портит, но куда меньше, чем подсказывает интуиция. Хорошо воспроизводимое эмпирическое правило: INT8-квантизация стоит менее одного процента точности для большинства моделей – потеря достаточно мала, чтобы пользователи её не заметили. Четыре бита агрессивнее и требуют более умных методов (ниже), но современные четырёхбитные техники подходят к оригиналу удивительно близко. Урон мал потому, что нейросети по природе шумны и избыточны; они никогда не опирались на сороковой знак после запятой ни одного веса.

Два способа квантизовать: PTQ и QAT

Есть два момента, в которые можно квантизовать модель, и этот выбор повторяется, так что назовём его чётко.

Post-training quantization (PTQ) происходит после того, как модель полностью обучена: вы берёте готовую модель и переводите её числа вниз, без всякого дообучения. Чтобы выбрать хорошие scale, PTQ один раз прогоняет через модель небольшую выборку репрезентативных данных – шаг, называемый калибровкой, – чтобы увидеть, какой диапазон значения реально занимают, и подобрать шаги под него. PTQ быстр, дёшев и не требует ни пайплайна обучения, ни размеченных данных – поэтому это попытка по умолчанию. Слабость в том, что модель не имела шанса адаптироваться к округлению, так что на чувствительных моделях потеря точности может быть больше, чем хочется.

Quantization-aware training (QAT) происходит во время обучения: вы симулируете округление, пока модель ещё учится, так что модель видит ошибку квантизации и подстраивает веса, чтобы её компенсировать. Результат – модель, более устойчивая к квантизации, восстанавливающая большую часть или всю точность, которую PTQ потерял бы. Цена реальна: QAT нужны пайплайн обучения, исходные данные и время GPU. Стандартная практика – и верный дефолт – сначала попробовать PTQ, измерить точность на своих данных и тянуться за QAT, только если потеря PTQ слишком велика, чтобы выпускать. Большинству команд QAT для восьми бит не нужен никогда; для четырёх бит на критичной к точности модели – нередко.

«Частая ошибка. Квантизовать модель и выпустить её, не перемерив точность на своих данных. Цифра «менее одного процента» – это среднее по бенчмаркам, а не гарантия для вашей конкретной модели на вашем конкретном видео: детектор, теряющий долю процента средней точности, может потерять куда больше на том единственном редком классе, который вам реально важен (оружие, падение, дефект). Квантизация – это никогда не «настроил и забыл». Каждый раз, когда вы сжимаете, вы заново прогоняете свой оценочный набор – тот, что построен в уроке про стенды оценки, – и сравниваете сжатую модель с оригиналом по метрикам, важным для задачи, а не по общему лидерборду. Если вы не можете это измерить, вы не можете это выпускать.»

Зоопарк квантизации: INT8, AWQ, GPTQ, GGUF, FP8, FP4

«Квантизовать модель» – это не одна кнопка; это семейство методов, различающихся тем, до скольких бит они доходят и насколько умно избегают урона. Видео-команде не нужно их реализовывать, но нужно узнавать имена в спецификации подрядчика и знать, что даёт каждый. В 2026 году важны шесть.

INT8 с калибровкой – это рабочая лошадка и безопасный дефолт для моделей компьютерного зрения на edge. Детектор или модель позы, переведённые в восьмибитные целые через PTQ и поданные через TensorRT от NVIDIA (оптимизатор из урока про сервинг), – это рутинный путь к детекции в реальном времени на камере или модуле Jetson, с той самой потерей точности менее процента.

GPTQ и AWQ – два самых известных четырёхбитных метода для больших языковых и vision-language моделей, и они умнее простого округления, потому что защищают самые важные веса. AWQ – Activation-aware Weight Quantization, получивший награду за лучшую статью MLSys 2024, – построен на наблюдении, что малая доля каналов весов (около одного процента) несёт бо́льшую часть качества модели, поэтому он масштабирует и защищает эти значимые каналы, используя статистику о том, какие входы велики, а остальное округляет жёстко. Опубликованный результат – четырёхбитные веса с качеством, близким к шестнадцати битам, а поскольку AWQ не использует обратное распространение, он чисто обобщается на instruction-tuned и мультимодальные модели – те самые VLM, что видео-команда и разворачивает. GPTQ достигает похожих разрядностей другим путём, исправляя ошибку округления слой за слоем. Любой из них превращает модель, которой нужно 14 ГБ на FP16, в ту, которой нужно около 4 ГБ на четырёх битах.

GGUF – это формат-плюс-метод за популярным движком llama.cpp, и именно так большинство команд гоняют квантизованную языковую модель на ноутбуке, Mac или маленькой коробке. Его «k-quant» уровни несут суффиксы вроде Q4_K_M – четыре бита, смешанная точность, важнейшие слои держатся выше, остальное на четырёх битах, в среднем около 4.5 бита на вес. Измеренный компромисс отличный: переход с восьми бит вплоть до Q4_K_M стоит около двух процентов по метрикам качества при экономии около сорока процентов памяти, поэтому Q4_K_M – рекомендация сообщества по умолчанию. Выбор формата здесь напрямую связан с уроком про форматы артефактов моделей, где GGUF и его альтернативы – это решение о закупке.

FP8 и FP4 – самые новые участники, и это форматы с плавающей точкой, а не целые – восемь и четыре бита, но с крошечной экспонентой, так что они сохраняют часть диапазона плавающей точки. Они важны из-за железа: поколение Blackwell от NVIDIA 2025 года добавило нативные четырёхбитные tensor cores, а его формат NVFP4 соединяет четырёхбитные значения с двухуровневой схемой масштабирования так, что модель, квантизованная с восьми бит вниз до четырёх, теряет, по опубликованному NVIDIA измерению, один процент или меньше точности на языковых задачах, работая с пропускной способностью до четырёх раз выше восьмибитной на том же чипе. FP4 пока что датацентровая история – ему нужно железо класса Blackwell, – но именно туда движется граница точности, и это говорит вам, что «четыре бита» становятся полноправным гражданином, а не актом отчаяния.

Рисунок 2. Зоопарк квантизации. Восьмибитный INT8 – безопасный edge-дефолт; четырёхбитные AWQ, GPTQ и GGUF гоняют большие модели на малых устройствах; FP8 и FP4 – граница, заданная железом.

Дистилляция: маленький ученик учится у большого учителя

Квантизация сжимает числа, но оставляет структуру модели. Дистилляция делает наоборот: меняет то, какая модель у вас есть, обучая меньшую сеть-«ученика» воспроизводить поведение большего «учителя». Идея пришла из статьи Хинтона, Виньялса и Дина 2015 года, и её прозрение тонкое и достойное понимания, потому что объясняет, почему дистилляция вообще работает.

Когда модель классифицирует вход, она выдаёт не один правильный ответ – она выдаёт целый набор вероятностей по всем возможным ответам. Показанная фото хаски, хорошая модель говорит «девяносто процентов собака, восемь процентов волк, один процент кошка» – и этот разброс и есть информация. Он говорит, что модель считает хаски собакоподобной, но близкой к волку, – это реальное знание о мире, которое голая метка «собака» выбрасывает. Дистилляция обучает ученика не на жёстких метках («собака»), а на полных мягких вероятностях учителя («девяносто/восемь/один»), а контроль температуры смягчает эти вероятности так, что маленькие, близкие к нулю значения становятся видимыми и обучаемыми. Ученик учится суждению учителя, а не только финальному ответу – поэтому маленький ученик, обученный так, бьёт маленькую модель того же размера, обученную с нуля на одних метках.

Конкретные результаты – причина, по которой дистилляция заслуживает своё место. Результат DistilBERT 2019 года взял стандартную языковую модель и дал ученика, который был на 40% меньше и на 60% быстрее, сохраняя 97% понимания языка оригиналом. Результат, важнейший для видео, – Distil-Whisper, дистиллированная версия модели распознавания речи Whisper от OpenAI: дистиллированный ученик large-v3 имеет 756 миллионов параметров против 1,55 миллиарда у учителя – примерно вдвое меньше, – работает примерно в 6 раз быстрее и остаётся в пределах одного процента WER (word-error-rate) от учителя на длинном аудио. Для продукта, который транскрибирует архивы видео, это разница между моделью, которой нужен датацентр, и той, что работает на рабочей станции, – тема урока про потоковый ASR.

Цена дистилляции – зеркальное отражение цены квантизации. Квантизацию дёшево применять (PTQ занимает минуты), но она ограничена в том, насколько сильно может сжать модель, прежде чем качество упадёт. Дистилляция может дать драматически меньшую и по-настоящему быструю модель, но её дорого создавать: нужны учитель, большой объём данных для обучения ученика и реальные вычисления для обучения – ученик это новая модель, обученная почти с нуля. Поэтому свою модель не дистиллируют легкомысленно; куда чаще скачивают ученика, которого дистиллировал кто-то другой (Distil-Whisper, DistilBERT, маленькие версии открытых vision-language моделей), и относятся к дистилляции как к решению о закупке, а не к домашнему проекту.

Дистилляция против квантизации – и почему вы используете обе

Поставим обе рядом, потому что самая частая путаница – считать их конкурирующими опциями, тогда как они дополняющие этапы.

КвантизацияДистилляция
Что меняетКак хранятся веса (меньше бит)Какая у вас модель (новая, меньшая)
Та же модель?Да – та же архитектура, числа дешевлеНет – другая, меньшая архитектура
Типичный выигрыш в размере2× (FP16→INT8) до 4× (FP16→INT4)2× и больше (напр. 1,55B→756M параметров)
Выигрыш в скоростиНа целочисл./малобитном железе; в основном памятьДа – меньше слоёв, меньше операций
Цена в точности<1% на INT8; малая на 4-бит с AWQ/GGUF~1–3%, если дистилляция сделана хорошо
Цена примененияНизкая (PTQ: минуты) до средней (QAT)Высокая – нужны учитель, данные, обучение
Обычно выПрименяете сами, на каждое развёртываниеСкачиваете ученика, которого уже обучили

Ключевая строка – последняя концептуальная: обе перемножаются. Вы сначала дистиллируете, чтобы получить меньшую модель, затем квантизуете эту меньшую модель, чтобы удешевить её числа, и экономия не складывается, а множится. large-v3 от Distil-Whisper примерно вдвое меньше учителя; квантизуйте этого ученика до восьмибитных целых – и он ещё вдвое меньше, модель в четверть исходного объёма, работающая в несколько раз быстрее, всё ещё в досягаемости точности учителя. То же сложение применимо к vision-language моделям: возьмите уже маленькую открытую VLM, примените четырёхбитные веса AWQ – и модель, которой нужна была датацентровая карта, работает на одном потребительском GPU или мощном edge-модуле. Сжатие – это не одно решение, а последовательность, и последовательность эта – дистиллировать-затем-квантизовать.

О железе: TOPS, tensor cores и что на самом деле может edge

Сжатие окупается, только если устройство реально может гонять малобитную математику быстро, поэтому слово о том, как выглядит edge-железо в 2026 году. Заглавная цифра на edge-ИИ-чипе – TOPS (триллионы операций в секунду), и почти всегда она указывается для INT8, потому что восьмибитная целочисленная математика – та точность, на которой реальные edge-модели работают. Одно это говорит, насколько центральна квантизация: вендоры железа указывают производительность в квантизованном формате, а не в формате обучения.

Линейка Jetson от NVIDIA – ориентир для серьёзной edge-видео-работы. Начальный Jetson Orin Nano после программного буста 2024–2025 годов выдаёт около 67 TOPS INT8 в модуле, потребляющем от семи до двадцати пяти ватт и несущем восемь гигабайт памяти; больший Jetson AGX Orin достигает около 275 TOPS. Эти чипы гоняют tensor cores от NVIDIA, ускоряющие INT8 и FP16, а стандартный путь развёртывания – перевести модель в TensorRT-движок на INT8, ровно так, как детектор обслуживался бы в уроке про итоговый проект на Jetson. На телефонах эквивалентные рантаймы – Core ML от Apple и нейросетевые API Android, управляющие выделенным ИИ-чипом телефона (его NPU), а эквивалентная цель сжатия – INT8 или меньше, путь за встроенными функциями вроде работы с малыми моделями в уроке про Depth Anything и SmolVLM.

Практический урок в том, что потолок памяти в восемь гигабайт и рейтинг INT8 TOPS – два числа, решающие, что влезет. Наша модель на семь миллиардов параметров требовала 14 ГБ на FP16 и не загрузилась бы на восьмигигабайтном Jetson; на INT4 ей нужно 3,5 ГБ, и она влезает с местом под рабочую память модели. Железо задаёт бюджет; сжатие – это то, как вы его тратите.

По этапам: что сжимать в видео-конвейере

Поскольку видео-функция – это конвейер из нескольких типов моделей (цепочка из урока про сервинг), решение о сжатии принимается по разу на этап, и верный ответ для разных этапов разный. Вот форма, к которой сходится большинство команд.

Для этапа детекции и сегментации – YOLO, SAM, модели позы, такие как в уроке про YOLO – ответ это INT8 через TensorRT, применённый сначала PTQ, а QAT только если точность на редких-но-важных классах проседает. Эти модели изначально малы и работают много раз в секунду, так что восемь бит – золотая середина: скорость в реальном времени, пренебрежимо малая потеря точности.

Для этапа распознавания речи ответ это дистиллированная модель, затем квантизованная – Distil-Whisper вместо полного Whisper, поданная на эффективном движке и часто на восьми битах. Здесь дистилляция делает основную работу, потому что сжимается сама архитектура; квантизация добавляет второй множитель сверху.

Для этапов vision-language и языковой модели – описывающего и резюмирующего – ответ это четырёхбитные веса через AWQ или GGUF, потому что эти модели самые большие в конвейере, а четырёхбитные методы достаточно зрелы, чтобы держать качество. Именно здесь арифметика памяти кусается сильнее всего и где четыре бита – разница между «влезает на устройство» и «нет».

Рисунок 3. Сжатие этап за этапом. Детекции нужен INT8; речи нужна дистиллированная-затем-квантизованная модель; большим языковым и vision-language этапам нужны четыре бита. Каждый этап перемеряет точность.

Разбор примера – складываем два рычага

Сделаем экономию конкретной, сложив дистилляцию и квантизацию на этапе речи, потому что именно там обе применяются чисто. Начнём с полного учителя Whisper large-v3: 1,55 миллиарда параметров, хранится на шестнадцати битах, это около 3,1 ГБ весов и пропускная способность полной модели.

Шаг первый, дистиллируем. Подставляем Distil-Whisper large-v3, ученика: 756 миллионов параметров, примерно вдвое меньше, около 1,5 ГБ на шестнадцати битах и примерно 6× скорости, всё в пределах одного процента WER учителя на длинном аудио. Вы уже вдвое урезали память и умножили скорость, не тронув числа.

Шаг второй, квантизуем. Берём этого ученика на 756 миллионов параметров вниз до восьмибитных целых. Память примерно снова делится надвое:

дистиллир. ученик на FP16:  756M × 2 байта  =  ~1.5 ГБ
дистиллир. ученик на INT8:  756M × 1 байт   =  ~0.76 ГБ

Совокупный результат относительно исходного учителя – модель примерно в четверть объёма памяти (3,1 ГБ вниз до менее 0,8 ГБ), работающая в несколько раз быстрее, при том что точность остаётся в пределах примерно одного процента от старта. Эта модель легко влезает на edge, а на модуле класса Jetson транскрибирует быстрее реального времени. Ни один рычаг по отдельности туда не приводит: одна квантизация оставляет модель вдвое больше нужного; одна дистилляция оставляет числа дороже нужного. Вместе, в порядке, они превращают датацентровую модель в модель устройства. Это то же перемножение, которое урок про оптимизацию стоимости рассматривает как основной рычаг, и почему сжатая модель и хороший inference-сервер множатся, а не заменяют друг друга.

Где здесь Фора Софт

Мы строим видео-продукты в видеоконференциях, стриминге и OTT, e-learning, телемедицине и видеонаблюдении, и многим их ИИ-функциям приходится работать там, где видео, – на камере в магазине, телефоне в клинике, локальной коробке, откуда кадры не могут уйти. Наша практика сжатия следует за конвейером: модели детекции и сегментации экспортируются в INT8 TensorRT-движки для работы в реальном времени на железе класса Jetson; речь обрабатывается дистиллированными-затем-квантизованными моделями под размер устройства; а бо́льшие vision-language и языковые этапы доводятся до четырёхбитных весов через AWQ или GGUF, чтобы влезть в edge-бюджеты памяти. Мы относимся к дистилляции как к решению о закупке – обычно берём ученика, которого кто-то уже обучил и провалидировал, – а к квантизации как к шагу на каждое развёртывание, который всегда заканчивается перемером точности на собственных кадрах клиента, потому что число, держащееся на публичном бенчмарке, может сдвинуться на конкретном ракурсе камеры или конкретном редком событии. Вертикали меняют модели и цели по точности; метод – дистиллировать, чтобы сжать архитектуру, квантизовать, чтобы удешевить числа, измерять после каждого шага – не меняется.

Ключевые выводы

  • Квантизация оставляет модель и хранит её числа в меньшем числе бит; дистилляция обучает новую, меньшую модель копировать бо́льшую.
  • INT8 урезает память ~4× относительно FP32 при потере обычно менее 1% точности; INT4 с AWQ или GGUF подходит к этому близко.
  • Дистилляция может вдвое урезать параметры модели и работать ~6× быстрее в пределах ~1% точности – Distil-Whisper это видео-пример.
  • Обе перемножаются: сначала дистиллируйте, затем квантизуйте меньшую модель, и экономия объёма и скорости множится.
  • Edge-железо измеряется в INT8 TOPS – Jetson Orin Nano даёт ~67 – а потолок памяти ~8 ГБ решает, что влезет.
  • Перемеряйте точность на своих кадрах после каждого шага сжатия; цифра «менее 1%» – среднее, а не гарантия.

Что почитать дальше

Строите такую систему?

Подберём параметры кодирования под ваш контент и посчитаем стоимость доставки до старта разработки.