Глоссарий

Дистилляция знаний

Узнай, как Knowledge Distillation сжимает модели ИИ для ускорения выводов, повышения точности и эффективности развертывания пограничных устройств.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Дистилляция знаний - это техника сжатия модели, используемая в машинном обучении для передачи знаний от большой, сложной модели ("учитель") к меньшей, более простой модели ("ученик"). Цель - обучить модель ученика, чтобы она достигла производительности, сравнимой с моделью учителя, даже если у ученика меньше параметров и он вычислительно менее затратный. Это особенно полезно для развертывания моделей на устройствах с ограниченными ресурсами или в приложениях, требующих быстрого вывода.

Как работает дистилляция знаний

Основная идея Knowledge Distillation заключается в том, чтобы использовать мягкие результаты (вероятности) модели учителя в качестве целей обучения для модели ученика, в дополнение или вместо жестких меток (ground truth). Модели учителей, часто предварительно обученные на огромных наборах данных, могут улавливать сложные взаимосвязи в данных и хорошо обобщать. Обучаясь на этих мягких целях, студенческая модель может получить более богатую информацию, чем если бы она обучалась только на жестких метках. Этот процесс часто включает в себя использование более высокой "температуры" в функции softmax во время умозаключений учителя, чтобы смягчить распределение вероятностей, предоставляя студенту более тонкую информацию.

Преимущества и применение

Дистилляция знаний обладает рядом преимуществ, что делает ее ценной техникой в различных приложениях ИИ:

  • Сжатие моделей: Оно позволяет создавать более компактные и эффективные модели, подходящие для развертывания на граничных устройствах с ограниченными вычислительными ресурсами, таких как мобильные телефоны или встраиваемые системы. Это крайне важно для таких приложений, как обнаружение объектов в реальном времени на устройствах вроде Raspberry Pi или NVIDIA Jetson.
  • Улучшенное обобщение: Студенческие модели, обученные с помощью Knowledge Distillation, часто демонстрируют лучшие показатели обобщения, чем модели, обученные исключительно на жестких метках. Они могут учиться на изученных представлениях учителя, что приводит к повышению точности и устойчивости.
  • Более быстрый вывод: Меньшие модели естественным образом приводят к более быстрому выводу, что очень важно для приложений реального времени, таких как автономное вождение, автоматизация роботизированных процессов (RPA) и системы безопасности.

Применение Knowledge Distillation в реальном мире широко распространено:

  • Обработка естественного языка (NLP): в NLP дистилляция знаний может использоваться для сжатия больших языковых моделей, таких как GPT-3 или BERT, в меньшие, более эффективные модели для мобильного или пограничного развертывания. Например, дистиллированная модель может обеспечить анализ настроения на мобильных устройствах, не требуя подключения к облаку.
  • Компьютерное зрение: Ultralytics YOLOv8 или аналогичные модели обнаружения объектов могут быть дистиллированы для развертывания в приложениях реального времени на пограничных устройствах. Например, в умных городах дистиллированные модели могут использоваться для эффективного мониторинга и управления дорожным движением, работая непосредственно на пограничных вычислительных устройствах на транспортных развязках. Еще одно применение - анализ медицинских изображений, где дистиллированные модели могут обеспечить более быструю предварительную диагностику в местах оказания медицинской помощи.

Дистилляция знаний против обрезки моделей и квантования

Хотя Knowledge Distillation - это техника сжатия модели, она отличается от других методов, таких как обрезка модели и квантование модели. Обрезка модели уменьшает размер модели за счет удаления менее важных связей (весов), в то время как квантование модели уменьшает точность весов модели, чтобы использовать меньше памяти и вычислений. Дистилляция знаний, с другой стороны, обучает новую, меньшую модель с нуля, используя знания большей модели. Эти техники также можно комбинировать; например, дистиллированная модель может быть дополнительно обрезана или квантована, чтобы добиться еще большего сжатия и эффективности. Такие инструменты, как Sony's Model Compression Toolkit (MCT) и OpenVINO могут быть использованы для дальнейшей оптимизации моделей после дистилляции для пограничного развертывания.

Читать полностью