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

Как Ultralytics упрощает развертывание моделей компьютерного зрения

Узнайте, как Ultralytics объединяет все необходимое для развертывания моделей компьютерного зрения — от тестирования до готовых к использованию в производственной среде API.

Масштабируйте свои проекты в области компьютерного зрения с Ultralytics

Начать

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

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

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

Развертывание — это не просто предоставление модели для использования. Оно требует настройки процессов, способных обрабатывать реальные данные, а также обеспечения бесперебойной работы по мере роста объёма использования и расширения масштабов проектов. 

Кроме того, командам необходимо track и обеспечивать стабильную работу в долгосрочной перспективе. Зачастую это требует переключения между различными инструментами искусственного интеллекта для тестирования, интеграции, развертывания и мониторинга, что может замедлить разработку моделей и создать ненужную сложность.

Рабочие процессы в итоге становятся разрозненными. Ultralytics объединяет и упрощает этот процесс.

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

Рис. 1. Вид страницы развертывания в Ultralytics (Источник)

В этой статье мы рассмотрим, как Ultralytics меняет подход к развертыванию моделей компьютерного зрения от тестирования и интеграции до внедрения в производственную среду и мониторинга. Приступим!

Обзор внедрения моделей компьютерного зрения

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

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

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

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

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

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

Развертывание моделей компьютерного зрения может показаться простым делом, но до сих пор на практике всё обстоит совсем иначе. Рассмотрим типичную схему: данные сначала собираются с помощью камер или датчиков, отправляются в модель для вычисления результатов, а затем возвращаются в приложение в виде прогнозов.

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

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

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

Возможности развертывания моделей, предоставляемые Ultralytics

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

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

Давайте же подробнее рассмотрим, как работает каждый из этих вариантов.

Быстрая проверка моделей с помощью вкладки «Predict»

Прежде чем внедрять модель в производственную среду, важно понять, как она работает с новыми, ранее не виденными данными. Ultralytics включает встроенную вкладку «Predict», которая позволяет выполнять инференцию прямо в браузере без каких-либо настроек, инфраструктуры или зависимостей.

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

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

Рис. 2. Пример проверки модели с помощью вкладки «Predict» (Источник)

Это означает, что всего за несколько кликов вы можете протестировать различные входные данные, настроить параметры и оценить производительность в рамках единого интерфейса, прежде чем приступить к развертыванию.

Запуск общих выводов для тестирования или неинтенсивного использования

Предположим, вы обучили модель и проверили её на вкладке «Predict». Следующим шагом, как правило, является интеграция этой модели в приложение или рабочий процесс. 

Вместо того чтобы настраивать инфраструктуру или управлять серверами, Ultralytics предоставляет общие службы инференции, которые позволяют отправлять данные в вашу модель и получать прогнозы через простые REST-API.

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

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

Развертывайте модели по всему миру с помощью выделенных конечных точек

Как только модель готова к производственному использованию, она должна надежно и в больших объемах обрабатывать реальный трафик. Ultralytics обеспечивает это благодаря выделенным конечным точкам, где модели работают в режиме «один клиент на сервер» в 43 регионах по всему миру. Развертывание ближе к конечным пользователям помогает сократить задержку и обеспечить стабильную производительность в разных регионах.

Каждый конечный узел работает с собственными выделенными вычислительными ресурсами и уникальным URL-адресом для запросов на инференцию. Такой уровень контроля позволяет легко настраивать развертывания с учетом требований к производительности — от простых сценариев использования до более ресурсоемких приложений с высокой пропускной способностью, которым требуется больше вычислительных ресурсов.

Рис. 3. С помощью Ultralytics можно развертывать модели в 43 регионах по всему миру (Источник)

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

Легко экспортируйте свою модель с помощью Ultralytics

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

В таких случаях модели необходимо запускать за пределами Ultralytics , поэтому экспорт моделей становится ключевым этапом процесса развертывания.YOLO Ultralytics YOLO обычно обучаются с использованием Python PyTorch, а затем могут быть экспортированы в более чем 17 различных форматов, включая ONNX, TensorRT, CoreML и OpenVINO. 

Такой широкий выбор форматов обеспечивает совместимость с различным оборудованием — от высокопроизводительных графических процессоров (GPU) до мобильных и встроенных устройств. Кроме того, экспорт данных позволяет оптимизировать производительность для конкретных сред. 

В зависимости от формата модели могут демонстрировать более высокую скорость инференса, например, за счет повышения GPU с помощью TensorRT оптимизации CPU с помощью ONNX OpenVINO. Такие опции, как квантование FP16 и INT8, позволяют дополнительно уменьшить размер модели и повысить пропускную способность, что особенно полезно при развертывании на периферийных устройствах.

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

Рис. 4. Выбор форматов экспорта на Ultralytics .

Выбор подходящего варианта развертывания модели

Каждый вариант развертывания в Ultralytics предназначен для определенного этапа рабочего процесса — от раннего тестирования до эксплуатации в производственной среде. Ниже приведен обзор того, в каких случаях можно использовать каждый из них:

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

Команды часто проходят все эти этапы по порядку, переходя от валидации к интеграции и, наконец, к развертыванию в производственной среде — и всё это в рамках одной платформы.

Мониторинг развернутых моделей с помощью Ultralytics

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

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

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

Рис. 5. Ultralytics упрощает мониторинг развернутых моделей. (Источник)

Каждый выделенный конечный узел также обеспечивает подробный мониторинг с помощью отдельных представлений развертывания. Сюда входит доступ к журналам, информации о работоспособности модели и данным о производительности в режиме реального времени. Журналы можно использовать для устранения неполадок, отслеживания неудачных запросов и выявления потенциальных проблем, связанных с зависимостями или инфраструктурой.

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

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

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

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

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

Этот сдвиг меняет подход к масштабированию команд. Речь больше не идет о координации инструментов или инфраструктуры, а о поддержании динамики роста систем.

Основные выводы

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

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

Давайте вместе создадим будущее искусственного интеллекта!

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