Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

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

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

Прунинг модели — это метод оптимизации модели, который делает нейронные сети меньше и более вычислительно эффективными. Основная идея заключается в выявлении и удалении из обученной модели избыточных или неважных параметров (весов, нейронов или каналов). Этот процесс уменьшает размер модели и может значительно ускорить вывод, что делает его идеальным для развертывания на периферийных устройствах с ограниченной памятью и вычислительной мощностью. Концепция основана на наблюдении, что многие большие модели перепараметризованы, то есть содержат компоненты, которые вносят очень малый вклад в окончательный прогноз. Основополагающие работы, такие как Optimal Brain Damage, с самого начала установили, что не все параметры созданы равными.

Типы усечения моделей

Методы прунинга модели обычно классифицируются по гранулярности того, что удаляется из сети:

  • Удаление весов (неструктурированное): Это наиболее детализированный метод, при котором отдельные веса модели со значениями ниже определенного порога устанавливаются в ноль. Это создает "разреженную" модель, которую можно сильно сжать. Однако для достижения значительного ускорения во время инференса часто требуется специализированное оборудование или библиотеки программного обеспечения, такие как инструменты NVIDIA для разреженных моделей.
  • Удаление нейронов (Neuron Pruning): В этом подходе целые нейроны и все их входящие и исходящие соединения удаляются, если они считаются неважными. Это более структурированная форма удаления, чем удаление отдельных весов.
  • Отсечение фильтров/каналов (структурированное): Этот метод, особенно актуальный для сверточных нейронных сетей (CNN), удаляет целые фильтры или каналы. Поскольку он сохраняет плотную, регулярную структуру сетевых слоев, этот подход часто приводит к прямому повышению производительности на стандартном оборудовании без необходимости использования специализированных библиотек. Такие инструменты, как DeepSparse от Neural Magic, предназначены для ускорения этих разреженных моделей на процессорах.

После обрезки модели обычно подвергаются тонкой настройке, которая включает в себя переобучение уменьшенной сети в течение нескольких эпох для восстановления любой точности, потерянной во время удаления параметров. Знаменитая гипотеза о лотерейном билете предполагает, что в большой сети существует меньшая подсеть, которая может достичь аналогичной производительности при обучении с нуля. Такие фреймворки, как PyTorch, предлагают встроенные инструменты для реализации, как показано в официальном Руководстве по обрезке PyTorch.

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

Прунинг модели имеет решающее значение для развертывания эффективных моделей ИИ в различных сценариях:

  1. Оптимизация обнаружения объектов на периферийных устройствах: Модели, такие как Ultralytics YOLO, можно обрезать для эффективного выполнения задач обнаружения объектов на оборудовании с ограниченными ресурсами, таком как Raspberry Pi или NVIDIA Jetson. Это позволяет использовать приложения реального времени, такие как управление дорожным движением, интеллектуальное наблюдение и интеграция компьютерного зрения в робототехнику.
  2. Локальное развертывание больших языковых моделей (LLM): Прунинг используется для уменьшения размеров массивных моделей, основанных на архитектуре Transformer, что позволяет запускать их на таких устройствах, как смартфоны, для задач обработки естественного языка (NLP). Этот подход, иногда в сочетании с другими методами, такими как квантование, позволяет создавать мощных AI-помощников и приложения для перевода на устройстве, одновременно повышая конфиденциальность данных и снижая задержку. Исследования и инструменты от таких организаций, как Hugging Face, изучают прунинг LLM.

Удаление незначащих связей в сравнении с другими методами оптимизации

Прунинг модели — один из нескольких дополнительных методов оптимизации модели:

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

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

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас
Ссылка скопирована в буфер обмена