Глоссарий

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

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

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

Узнай больше

Дистилляция знаний - это техника машинного обучения (ML), при которой меньшая, компактная модель ("ученик") обучается имитировать поведение большей, более сложной модели ("учитель"). Основная цель - передать "знания", полученные моделью-учителем, модели-ученику, что позволяет ей достичь сопоставимой производительности, но при этом значительно снизить вычислительные требования, например, уменьшить размер и ускорить время ожидания вывода. Это делает сложные модели глубокого обучения (DL) практичными для развертывания в средах с ограниченными ресурсами, таких как мобильные устройства или пограничные вычислительные платформы. Концепция была популяризирована Джеффри Хинтоном и коллегами в их работе"Distilling the Knowledge in a Neural Network".

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

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

Преимущества и важность

Дистилляция знаний предлагает несколько ключевых преимуществ:

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

Применение в реальном мире

Дистилляция знаний широко используется в различных областях:

  1. Компьютерное зрение: Большие модели обнаружения объектов или сегментации изображений, например сложные версии Ultralytics YOLO или Vision Transformers (ViT), могут быть переработаны в облегченные версии, подходящие для мобильных приложенийUltralytics HUB App) или встраиваемых систем в автономных автомобилях или робототехнике. Например, Intuitivo использует дистилляцию знаний для переноса знаний из больших базовых моделей в меньшие, экономически эффективные модели для масштабирования миллионов автономных точек покупки, значительно ускоряя аннотирование (Источник: YOLO Vision 2023 Talk).
  2. Обработка естественного языка (NLP): Массивные большие языковые модели (LLM), такие как BERT или GPT, часто дистиллируются в более мелкие версии (например, DistilBERT от Hugging Face) для таких задач, как анализ настроения или ответы на вопросы на устройствах с ограниченным вычислительным бюджетом или для приложений, требующих меньшей задержки, например чат-ботов.

Смежные понятия

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

  • Обрезка модели: Удаление менее важных весов или связей из уже обученной сети, чтобы уменьшить ее размер. Дистилляция обучает новую, меньшую по размеру сеть.
  • Квантование модели: Уменьшает числовую точность весов модели (например, с 32-битных плавающих чисел до 8-битных целых), чтобы уменьшить размер и ускорить вычисления, часто используется вместе с дистилляцией или после нее. Смотри такие интеграции, как ONNX или TensorRT.
  • Трансферное обучение: Повторное использование частей предварительно обученной модели (обычно это основа) и тонкая настройка ее на новом наборе данных или задаче. Дистилляция фокусируется на переносе предсказательного поведения учителя на потенциально другую архитектуру ученика.
  • Федеративное обучение: Обучает модели на децентрализованных устройствах без обмена исходными данными, уделяя особое внимание конфиденциальности. Distillation фокусируется на сжатии моделей.

Дистилляция знаний - это мощный инструмент, позволяющий сделать современные модели ИИ более доступными и эффективными, преодолевая разрыв между крупномасштабными исследовательскими моделями и практическим развертыванием моделей в реальном мире. Платформы вроде Ultralytics HUB облегчают обучение и развертывание потенциально дистиллированных моделей, таких как YOLOv8 или YOLO11.

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