kubeflow/trainer

Distributed AI Model Training and LLM Fine-Tuning on Kubernetes

Обучение⭐ 2 225Goпоследний релиз: v2.3.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Kubeflow Trainer — это нативный для Kubernetes инструмент для распределенного обучения AI-моделей и тонкой настройки LLM, объединяющий возможности HPC и Cloud Native подходов.

Зачем нужен

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

Что можно реализовать

  • Тонкая настройка (fine-tuning) больших языковых моделей (LLM) с использованием PyTorch, HuggingFace или DeepSpeed
  • Распределенное обучение моделей на базе JAX и XGBoost в масштабах кластера
  • Запуск HPC-нагрузок с использованием MPI Runtime для задач, требующих сверхбыстрой синхронизации между GPU-узлами
  • Оркестрация сложных AI-рабочих нагрузок через интеграцию с JobSet и LeaderWorkerSet

Ключевые возможности

  • Поддержка широкого спектра фреймворков: PyTorch, MLX, HuggingFace, DeepSpeed, JAX, XGBoost
  • Внедрение MPI в Kubernetes для эффективной оркестрации многоузловых задач
  • Распределенный кэш данных (Distributed Data Cache) с передачей данных без копирования (zero-copy) напрямую на GPU
  • Интеграция с Kueue и Volcano для планирования с учетом топологии и многокластерного диспетчеризации
  • Наличие Python SDK (v0.1) для разработки и управления TrainJob и Runtimes

👤 Кому подойдёт: ML-инженеры, Data Scientists и DevOps-специалисты, работающие с распределенным обучением моделей и LLM в Kubernetes-инфраструктуре

Релизы

v2.3.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Выпуск v2.3.0 с новым CRD OptimizationJob, механизмом снимков состояний и критическими изменениями в структуре CRD и финализаторах.

  • Breaking: Удалены финализаторы Runtime; CRD перенесены в директиву шаблонов Helm.
  • Added: Введен новый тип ресурса OptimizationJob CRD.
  • Added: Реализован механизм снимков состояний (runtime snapshot) для упрощения обновлений.
  • Added: Добавлена интеграция с Flux и автоматизация процесса релизов.
  • Added: MPI-лаунчер теперь зависит от готовности воркеров, а в PodSpecPatch добавлен terminationGracePeriodSeconds.
v2.2.1patch
🕐 3 мес назад · релиз на GitHub ↗

Релиз Kubeflow Trainer v2.2.1: исправления CI, обновление зависимостей Kubernetes и исправление ошибок в API и манифестах.

  • Fixed: Исправлена работа CI-инструмента git-cliff для генерации changelog и защиты от пустых имён пользователей.
  • Fixed: Устранена проблема с атомарным обновлением RuntimePatches при возобновлении работы в API.
  • Fixed: В манифестах теперь используются релизные версии образов JobSet и LWS.
  • Added: Обновлена версия Kubernetes-клиента до 0.36 для ветки release-2.2.
  • Fixed: Исправлен пример использования датасета SQuAD с учётом пространств имён.