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

Контейнеризация

Узнайте, как контейнеризация упрощает развертывание ИИ. Узнайте, как использовать Docker и Kubernetes для стабильной работы Ultralytics в любой среде.

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

Почему контейнеризация важна для ИИ

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

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

Контейнеризация против виртуальных машин

Важно отличать контейнеры от виртуальных машин (ВМ). ВМ эмулирует весь аппаратный стек, включая полную гостевую операционную систему, что приводит к значительным затратам ресурсов и замедлению времени запуска. В отличие от этого, контейнеризация виртуализирует операционную систему, позволяя нескольким приложениям работать как изолированные процессы на одном общем ядре. Такое уменьшение занимаемого места делает контейнеры предпочтительным выбором для сценариев Edge AI, где аппаратные ресурсы ограничены, например на устройствах IoT или дронах. Для более глубокого технического сравнения ознакомьтесь с руководством Red Hat по контейнерам и ВМ.

Основные технологии

Несколько ключевых технологий составляют основу современной экосистемы контейнеров:

  • Docker: наиболее широко используемая платформа для создания, запуска и управления контейнерами. Ultralytics краткое руководство по Docker, которое поможет пользователям легко развернуть модели обнаружения объектов без ручной настройки среды.
  • Kubernetes: система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями. Она необходима для управления большими кластерами контейнеров в корпоративных MLOps- конвейерах.
  • Реестры контейнеров: такие сервисы, как NVIDIA Catalog, хранят и распространяют образы контейнеров, которые часто предварительно оптимизированы для конкретных задач, таких как обучение моделей с ускорением GPU .
  • Open Container Initiative (OCI): отраслевой стандарт, обеспечивающий совместимость форматов контейнеров и сред выполнения на разных платформах, разработанный Open Container Initiative.

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

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

  1. Умный город Наблюдение: Муниципалитеты внедряют системы управления дорожным движением с помощью подключенных к сети камер. Используя контейнеры, инженеры могут одновременно отправлять обновления программного обеспечения на тысячи периферийных устройств. Если новая модель обнаружения объектов повышает точность, контейнер обновляется по беспроводной сети, обеспечивая стабильную производительность во всей инфраструктуре города.
  2. Воспроизводимые исследования: в академических и промышленных исследованиях воспроизведение результатов имеет решающее значение. Путем публикации образа Docker, содержащего точные скрипты обработки данных обучения и архитектуру модели , исследователи гарантируют, что их коллеги-рецензенты смогут точно повторить эксперимент. Это жизненно важно для валидации достижений в области глубокого обучения (DL).

Пример: вывод в контейнере

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

from ultralytics import YOLO

# Load the YOLO26 model (weights are usually baked into the container image)
# YOLO26 is the latest state-of-the-art model for real-time tasks
model = YOLO("yolo26n.pt")

# Perform inference on an image URL
# In production, this might handle API requests or video streams
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Print the number of detected objects to the logs
print(f"Inference complete. Detected {len(results[0].boxes)} objects.")

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

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

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

Присоединиться сейчас