Глоссарий

Kubernetes

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

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

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

Ключевые особенности Kubernetes

Kubernetes предоставляет широкий спектр возможностей, которые упрощают управление сложными приложениями в распределенных средах:

  • Оркестровка контейнеров: Kubernetes автоматически составляет расписание и управляет контейнерами в кластере машин, обеспечивая оптимальное использование ресурсов.
  • Масштабирование: Kubernetes поддерживает как ручное, так и автоматическое масштабирование приложений на основе CPU, памяти или пользовательских метрик.
  • Самовосстанавливающийся: Он следит за здоровьем приложений и автоматически перезапускает или заменяет вышедшие из строя контейнеры, чтобы поддерживать стабильность системы.
  • Балансировка нагрузки: Kubernetes распределяет сетевой трафик между несколькими контейнерами, чтобы обеспечить высокую доступность и надежную производительность.
  • Управление хранилищем: Он поддерживает различные бэкграунды хранения данных, такие как локальные хранилища, облачные хранилища и сетевые файловые системы, чтобы удовлетворить потребности приложений.

О введении в контейнеризацию читай на странице глоссария Docker.

Kubernetes в искусственном интеллекте и машинном обучении

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

Пример 1: Обучение модели машинного обучения

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

Пример 2: Развертывание модели

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

Kubernetes по сравнению с другими технологиями

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

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

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

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

  • Здравоохранение: Kubernetes позволяет развертывать модели анализа медицинских изображений, например, описанные в статье " Анализ медицинских изображений", обеспечивая масштабируемость и надежность при обработке больших массивов данных.
  • Автономные транспортные средства: Kubernetes поддерживает масштабируемое развертывание приложений в конвейерах автономных автомобилей, таких как те, что описаны в AI для самодвижущихся машин.
  • Розничная торговля: В розничной торговле Kubernetes использует модели обнаружения объектов в реальном времени, например Ultralytics YOLO для оптимизации управления запасами и повышения качества обслуживания покупателей.

Начало работы с Kubernetes

Для тех, кто заинтересован в использовании Kubernetes для ИИ-проектов, такие инструменты, как Ultralytics HUB, хорошо интегрируются с Kubernetes для беспроблемного обучения и развертывания моделей. Кроме того, такие платформы, как Google Kubernetes Engine (GKE) и Amazon Elastic Kubernetes Service (EKS), упрощают управление кластером Kubernetes.

Чтобы узнать больше о развертывании моделей ИИ в масштабе, изучи руководство по вариантам развертывания моделей.

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

Читать полностью