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

Kubernetes

Узнайте, как Kubernetes оптимизирует задачи ИИ/ML благодаря масштабируемому развертыванию моделей, распределенному обучению и эффективному управлению ресурсами.

Kubernetes, часто сокращенно называемая K8s, - это система оркестровки контейнеров с открытым исходным кодом, которая автоматизирует развертывание, масштабирование и управление контейнерными приложениями. Изначально она была разработана инженерами Google , а теперь поддерживаемая Cloud Native Computing Foundation (CNCF), Kubernetes превратилась в отраслевой стандарт для управления отказоустойчивыми распределенными программными системами. В быстро развивающихся областях искусственный интеллект (ИИ) и машинного обучения (ML), он служит в качестве фундаментальным инфраструктурным слоем, позволяющим инженерным командам эффективно управлять полным жизненным циклом сложных моделей от экспериментальной разработки до крупномасштабного производства.

Основные концепции и архитектура

По своей сути Kubernetes управляет кластером вычислительных машин, известных как узлы, на которых выполняются контейнерные рабочие нагрузки. Он в значительной степени опирается на контейнеризацию -технологию которая упаковывает код вместе с его зависимостями, чтобы обеспечить стабильную работу приложений в различных средах. средах. Kubernetes вводит такие абстракции, как "капсулы", которые представляют собой наименьшие развертываемые единицы, и "развертывания", которые поддерживают желаемое состояние приложения. Отделяя программное обеспечение от от базового оборудования, это позволяет инженерам по компьютерному зрению сосредоточиться на производительности модели а не на обслуживании серверов, используя такие управляемые сервисы, как Amazon EKS или Google Kubernetes Engine (GKE).

Kubernetes в ИИ и машинном обучении

Для Для операций машинного обучения (MLOps) Kubernetes незаменим, поскольку он решает важнейшую задачу масштабируемости. Современные рабочие нагрузки ИИ, особенно те, которые связанные с глубоким обучением, требуют значительных вычислительных ресурсов. Kubernetes облегчает распределенное обучение за счет интеллектуального планирования заданий обучения на нескольких узлах, оснащенных графическими процессорами (GPU). На этапе развертывания модели K8s обеспечивает высокую доступность API для выводов, автоматически увеличивая или уменьшая количество запущенных капсул в зависимости от требований трафика в реальном времени. K8s обеспечивает высокую доступность на этапе развертывания модели, автоматически масштабируя количество работающих капсул в зависимости от потребностей трафика в реальном времени, что оптимизирует производительность и стоимость.

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

  1. Мониторинг дорожного движения в "умном городе": Администрация города устанавливает Ultralytics YOLO11 модель для анализа транспортного потока и detect заторов в режиме реального времени. Приложение контейнеризировано и оркестрировано на кластере Kubernetes. Используя . Horizontal Pod Autoscaler, система обнаруживает всплески данных видеопотока в часы пик и автоматически устанавливает дополнительные подсистемы вывода стручков. Это обеспечивает бесперебойную услуги по обнаружению объектов, не требуя ручного выделения серверов.
  2. Визуальный поиск в электронной коммерции: Интернет-магазин внедряет рекомендательную систему, которая позволяет пользователям искать товары по изображениям. Конвейер состоит из отдельных микросервисов для предварительной обработки изображений, извлечения признаков и поиска в векторной базе данных. извлечения признаков и поиска по векторной базе данных. Kubernetes оркеструет эти компоненты, позволяя команде разработчиков функций обновлять модель извлечения независимо от поискового индекса, обеспечивая гибкость и стабильность системы в производственной среде. производственной среде.

Различение родственных технологий

Полезно понять, чем Kubernetes отличается от других распространенных инфраструктурных инструментов:

  • Kubernetes против Docker: Docker - это инструмент используемый для создания и запуска отдельных контейнеров, в то время как Kubernetes - это оркестратор, который управляет этими контейнерами на множестве машин. Как правило, разработчики используют Docker для создания образы нейросетевых приложений, а затем полагаются на Kubernetes для их масштабного запуска.
  • Kubernetes против бессерверных вычислений. Бессерверные вычисления: Бессерверные платформы, такие как AWS Lambda, абстрагируются от всего управления инфраструктурой управления инфраструктурой, что делает их идеальными для функций, управляемых событиями. В отличие от них, Kubernetes обеспечивает детальный контроль над сетями, хранилищами и распределением ресурсов, что часто необходимо для приложений с длительным периодом работы и состоянием или сложных архитектурах обслуживания моделей.

Инструменты и экосистема

Экосистема Kubernetes очень обширна, включая такие инструменты, как Helm для управления пакетами и Prometheus для мониторинга состояния кластера. Для специализированных рабочих процессов ML платформы такие как Kubeflow, работающие поверх Kubernetes для оптимизации сквозных конвейеров. Заглядывая в будущее, можно сказать, что готовящаяся платформаUltralytics Platform призвана еще больше упростить эти процессы, предлагая комплексную среду для управления данными и обучения моделей, которая абстрагируясь от сложностей базовой инфраструктуры.

Пример: Сценарий вывода для контейнеризации

Чтобы развернуть модель на Kubernetes, вам сначала понадобится скрипт, выполняющий вывод. Этот фрагмент на Python демонстрирует загрузку модели YOLO11 , которая затем может быть упакована в контейнер Docker и запланирована в K8s.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image source
# This script would typically run inside a Kubernetes Pod
results = model("https://ultralytics.com/images/bus.jpg")

# Print the detected class names
for result in results:
    for cls_id in result.boxes.cls:
        print(f"Detected: {result.names[int(cls_id)]}")

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

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

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