Встречай YOLO26: ИИ компьютерного зрения нового поколения.
Ultralytics
Назад к глоссарию Ultralytics

Model Pruning

Узнай, как прунинг (обрезка) моделей уменьшает размер и сложность нейронной сети для граничного ИИ. Изучи стратегии оптимизации Ultralytics YOLO26 для более быстрого инференса на мобильных устройствах.

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

Link to this sectionКак работает прунинг моделей#

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

Жизненный цикл прунинга модели обычно включает следующие этапы:

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

  2. Прунинг: Параметры с низкой важностью обнуляются или физически удаляются из структуры сети.

  3. Дообучение (Fine-Tuning): Модель проходит вторичный раунд дообучения, чтобы оставшиеся параметры могли адаптироваться и восстановить точность, потерянную на этапе прунинга.

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

Link to this sectionТипы стратегий прунинга#

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

  • Неструктурированный прунинг (Unstructured Pruning): Этот подход удаляет отдельные веса в любом месте модели на основе определенного порога (например, величины веса). Хотя это эффективно сокращает количество параметров, в результате получаются разреженные матрицы, которые стандартному оборудованию бывает трудно обрабатывать эффективно. Без специализированного программного обеспечения или аппаратных ускорителей неструктурированный прунинг может не дать значительного прироста скорости.
  • Структурированный прунинг (Structured Pruning): Этот метод удаляет целые геометрические структуры, такие как каналы, фильтры или слои в сверточной нейронной сети (CNN). Благодаря сохранению структуры плотной матрицы, прунированная модель остается совместимой со стандартным оборудованием GPU и CPU, что приводит к прямому улучшению задержки вывода и пропускной способности.

Link to this sectionРеальные приложения#

Прунинг является критически важным инструментом для Edge AI, позволяя сложным моделям работать в средах, где облачное подключение недоступно или слишком медленно.

  • Мобильное обнаружение объектов: Приложения на мобильных устройствах, такие как перевод речи в реальном времени или дополненная реальность, используют прунированные модели для экономии заряда батареи и уменьшения использования памяти. Оптимизированные архитектуры, такие как YOLO26, часто являются предпочтительной основой для этих задач из-за их естественной эффективности.
  • Автомобильная безопасность: Самоуправляемые автомобили и автономные транспортные средства требуют принятия решений за доли секунды. Прунированные модели позволяют бортовым компьютерам обрабатывать видеопотоки с высоким разрешением для обнаружения пешеходов без задержек, вызванных передачей данных на сервер.
  • Промышленный IoT: В производстве системы визуального контроля на сборочных линиях используют легковесные модели для обнаружения дефектов. Прунинг гарантирует, что эти системы могут работать на экономичных микроконтроллерах, а не на дорогих серверных стойках.

Link to this sectionПрунинг против смежных методов оптимизации#

Хотя прунинг моделей — мощный инструмент, его часто путают с другими методами оптимизации моделей или используют их вместе.

  • Прунинг против квантования: Прунинг уменьшает количество параметров (связей) в модели. В отличие от него, квантование моделей уменьшает точность этих параметров, например, путем преобразования 32-битных чисел с плавающей запятой в 8-битные целые числа. Оба метода часто комбинируются для максимизации эффективности при развертывании моделей.
  • Прунинг против дистилляции знаний: Прунинг модифицирует исходную модель, удаляя ее части. Дистилляция знаний включает обучение совершенно новой, более компактной «модели-ученика» для имитации поведения более крупной «модели-учителя».

Link to this sectionПример реализации#

Следующий пример на Python демонстрирует, как применить неструктурированный прунинг к сверточному слою с помощью PyTorch. Это распространенный шаг перед экспортом моделей в оптимизированные форматы, такие как ONNX.

import torch
import torch.nn as nn
import torch.nn.utils.prune as prune

# Initialize a standard convolutional layer
module = nn.Conv2d(in_channels=1, out_channels=20, kernel_size=3)

# Apply unstructured pruning to remove 30% of the connections
# This sets the weights with the lowest L1-norm to zero
prune.l1_unstructured(module, name="weight", amount=0.3)

# Calculate and print the sparsity (percentage of zero elements)
sparsity = 100.0 * float(torch.sum(module.weight == 0)) / module.weight.nelement()
print(f"Layer Sparsity: {sparsity:.2f}%")

Пользователям, которые хотят управлять всем жизненным циклом своих наборов данных и моделей — включая обучение, оценку и развертывание, — Ultralytics Platform предлагает оптимизированный интерфейс. Он упрощает процесс создания высокооптимизированных моделей, таких как YOLO26, и их экспорт в удобные для оборудования форматы, такие как TensorRT или CoreML.

Explore solutions

Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

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

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

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

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше
Real-time AI that works with your team

ИИ в робототехнике

Делай свои машины умнее с помощью моделей Ultralytics YOLO. ИИ машинного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в логистике

Оптимизируй логистику с помощью моделей Ultralytics YOLO. Vision AI позволяет инспектировать посылки, сортировать их, отслеживать транспортные средства и контролировать безопасность на складе в реальном времени.

Узнать больше
Real-time AI that works with your team

ИИ в розничной торговле

Переосмысли ритейл с помощью моделей Ultralytics YOLO. Vision AI расширяет возможности отслеживания запасов, мониторинга полок, управления очередями и более глубокого понимания клиентов.

Узнать больше
Real-time AI that works with your team

ИИ в здравоохранении

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

Узнать больше
Real-time AI that works with your team

ИИ в производстве

Оптимизируй производство с помощью моделей Ultralytics YOLO. Vision AI управляет контролем качества, обнаружением дефектов, соблюдением СИЗ и автоматизацией сборочных линий.

Узнать больше
Real-time AI that works with your operation

ИИ в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. ИИ для зрения повышает безопасность дорожного движения, помогает водителю и способствует автоматизации транспортных средств для создания более «умных» дорог.

Узнать больше
Real-time AI tailored to your operation

ИИ в сельском хозяйстве

Внедряй ИИ в «умное» сельское хозяйство с помощью моделей Ultralytics YOLO. Оптимизируй мониторинг посевов, отслеживание скота и точное земледелие для получения более высоких и «умных» урожаев.

Узнать больше

Давай строить будущее ИИ вместе!

Начни свой путь в будущее машинного обучения