Разворачиваем ИИ в контейнерах: опыт интеграции LocalAI и Kubeflow

Разворачиваем ИИ в контейнерах: опыт интеграции LocalAI и Kubeflow

Мы — команда dBrain.cloud — делимся опытом внедрения ИИ-сервисов на нашей платформе контейнеризации. Искусственный интеллект активно встраивается в цифровые продукты — от аналитики до клиентских приложений. Перед нами встал вопрос: как обеспечить надежную и масштабируемую инфраструктуру для запуска как готовых, так и собственных ИИ-моделей?

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

LocalAI: универсальный инструмент для запуска моделей

LocalAI — это open-source платформа, позволяющая легко запускать разнообразные ИИ-модели в контейнерах. С её помощью пользователи могут работать с:

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

Платформа поддерживает разные бэкенды, включая GPU-ускорение и CPU-режим, что позволяет гибко управлять ресурсами. Важное преимущество — локальный endpoint, совместимый с OpenAI API. Это упрощает интеграцию для разработчиков.

В dBrain.cloud мы используем LocalAI как инструмент для быстрого развёртывания сторонних моделей. Интеграция заняла минимум времени — потребовалась лишь адаптация манифестов под наши шаблоны деплоя.

Наши клиенты уже применяют LocalAI на практике. Например, одна команда использует QwenAI для авторазметки видео и WhisperAI для анализа аудио. Другой клиент развернул ИИ-помощника в корпоративном мессенджере. LocalAI экономит время и ресурсы, обеспечивая простой доступ к готовым моделям.

Kubeflow: построение MLOps-платформы

Kubeflow — это полноценная платформа для работы с ИИ-моделями на Kubernetes. Она охватывает весь цикл: от разработки и обучения до развертывания и управления. В отличие от LocalAI, внедрение Kubeflow оказалось сложной задачей из-за большого количества компонентов, зависимостей и специфики настройки.

Мы интегрировали ключевые модули Kubeflow:

  • KServe — хостинг и управление моделями,
  • Trainer — обучение и оптимизация,
  • Notebooks — тестирование и дообучение,
  • Katib — подбор гиперпараметров,
  • Model Registry — внутренний реестр моделей,
  • Pipelines — автоматизация обработки данных и обучения,
  • Dashboard — визуализация и управление.

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

Этапы интеграции Kubeflow

  • Анализ манифестов и адаптация под внутренние шаблоны деплоя.
  • Замена стандартных сервисов Kubeflow на собственные решения.
  • Настройка взаимодействия между компонентами для стабильной работы.

KServe: выбор между Knative и Standard режимом

Особое внимание потребовал выбор режима работы KServe: Knative или Standard.

Knative mode предлагает event-driven масштабирование: сервисы могут «засыпать» при отсутствии нагрузки и быстро восстанавливаться. Также поддерживаются ревизии, разделение трафика и канареечные релизы. Однако архитектура усложняется: добавляются Knative, Istio или Kourier, queue-proxy в подах и дополнительные сетевые слои. Это повышает операционную сложность и число точек отказа.

Мы выбрали Standard mode — он использует стандартные Kubernetes-ресурсы: Deployment и Service. Масштабирование работает через HPA (или KEDA). Такой подход проще в эксплуатации, предсказуем и не требует развёртывания дополнительного стека.

Миграция на Gateway API

Standard mode KServe требует использования Gateway API. Ранее мы использовали Ingress, но поддержка Ingress-nginx была приостановлена. Мы поняли, что миграция на другой ingress-контроллер — временное решение, и решили перейти на Gateway API как на новой стандарт для Kubernetes.

Поскольку KServe в Standard mode несовместим с Ingress, пришлось провести полную миграцию всех сервисов. Точечная настройка была невозможна — потребовался комплексный переход.

Итоги

Интеграция Kubeflow превратила dBrain.cloud в полноценную MLOps-платформу для разработки и эксплуатации ИИ-моделей на корпоративном уровне.

Сейчас платформа поддерживает любой формат ИИ-решений: от запуска готовых моделей через LocalAI до полного цикла разработки с Kubeflow. Это делает её универсальной средой — как для новичков в ИИ, так и для команд, активно создающих собственные нейросети.

Внедрение LocalAI и Kubeflow стало логичным шагом в развитии dBrain.cloud. В совокупности с нашей инфраструктурой это создаёт гибкую и надёжную экосистему для разработки, тестирования и запуска ИИ-систем любого масштаба.

Читать оригинал