Глоссарий

Модельная обрезка

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

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

Узнай больше

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

Зачем использовать обрезку моделей?

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

Виды обрезки моделей

Существует две основные категории обрезки моделей:

  • Неструктурированная обрезка: Этот подход удаляет отдельные веса или связи из сети, основываясь на их важности. Хотя с его помощью можно достичь высокого уровня разреженности, для реализации преимуществ производительности часто требуется специализированное оборудование или программное обеспечение из-за нерегулярной структуры обрезанной модели.
  • Структурированная обрезка: Этот метод удаляет из сети целые группы весов, например нейроны или каналы. При этом сохраняется более регулярная структура, что облегчает ускорение на стандартном оборудовании. Структурированная обрезка часто предпочтительна для практических приложений благодаря своей совместимости с существующими аппаратными и программными оптимизациями.

Техники обрезки моделей

Чтобы определить, какие параметры нужно обрезать, можно использовать несколько техник:

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

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

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

Реальное применение обрезки моделей в реальном мире

Обрезка моделей нашла применение в различных областях, особенно там, где развертывание больших моделей является сложной задачей:

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

Заключение

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

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