Прунинг и квантование в компьютерном зрении: Краткое руководство
Узнай, почему прунинг (pruning) и квантование (quantization) критически важны для оптимизации моделей компьютерного зрения и ускорения их работы на граничных устройствах (edge devices).

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

Рис. 1. Пример распознавания номерного знака. (Источник)
Однако важно учитывать, что такие приложения требуют моделей компьютерного зрения, способных справляться с тяжелыми вычислениями, используя минимум ресурсов и работая автономно. Большинство моделей компьютерного зрения разработаны для высокопроизводительных систем, что делает их менее подходящими для прямого развертывания на периферийных устройствах.
Чтобы преодолеть этот разрыв, разработчики часто применяют целевые оптимизации, которые адаптируют модель для эффективной работы на менее мощном оборудовании. Эти корректировки критически важны для реального периферийного развертывания, где объем памяти и вычислительная мощность ограничены.
Интересно, что модели компьютерного зрения, такие как Ultralytics YOLO11, уже разработаны с учетом эффективности для периферии, что делает их отличным выбором для задач реального времени. Однако их производительность можно еще больше повысить с помощью методов оптимизации моделей, таких как прунинг и квантование, что обеспечит еще более быстрый инференс и меньшее потребление ресурсов на ограниченных устройствах.
В этой статье мы подробнее рассмотрим, что такое прунинг и квантование, как они работают и как они могут помочь моделям YOLO работать в условиях реального периферийного развертывания. Давай начнем!
Link to this sectionПрунинг и квантование: основные методы оптимизации моделей#
При подготовке ИИ-моделей компьютерного зрения к развертыванию на периферийных устройствах одной из главных целей является создание легкой и надежной модели без потери производительности. Это часто предполагает уменьшение размера модели и вычислительных требований, чтобы она могла эффективно работать на оборудовании с ограниченным объемом памяти, питанием или вычислительной мощностью. Два распространенных способа достичь этого — прунинг и квантование.
Прунинг — это метод оптимизации ИИ-моделей, который помогает сделать нейронные сети меньше и эффективнее. Во многих случаях части модели, такие как определенные соединения или узлы, не вносят существенного вклада в конечные предсказания. Прунинг работает путем выявления и удаления этих менее важных частей, что уменьшает размер модели и ускоряет её работу.
С другой стороны, квантование — это метод оптимизации, который уменьшает точность чисел, используемых моделью. Вместо того чтобы полагаться на высокоточные 32-битные числа с плавающей запятой, модель переключается на более мелкие и эффективные форматы, такие как 8-битные целые числа. Это изменение помогает снизить использование памяти и ускорить инференс — процесс, в ходе которого модель делает предсказания.

Рис. 2. Взгляд на прунинг и квантование. (Источник)
Link to this sectionКак работают прунинг и квантование#
Теперь, когда у нас есть лучшее понимание того, что такое прунинг и квантование, давай разберемся, как они оба работают.
Прунинг выполняется с использованием процесса, известного как анализ чувствительности. Он выявляет, какие части моделей нейронных сетей, такие как определенные веса, нейроны или каналы, вносят наименьший вклад в итоговый результат предсказания. Эти части могут быть удалены с минимальным влиянием на точность. После прунинга модель обычно дообучается для тонкой настройки её производительности. Этот цикл можно повторять для поиска правильного баланса между размером и точностью.
В то же время квантование модели фокусируется на том, как модель обрабатывает данные. Оно начинается с калибровки, при которой модель запускается на выборке данных, чтобы изучить диапазон значений, которые ей нужно обрабатывать. Затем эти значения преобразуются из 32-битных чисел с плавающей запятой в форматы с более низкой точностью, такие как 8-битные целые числа.

Рис. 3. Квантование помогает уменьшить размер и сложность модели. (Источник)
Существует несколько инструментов, которые облегчают использование прунинга и квантования в реальных ИИ-проектах. Большинство фреймворков ИИ, таких как PyTorch и TensorFlow, включают встроенную поддержку этих методов оптимизации, позволяя разработчикам интегрировать их непосредственно в процесс развертывания модели.
После оптимизации модели такие инструменты, как ONNX Runtime, могут помочь эффективно запускать её на различных аппаратных платформах, таких как серверы, настольные компьютеры и периферийные устройства. Кроме того, Ultralytics предлагает интеграции, которые позволяют экспортировать модели YOLO в форматы, подходящие для квантования, что упрощает уменьшение размера модели и повышение производительности.
Link to this sectionОбзор оптимизации моделей Ultralytics YOLO#
Модели Ultralytics YOLO, такие как YOLO11, широко известны своим быстрым одношаговым обнаружением объектов, что делает их идеальными для задач ИИ в компьютерном зрении в реальном времени. Они уже спроектированы так, чтобы быть легкими и эффективными для периферийного развертывания. Однако слои, отвечающие за обработку визуальных признаков, называемые сверточными слоями, все еще могут требовать значительных вычислительных мощностей во время инференса.
Ты можешь задаться вопросом: если YOLO11 уже оптимизирована для использования на периферии, зачем нужна дальнейшая оптимизация? Проще говоря, не все периферийные устройства одинаковы. Некоторые работают на очень простом оборудовании, например, на крошечных встроенных процессорах, которые потребляют меньше энергии, чем стандартная светодиодная лампочка.
В таких случаях даже оптимизированная модель, как YOLO11, нуждается в дополнительной оптимизации, чтобы гарантировать плавную и надежную работу. Такие методы, как прунинг и квантование, помогают уменьшить размер модели и ускорить инференс без существенного влияния на точность, что делает их идеальными для таких ограниченных сред.
Чтобы облегчить применение этих методов оптимизации, Ultralytics поддерживает различные интеграции, которые можно использовать для экспорта моделей YOLO в несколько форматов, таких как ONNX, TensorRT, OpenVINO, CoreML и PaddlePaddle. Каждый формат предназначен для эффективной работы с определенными типами оборудования и средами развертывания.
Например, ONNX часто используется в процессах квантования из-за совместимости с широким спектром инструментов и платформ. TensorRT, с другой стороны, высоко оптимизирован для устройств NVIDIA и поддерживает низкоточный инференс с использованием INT8, что делает его идеальным для высокоскоростного развертывания на периферийных GPU.
Link to this sectionЭффективные варианты использования оптимизации моделей Ultralytics YOLO#
Поскольку компьютерное зрение продолжает проникать в различные реальные приложения, оптимизированные модели YOLO позволяют выполнять такие задачи, как обнаружение объектов, сегментация экземпляров и отслеживание объектов на меньшем и более быстром оборудовании. Далее давай обсудим пару сценариев использования, где прунинг и квантование делают эти задачи компьютерного зрения более эффективными и практическими.
Link to this sectionУмное наблюдение на базе YOLO11#
Многие промышленные пространства, а также общественные места зависят от мониторинга в реальном времени для обеспечения безопасности. Такие места, как транспортные узлы, производственные площадки и крупные открытые объекты, нуждаются в системах компьютерного зрения, которые могут быстро и точно обнаруживать людей или транспортные средства. Часто такие объекты работают в условиях ограниченного подключения и аппаратных ограничений, что затрудняет развертывание больших моделей.
В таких случаях оптимизированная модель ИИ, такая как YOLO11, является отличным решением. Компактный размер и быстрая работа делают её идеальной для запуска на маломощных периферийных устройствах, таких как встроенные камеры или умные датчики. Эти модели могут обрабатывать визуальные данные непосредственно на устройстве, обеспечивая обнаружение нарушений безопасности, несанкционированного доступа или аномальной активности в реальном времени, без необходимости постоянного доступа к облаку.

Рис. 4. YOLO11 можно использовать для наблюдения за общественными местами, такими как станции метро.
Link to this sectionПовышение безопасности на строительных площадках с помощью YOLO11#
Строительные площадки — это динамичные и непредсказуемые среды, наполненные тяжелой техникой, перемещающимися рабочими и постоянной активностью. Условия могут быстро меняться из-за сдвига графиков, перемещения оборудования или даже внезапных изменений погоды. В такой динамичной обстановке безопасность рабочих может стать постоянной проблемой.
Мониторинг в реальном времени играет решающую роль, но традиционные системы часто полагаются на облачный доступ или дорогостоящее оборудование, которое может быть непрактичным на месте. Именно здесь модели, такие как YOLO11, могут быть эффективны. YOLO11 можно оптимизировать для работы на небольших, эффективных периферийных устройствах, которые функционируют непосредственно на объекте без необходимости интернет-соединения.
Например, рассмотри крупную строительную площадку, такую как расширение шоссе, занимающее несколько гектаров. В таких условиях ручное отслеживание каждого транспортного средства или единицы техники может быть трудным и трудоемким процессом. Дрон, оснащенный камерой и оптимизированной моделью YOLO11, может помочь автоматически обнаруживать и отслеживать транспортные средства, контролировать поток движения и выявлять проблемы безопасности, такие как несанкционированный доступ или небезопасное поведение при вождении.

Рис. 5. Анализ снимков с дрона на строительной площадке. (Источник)
Link to this sectionПлюсы и минусы прунинга и квантования в компьютерном зрении#
Вот несколько ключевых преимуществ, которые предлагают методы оптимизации моделей компьютерного зрения, такие как прунинг и квантование:
- Экономически эффективное развертывание: Меньшие и более эффективные модели могут снизить потребность в дорогостоящем высококлассном оборудовании, делая ИИ более доступным и масштабируемым для различных сценариев использования.
- Снижение задержки: За счет упрощения архитектуры модели и уменьшения вычислительных затрат эти методы помогают достичь более быстрого времени отклика в приложениях реального времени.
- Энергоэффективность: Снижение вычислительной нагрузки также уменьшает потребление энергии, что особенно полезно для систем с питанием от батарей или мобильных систем.
Хотя прунинг и квантование предлагают множество преимуществ, они также сопровождаются определенными компромиссами, которые разработчикам следует учитывать при оптимизации моделей. Вот некоторые ограничения, которые стоит иметь в виду:
- Компромиссы в точности: Если прунинг слишком агрессивен или если используется квантование с очень малым числом бит, точность модели, измеряемая такими метриками, как mAP, может снизиться.
- Аппаратные ограничения: Не все устройства одинаково хорошо поддерживают форматы с пониженной точностью, такие как INT8. Это может ограничивать места и способы развертывания оптимизированной модели.
- Сложность реализации: Достижение хороших результатов часто требует тщательной, специфичной для модели настройки. Разработчикам может потребоваться дообучить модель и провести обширное тестирование, чтобы сохранить производительность при повышении эффективности.
Link to this sectionОсновные выводы#
Прунинг и квантование — это полезные методы, которые помогают моделям YOLO работать лучше на периферийных устройствах. Они уменьшают размер модели, снижают её вычислительные потребности и ускоряют предсказания, причем все это без заметной потери точности.
Эти методы оптимизации также дают разработчикам гибкость в настройке моделей для различных типов оборудования без необходимости полной пересборки. Благодаря некоторой настройке и тестированию становится проще применять компьютерное зрение в реальных условиях.
Присоединяйся к нашему растущему сообществу! Изучи наш репозиторий на GitHub, чтобы узнать больше об ИИ. Готов начать свои проекты по компьютерному зрению? Ознакомься с нашими вариантами лицензирования. Узнай о применении ИИ в сельском хозяйстве и компьютерном зрении в здравоохранении, посетив страницы наших решений!






