Глоссарий

Обрезка

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

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

Узнай больше

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

Актуальность обрезки

По мере того как модели глубокого обучения (DL) становятся все больше для решения сложных задач, они требуют значительных вычислительных ресурсов. Обрезка решает эту проблему, делая модели более легкими. Такая оптимизация снижает требования к хранению данных, уменьшает энергопотребление и уменьшает задержку вывода, что крайне важно для сценариев вывода в реальном времени. Обрезка особенно полезна для развертывания моделей в таких средах, как мобильные устройства, встраиваемые системы и приложения Edge AI, где эффективность имеет первостепенное значение.

Применение обрезки

Методы обрезки широко применяются в различных областях ИИ. Вот два конкретных примера:

  1. Мобильное компьютерное зрение: Ultralytics YOLO Модели, часто используемые для обнаружения объектов на смартфонах, могут быть обрезаны, чтобы работать эффективно, не разряжая батарею и не требуя чрезмерного объема памяти. Это позволяет создавать приложения в реальном времени, например мобильную дополненную реальность или анализ изображений на устройстве. Развертывание обрезанной модели на таком оборудовании, как Raspberry Pi, оснащенном Google Edge TPU, может значительно ускорить работу, как показано в таких руководствах, как учебник Edge TPU на Raspberry Pi.
  2. Системы автономного вождения: Самоуправляемые автомобили полагаются на сложные модели для таких задач, как обнаружение пешеходов и других транспортных средств. Обрезка этих моделей сокращает время, необходимое для принятия важных решений, повышая безопасность и скорость реакции. Оптимизированные модели могут быть дополнительно ускорены с помощью таких инструментов, как NVIDIA TensorRT для развертывания на графических процессорах, которые обычно используются в автономных автомобилях.

Виды и техники

Методы обрезки могут быть разными, но в целом они делятся на такие категории:

  • Неструктурированная обрезка: Удаляет отдельные веса на основе величины или важности, что приводит к разреженным моделям, для эффективного выполнения которых может потребоваться специализированное оборудование или программное обеспечение, например DeepSparse отNeural Magic. Ultralytics предлагает руководства по интеграции для таких инструментов, как Neural Magic.
  • Структурированная обрезка: Удаляет целые структуры, такие как фильтры, каналы или слои. В результате получаются более компактные, плотные модели, которые обычно легче развернуть на стандартном оборудовании. Более подробную информацию о структурированных подходах можно найти в исследованиях, подобных работеNVIDIA над структурированной разреженностью.

Обрезка может применяться на разных этапах: до обучения (определение архитектуры), во время обучения или после обучения (тонкая настройка предварительно обученной модели). Такие платформы, как PyTorch предоставляют утилиты для облегчения работы с различными техниками обрезки.

Обрезка по сравнению с другими техниками оптимизации

Обрезка - это одна из нескольких стратегий оптимизации модели. Важно отличать ее от смежных понятий:

  • Квантование модели: Уменьшает числовую точность весов модели (например, с 32-битных плавающих чисел до 8-битных целых), уменьшая размер и ускоряя вычисления без удаления параметров.
  • Дистилляция знаний: Обучает меньшую модель "ученика", чтобы она повторяла вывод большей, предварительно обученной модели "учителя".

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

В общем, обрезка - это ценная техника для создания эффективных моделей ИИ, подходящих для различных задач, что вносит значительный вклад в практическое применение компьютерного зрения (КЗ) и других задач ML. Такие инструменты и платформы, как Ultralytics HUB, часто включают в себя подобные методы оптимизации или способствуют их применению.

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