Как Ultralytics упрощает развертывание моделей компьютерного зрения
Узнайте, как Ultralytics объединяет все необходимое для развертывания моделей компьютерного зрения — от тестирования до готовых к использованию в производственной среде API.
Узнайте, как Ultralytics объединяет все необходимое для развертывания моделей компьютерного зрения — от тестирования до готовых к использованию в производственной среде API.
Ultralytics на протяжении многих лет Ultralytics с сообществом специалистов в области компьютерного зрения, создавая модели и инструменты, которые делают ИИ в сфере компьютерного зрения более доступным для всех. С помощью Ultralytics мы делаем еще один шаг вперед, объединяя весь рабочий процесс разработки в области компьютерного зрения в единую среду, которая охватывает все этапы — от управления наборами данных и аннотирования до обучения, валидации и развертывания моделей.
В частности, мы рады, что нам удалось упростить развертывание моделей компьютерного зрения. Несмотря на то что технологии компьютерного зрения все шире находят применение в реальных условиях, анализ изображений и видеозаписей за пределами контролируемых сред по-прежнему остается сложной задачей.
В отличие от тестовых сред, где условия предсказуемы, реальные сценарии характеризуются переменным освещением, меняющимися входными данными и непредсказуемыми нагрузками, что делает внедрение одной из самых сложных частей рабочего процесса систем машинного зрения.
Развертывание — это не просто предоставление модели для использования. Оно требует настройки процессов, способных обрабатывать реальные данные, а также обеспечения бесперебойной работы по мере роста объёма использования и расширения масштабов проектов.
Кроме того, командам необходимо track и обеспечивать стабильную работу в долгосрочной перспективе. Зачастую это требует переключения между различными инструментами искусственного интеллекта для тестирования, интеграции, развертывания и мониторинга, что может замедлить разработку моделей и создать ненужную сложность.
Рабочие процессы в итоге становятся разрозненными. Ultralytics объединяет и упрощает этот процесс.
Он обеспечивает встроенную поддержку развертывания, тестирования и мониторинга моделей в рамках единой среды. Команды могут проверять модели с помощью инференции в браузере, интегрировать их в приложения через общие службы инференции и развертывать на выделенных конечных точках с возможностью мониторинга производительности.

В этой статье мы рассмотрим, как Ultralytics меняет подход к развертыванию моделей компьютерного зрения — от тестирования и интеграции до внедрения в производственную среду и мониторинга. Приступим!
В жизненном цикле машинного обучения развертывание модели — это этап, на котором модель переходит от экспериментальной стадии к практическому применению. Для моделей компьютерного зрения, построенных с использованием глубокого обучения и сверточных нейронных сетей, это, как правило, означает обеспечение возможности обработки изображений и видео в режиме реального времени.
После развертывания эти модели принимают новые данные, которые, как правило, проходят этапы предварительной обработки, такие как изменение размера, нормализация или форматирование. Затем обработанные данные передаются в модель, которая применяет шаблоны, выученные в ходе обучения, для генерации высокоточных прогнозов.
В зависимости от конкретного сценария использования это может включать различные задачи компьютерного зрения. Например,YOLO Ultralytics YOLO , такие как Ultralytics , поддерживают широкий спектр задач компьютерного зрения, включая обнаружение объектов, классификацию изображений, сегментацию экземпляров, оценку позы и обнаружение ориентированных ограничительных рамок (OBB).
Чтобы обеспечить практическую применимость в реальных условиях, модели часто необходимо интегрировать в системы, способные эффективно выполнять как предварительную обработку, так и инференцию. Именно здесь инфраструктура развертывания приобретает решающее значение.
В производственных средах доступ к моделям обычно осуществляется через REST-API или системы предоставления моделей. Эти интерфейсы позволяют приложениям программно отправлять данные и получать прогнозы, что упрощает интеграцию с внешними приложениями, устройствами Интернета вещей или робототехническими системами, которые полагаются на визуальное понимание в режиме реального времени.
Развертывание моделей компьютерного зрения может показаться простым делом, но до сих пор на практике всё обстоит совсем иначе. Рассмотрим типичную схему: данные сначала собираются с помощью камер или датчиков, отправляются в модель для вычисления результатов, а затем возвращаются в приложение в виде прогнозов.
На самом деле каждый из этих этапов зачастую выполняется с помощью отдельных инструментов и сервисов. Одна система может отвечать за сбор данных, другая — за предоставление моделей, а для масштабирования, мониторинга и ведения журналов используются дополнительные инструменты. Обеспечение взаимодействия этих компонентов и их надежной работы может быстро стать сложной задачей.
По мере роста объёма использования эта сложность только усиливается. Управление инфраструктурой, решение проблем с зависимостями и обеспечение стабильной производительности на всем протяжении конвейера могут замедлить разработку и затруднить внедрение моделей компьютерного зрения в реальных приложениях.
Ultralytics объединяет все эти компоненты в единую среду. Это позволяет более слаженно управлять всем рабочим процессом развертывания, обеспечивая при этом высокую производительность и надежность в условиях масштабного развертывания.
Помимо унификации процесса развертывания моделей, Ultralytics также обеспечивает гибкость в способах развертывания и использования моделей.
Для поддержки различных этапов развертывания моделей компьютерного зрения платформа предлагает четыре варианта: тестирование в браузере с мгновенным вычислением, совместное вычисление через API для разработчиков, выделенные конечные точки для масштабируемого производственного развертывания в различных регионах мира, а также экспорт моделей для их запуска на внешней инфраструктуре или периферийных устройствах.
Давайте же подробнее рассмотрим, как работает каждый из этих вариантов.
Прежде чем внедрять модель в производственную среду, важно понять, как она работает с новыми, ранее не виденными данными. Ultralytics включает встроенную вкладку «Predict», которая позволяет выполнять инференцию прямо в браузере без каких-либо настроек, инфраструктуры или зависимостей.
Вкладка «Predict» позволяет быстро и интерактивно проверять модель. Вы можете загружать изображения, использовать готовые примеры или снимать входные данные с помощью веб-камеры, а вычисления выполняются автоматически, как только данные поступают.
Результаты отображаются мгновенно с визуальными наложениями, показателями достоверности и подробными выводами, что позволяет вам четко понять, как ведет себя модель.

Это означает, что всего за несколько кликов вы можете протестировать различные входные данные, настроить параметры и оценить производительность в рамках единого интерфейса, прежде чем приступить к развертыванию.
Предположим, вы обучили модель и проверили её на вкладке «Predict». Следующим шагом, как правило, является интеграция этой модели в приложение или рабочий процесс.
Вместо того чтобы настраивать инфраструктуру или управлять серверами, Ultralytics предоставляет общие службы инференции, которые позволяют отправлять данные в вашу модель и получать прогнозы через простые REST-API.
За кулисами совместное вычисление работает в многопользовательской системе, охватывающей несколько основных регионов, где запросы автоматически направляются на ближайший доступный сервис. Это позволяет обеспечить высокую отзывчивость системы и одновременно дать пользователям из разных регионов возможность стабильно получать доступ к моделям.
Вы можете отправлять входные данные с помощью стандартных HTTP-запросов и получать в ответ структурированные выходные данные, что упрощает интеграцию моделей с приложениями, скриптами или рабочими процессами автоматизации. Такая конфигурация отлично подходит для разработки, тестирования, интеграции или неинтенсивного использования перед переходом к более масштабируемым производственным развертываниям.
Как только модель готова к производственному использованию, она должна надежно и в больших объемах обрабатывать реальный трафик. Ultralytics обеспечивает это благодаря выделенным конечным точкам, где модели работают в режиме «один клиент на сервер» в 43 регионах по всему миру. Развертывание ближе к конечным пользователям помогает сократить задержку и обеспечить стабильную производительность в разных регионах.
Каждый конечный узел работает с собственными выделенными вычислительными ресурсами и уникальным URL-адресом для запросов на инференцию. Такой уровень контроля позволяет легко настраивать развертывания с учетом требований к производительности — от простых сценариев использования до более ресурсоемких приложений с высокой пропускной способностью, которым требуется больше вычислительных ресурсов.

Однако выделенные конечные точки способны самостоятельно справляться с изменяющейся нагрузкой благодаря функции автоматического масштабирования, которая корректирует ресурсы в зависимости от входящего трафика. Они увеличивают мощность в периоды высокого спроса и сокращают её при снижении нагрузки. Поскольку по умолчанию включена функция «масштабирования до нуля», простаивающие конечные точки автоматически отключаются и перезапускаются при поступлении новых запросов, что позволяет оптимизировать использование ресурсов без ручного вмешательства.
В настоящее время искусственный интеллект на периферии приобретает всё большее значение, поскольку всё больше приложений используют модели, запускаемые непосредственно на устройствах, таких как смартфоны, камеры и встроенные системы. Локальное выполнение моделей также помогает обеспечить соблюдение требований к конфиденциальности данных, поскольку конфиденциальные данные, такие как изображения или видеопотоки, могут обрабатываться непосредственно на устройстве без отправки на внешние серверы.
В таких случаях модели необходимо запускать за пределами Ultralytics , поэтому экспорт моделей становится ключевым этапом процесса развертывания.YOLO Ultralytics YOLO обычно обучаются с использованием Python PyTorch, а затем могут быть экспортированы в более чем 17 различных форматов, включая ONNX, TensorRT, CoreML и OpenVINO.
Такой широкий выбор форматов обеспечивает совместимость с различным оборудованием — от высокопроизводительных графических процессоров (GPU) до мобильных и встроенных устройств. Кроме того, экспорт данных позволяет оптимизировать производительность для конкретных сред.
В зависимости от формата модели могут демонстрировать более высокую скорость инференса, например, за счет повышения GPU с помощью TensorRT оптимизации CPU с помощью ONNX OpenVINO. Такие опции, как квантование FP16 и INT8, позволяют дополнительно уменьшить размер модели и повысить пропускную способность, что особенно полезно при развертывании на периферийных устройствах.
На Ultralytics функция экспорта интегрирована непосредственно в рабочий процесс, что позволяет быстро создавать оптимизированные модели всего за несколько кликов. Команды могут переходить от обучения к запуску моделей на внешних системах без дополнительной нагрузки.

Каждый вариант развертывания в Ultralytics предназначен для определенного этапа рабочего процесса — от раннего тестирования до эксплуатации в производственной среде. Ниже приведен обзор того, в каких случаях можно использовать каждый из них:
Команды часто проходят все эти этапы по порядку, переходя от валидации к интеграции и, наконец, к развертыванию в производственной среде — и всё это в рамках одной платформы.
Несмотря на всю важность развертывания, процесс разработки на этом не заканчивается. После того как модель запущена в производственной среде, постоянный мониторинг играет ключевую роль в обеспечении её стабильной работы на протяжении длительного времени.
Ultralytics предоставляет встроенные инструменты мониторинга, которые позволяют командам четко отслеживать поведение своих моделей искусственного интеллекта для обработки изображений в динамике, способствуя формированию более структурированного рабочего процесса в области операций машинного обучения (MLOps).
Страница «Развертывание» содержит панель мониторинга, на которой отображаются ключевые показатели, такие как общее количество запросов, количество активных развертываний, задержка ответа и частота ошибок. Эта аналитическая информация помогает командам понять особенности использования, оценить отзывчивость системы и обеспечить низкую задержку при обработке различных рабочих нагрузок.

Каждый выделенный конечный узел также обеспечивает подробный мониторинг с помощью отдельных представлений развертывания. Сюда входит доступ к журналам, информации о работоспособности модели и данным о производительности в режиме реального времени. Журналы можно использовать для устранения неполадок, отслеживания неудачных запросов и выявления потенциальных проблем, связанных с зависимостями или инфраструктурой.
По мере развития производственных сред такие факторы, как изменение входных данных, рост требований к масштабируемости или изменение моделей использования, могут влиять на точность и устойчивость моделей. Благодаря постоянному мониторингу показателей производительности команды могут detect , определять узкие места и принимать корректирующие меры, такие как оптимизация моделей или корректировка ресурсов, для обеспечения стабильной и надежной работы моделей.
Масштабирование систем компьютерного зрения традиционно предполагало объединение рабочих процессов и фреймворков, которые изначально не были рассчитаны на совместную работу. Конвейеры данных, циклы обучения, инфраструктура развертывания и системы мониторинга зачастую находятся в разных местах, что приводит к возникновению препятствий на каждом этапе.
Настоящая сложность заключается не просто в создании моделей, а в том, чтобы обеспечить их непрерывную работу. Речь идет о переходе от данных к производству, адаптации к новым входным данным, удовлетворении растущего спроса и постоянном совершенствовании без снижения темпов работы.
Отличительной особенностью Ultralytics является то, что этот процесс встроен в систему. Вместо того чтобы рассматривать каждый этап как отдельный шаг, платформа объединяет их в непрерывный цикл, в рамках которого модели можно разрабатывать, внедрять, отслеживать и обновлять в одной и той же среде.
Этот сдвиг меняет подход к масштабированию команд. Речь больше не идет о координации инструментов или инфраструктуры, а о поддержании динамики роста систем.
Для внедрения моделей машинного обучения, таких как модели компьютерного зрения, в реальные приложения необходимо, чтобы они были надежными, масштабируемыми и простыми в управлении. Ultralytics упрощает этот процесс, объединяя различные функции, такие как предоставление моделей, развертывание и мониторинг, в единую среду. Благодаря гибким вариантам развертывания и встроенным инструментам команды могут быстрее и с меньшими сложностями переходить от экспериментальной стадии к производственной.
Познакомьтесь с нашим сообществом и изучите наш репозиторий на GitHub, чтобы узнать больше. Посетите страницы с описанием наших решений, чтобы увидеть различные области применения, такие как ИИ в здравоохранении и компьютерное зрение в логистике. Ознакомьтесь с нашими вариантами лицензирования и начните разработку уже сегодня!
Начните свой путь в будущее машинного обучения