Дистилляция знаний: точность большой модели в малой
📋 Основное резюме
Суть дистилляции знаний — передача распределения вероятностей, то есть мягких меток и взаимосвязей между классами, от уже обученной большой модели (учителя) значительно меньшей модели (ученику). Ученик обучается на мягких метках учителя, а не просто запоминает жёсткие метки, что позволяет сжать количество параметров примерно на порядок, сохранив при этом большую часть точности. В статье рассматриваются четыре граничных условия дистилляции, вывод функции потерь на основе температурного смягчения и KL-дивергенции, проверочный расчёт для системы обнаружения дефектов крана, а также четыре распространённые ошибки. Применимые условия эксплуатации: модель-учитель уже работает на сервере и достигает требуемой точности; цель — перенести инференс на периферийное устройство для обеспечения реакции в реальном времени и низкого энергопотребления. Неприменимо: при недостаточной точности учителя, значительном расхождении распределений обучающих и эксплуатационных данных, а также в сценариях, требующих строго объяснимых решений.
Посчитаем: при развертывании модели визуального контроля на периферии крана точность и компактность находятся в постоянном противоречии. Глубокая модель с десятками слоёв, содержащая сотни миллионов параметров, точнее выявляет обрыв проволоки стального каната и оценивает положение груза, но она либо работает на сервере с задержкой инференса в десятки миллисекунд, либо периферийное устройство просто не в состоянии её запустить. А для операций захвата и онлайн-контроля, требующих реакции на уровне миллисекунд, задержка в десятки миллисекунд сама по себе является проблемой.
С другой стороны, компактная модель обеспечивает низкую задержку и низкое энергопотребление — её может запустить периферийное устройство мощностью в несколько ватт, но точность часто оставляет желать лучшего. Итог расчёта: облачная большая модель имеет достаточную вычислительную мощность, но высокую задержку; периферийная компактная модель — низкую задержку, но недостаточную точность. Именно эту разницу в точности и призвана восполнить дистилляция знаний — она не требует более мощного оборудования, а позволяет большой модели передать малой модели своё «умение принимать решения».
Звучит как «передача мастерства ученику», но в инженерной практике это реализуется через вычислимую функцию потерь и граничные условия. Компания Келуде Тяжёлая Промышленность на опыте внедрения периферийного инференса неоднократно убеждалась: успех дистилляции в первую очередь зависит от того, насколько чётко определены граничные условия, а не от того, насколько хорошо вы помните формулы. Начнём с граничных условий и разберёмся в этом вопросе.
Когда дистилляция знаний оправдана: четыре граничных условия
Первое граничное условие: модель-учитель должна уже достигать требуемых показателей. Дистилляция знаний — это передача знаний, а не исправление модели. Если точность самой модели-учителя неудовлетворительна, дистилляция лишь передаст её ошибочные суждения малой модели, а из-за меньшей ёмкости последней ошибки могут даже усилиться. Принцип Келуде Тяжёлая Промышленность при развертывании на периферии: сначала обучить большую модель на сервере до выполнения критериев приёмки, и только затем заниматься сжатием.
Второе граничное условие: цель развертывания должна быть чётко определена. Если конечная точка — периферийное устройство с требованиями к задержке на уровне миллисекунд и энергопотреблением в несколько ватт, то сжатие большой модели даёт очевидный выигрыш. Если же модель и так работает в серверном кластере и не чувствительна к задержке, стимул для дистилляции отсутствует. Бюджет вычислительной мощности определяет верхнюю границу возможностей модели-ученика и, соответственно, целесообразность всей затеи.
Третье граничное условие: распределения обучающих и эксплуатационных данных должны совпадать. Модель-ученик, полученная в результате дистилляции, имеет меньшую ёмкость и более слабую способность к обобщению, а значит, более чувствительна к дрейфу данных. Чем больше расхождение между обучающим набором и реальными условиями эксплуатации, тем сильнее проявляется потеря точности. Четвёртое граничное условие: допустимая потеря точности должна иметь количественную оценку — дистилляция практически всегда приводит к некоторому снижению точности, и ключевой вопрос в том, укладывается ли это снижение в допустимые рамки проекта, что проверяется по фактическим условиям эксплуатации.
| Параметр | Значение | Типовое значение | Влияние надистилляциявлияние |
|---|---|---|---|
| Учительколичество параметров модели | Масштаб облачной большой модели | Сотни миллионов(По проекту) | Чем больше, тем сильнее переобучениеПараметробобщение,Больше пространство для сжатия |
| Ученикколичество параметров модели | Масштаб малой модели на конечном устройстве | Миллионы | Определяет на конечном устройствезадержкаиэнергопотребление |
| ТемператураКоэффициент T | смягчениеsoftmaxмасштаб | 4~8(Требует настройки под задачу) | Чем выше, тем мягче распределение、Больше скрытых знаний |
| Весовой коэффициент потерь α | Соотношение мягких и жестких потерь | 0.5~0.9 | Баланс межклассовых отношений и истинных меток |
| обучающие данныеОбъем | Объем размеченных данных | с учителемобучающий набородинаковое распределение | Дрейф данных усиливаетпотеря точности |
| задержка выводаЦель | Однократно на конечном устройствевремя инференса | Миллисекунды(порежим работыПо проекту) | Определяет возможности ученикаразмер моделиверхний предел |
| вычислительная мощностьиэнергопотреблениеБюджет | Доступные ресурсы конечного устройства | Несколько ватт~Десятки ватт | Определяет возможность развертывания ученика |
| ТочностьЦелевое сохранение | Допустимое снижение относительно учителя | по фактическимрежим работыПриемкаПо проекту | определяетдистилляцияцелесообразность |
Расчёт потерь при дистилляции: вывод формулы температурного размягчения и KL-дивергенции
Основная задача дистилляции знаний — максимально приблизить распределение выходных данных студента к распределению выходных данных учителя. Здесь действуют два ключевых механизма: температурное размягчение и KL-дивергенция.
Первый шаг — температурное размягчение. Обычный softmax преобразует логиты в вероятностное распределение, близкое к жёстким меткам, тогда как при дистилляции логиты сначала делятся на температурный коэффициент T, что делает распределение более «мягким». Чем выше температура, тем более сглаженным становится распределение и тем отчётливее проявляются относительные различия между классами. Размягчённая вероятность записывается как:
q_i = exp(z_i / T) / Σ_j exp(z_j / T)
где z_i — исходный выходной логит модели для i-го класса, T — температурный коэффициент, q_i — размягчённая вероятность.
Второй шаг — вычисление расхождения между распределениями студента и учителя. В качестве функции потерь используется KL-дивергенция (относительная энтропия), которая измеряет степень несходства двух вероятностных распределений. Мягкие потери при дистилляции записываются как T², умноженное на KL-дивергенцию; умножение на T² компенсирует влияние температурного масштабирования на градиент. Итоговые общие потери представляют собой взвешенную сумму мягких и жёстких потерь:
L = α · T² · KL(q_teacher ‖ q_student) + (1 − α) · CE(y_true, p_student)
где α — вес мягких потерь, CE — кросс-энтропийные потери по истинным меткам, p_student — стандартный вывод студенческой модели при температуре T, равной 1.
Зачем сохранять слагаемое с жёсткими метками? Мягкие метки передают взаимосвязи между классами, а жёсткие гарантируют, что студент не отклонится от истинного ответа. Оба компонента необходимы; вес α обычно находится в диапазоне от 0,5 до 0,9, точное значение подбирается при настройке параметров.
Проверочный расчёт для обнаружения дефектов крана: от сотен миллионов до миллионов параметров
Рассмотрим сценарий, связывающий приведённые выше формулы. Предположим, предприятию требуется онлайн-контроль дефектов поверхности стального каната. Учительская модель — это крупная нейросеть, обучаемая на сервере, с количеством параметров порядка сотен миллионов. Обучающие данные формируются из долгосрочно накапливаемой в системе базы изображений дефектов — в данной отрасли такие наборы данных обычно насчитывают десятки тысяч или даже сотни тысяч изображений; система разметки дефектов компании Келуде Тяжёлая Промышленность также постоянно пополняет эту выборку. После достижения требуемой точности на сервере учительская модель дистиллируется в студенческую модель с несколькими миллионами параметров, которая развёртывается на периферийном вычислительном устройстве для покадрового обнаружения дефектов на движущемся стальном канате.
Ключевой вопрос проверочного расчёта один: сохранилась ли приемлемая точность после такого сжатия. Универсального ответа здесь нет — относительная потеря точности после дистилляции зависит от целого ряда переменных: степени резервирования учительской модели, температуры T, объёма данных и т. д., поэтому окончательное решение принимается по результатам испытаний в реальном режиме работы. Однако в инженерной практике прослеживается достаточно устойчивая закономерность: чем больше и чем сильнее перепараметризована учительская модель, тем больше потенциал сжатия и тем выше доля сохраняемой точности при дистилляции.
| Показатель | Модель-учитель | Модель-ученик(дистилляцияпосле) | Примечание |
|---|---|---|---|
| количество параметров | Сотни миллионов | Миллионы | Сжатие примерно на порядок |
| Однократно на конечном устройствезадержка вывода | серверДесятки миллисекунд | Миллисекунды на конечном устройстве | по фактическимрежим работыПо результатам измерений |
| Место развертывания | Облако/сервер | Edge-бокс/Встраиваемое | Данные незаводской、Быстрее отклик |
| относительноТочность | базового уровня(обозначается как100%) | Сохраняет большую часть | Конкретное снижение по результатам измерений |
| энергопотребление | серверСотни миллионов | Несколько ватт~Около десяти ватт | Низкое на конечном устройствеэнергопотреблениеисполнение |
С точки зрения результата, студенческая модель сжимает количество параметров примерно на порядок, задержка вывода снижается с десятков миллисекунд на сервере до миллисекундного уровня на периферии, а энергопотребление падает до нескольких ватт — максимум до полутора десятков. Эти преимущества напрямую связаны с такими чувствительными к реальному времени операциями, как захват и позиционирование, а также онлайн-контроль. В схеме развертывания на периферии компания «Келуде Тяжёлая Промышленность» использует именно такие дистиллированные компактные модели в качестве основного блока инференса, оставляя большие модели только для обучения или в качестве резервной ручной проверки.
Важно подчеркнуть граничные условия: выходные данные таких периферийных моделей контроля в конечном итоге должны быть интегрированы в логику контроля безопасности и блокировки крана. Границы развертывания должны соответствовать требованиям GB/T 28264 «Система мониторинга и управления безопасностью грузоподъёмных машин» к сбору данных и работе в реальном времени. При этом оценка нагрузки и режима работы, выполняемая моделью, должна возвращаться в рамки режимов, определённых в стандарте FEM 1.001 «Нормы проектирования кранов». Дистилляция знаний не меняет эти границы безопасности — она изменяет лишь размер и скорость самой модели.
Четыре распространённые ошибки, которые сводят дистилляцию к нулю
Ошибка первая: дистилляция начинается, когда учительская модель ещё не обучена должным образом. «Мусор на входе — мусор на выходе»: дистилляция лишь усиливает существующие отклонения учителя, а не исправляет их.
Ошибка вторая: неправильно выбрана температура T. Если T слишком низкая, мягкие метки вырождаются в жёсткие, и скрытые знания теряются; если T слишком высокая, распределение становится слишком «размытым», и ученик не может научиться различать классы. Температура подбирается индивидуально под задачу, а не копируется как фиксированное значение.
Ошибка третья: обучение только на мягких метках с отбрасыванием жёстких. Мягкие метки передают взаимосвязи между классами, жёсткие — гарантируют правильность ответа. Нужны обе, а баланс регулируется весовым коэффициентом потерь α.
Ошибка четвёртая: игнорирование дрейфа распределения данных. Студенческая модель имеет меньшую ёмкость и более слабую способность к обобщению; если обучающие данные и условия эксплуатации расходятся, потеря точности усиливается. Проверку распределения данных необходимо проводить как до, так и после дистилляции.
Уместить точность большой модели в малую — это, по сути, вычислимый компромисс между тремя переменными: точностью, задержкой и энергопотреблением. В своих периферийных AI-решениях «Келуде Тяжёлая Промышленность» использует дистилляцию знаний как ключевой инструмент переноса возможностей тяжёлых моделей на периферийные вычислители. В сочетании с такими этапами, как очистка данных и полуавтоматическое обучение, это позволяет крану выполнять контроль и раннее предупреждение непосредственно на объекте, не дожидаясь ответа облака. Но неизменным остаётся главное условие: сначала точно рассчитать граничные условия, а потерю точности принимать только по результатам фактических приёмочных испытаний.
📖 Похожие материалы:Запуск AI-моделей на периферии крана: как найти баланс между точностью и вычислительными затратами | Какие задачи технического обслуживания кранов можно решать с помощью больших моделей
Часто задаваемые вопросы
В: Соответствует ли компактная модель после дистилляции, развёрнутая на периферии, требованиям к работе в реальном времени для контроля безопасности крана?
О: Дистилляция знаний изменяет размер модели и скорость вывода, но не изменяет границы функции безопасности системы. Опираясь на требования стандарта GB/T 28264 «Система мониторинга и управления безопасностью грузоподъёмных машин» к сбору данных и работе в реальном времени, развёртывание допустимо, если задержка вывода и точность после дистилляции удовлетворяют инженерным критериям приёмки, а выходные данные модели по-прежнему интегрированы в существующие процессы блокировки и ручной проверки. «Келуде Тяжёлая Промышленность» всегда придерживается этого принципа в периферийных решениях: конкретные показатели проверяются по фактическому режиму работы на этапе приёмки проекта, и уменьшение модели не является основанием для пропуска проверки безопасности.
В: В каких случаях дистилляция знаний нецелесообразна и как определить, нужна ли она для конкретного проекта?
О: Обратите внимание на три сигнала. Первый: точность самой учительской модели не соответствует требованиям — дистилляция передаст ошибки и малой модели. Второй: значительное расхождение между обучающими данными и условиями эксплуатации — у малой модели слабее способность к обобщению, и дрейф будет более выраженным. Третий: если вычислительные ресурсы периферии и так позволяют запускать большую модель, экономия вычислительной мощности теряет смысл. При появлении любого из этих трёх сигналов сначала следует решить проблемы с данными и учительской моделью, и только потом говорить о дистилляции.
В: Почему малая модель, обучаясь на мягких метках большой модели, оказывается точнее, чем при обучении непосредственно на жёстких метках?
О: Потому что выход softmax большой модели содержит не только ответ, но и вероятностное распределение того, насколько этот ответ похож на другие варианты. Это и есть скрытые знания. Например, для изображения износа учительская модель может выдать распределение: износ 0.7, коррозия 0.2, норма 0.1. Обучаясь на таком распределении, ученик дополнительно усваивает, что износ и коррозия близки по своим признакам. Это несёт гораздо больше информации, чем просто запоминание одной жёсткой метки, — именно поэтому дистилляция позволяет сохранить точность.