Введение в непрерывную интеграцию и доставку для машинного обучения

CI/CD для машинного обучения

Ravi Bhadauria

Machine Learning Engineer

Обзор SDLC

  • SDLC: жизненный цикл разработки программного обеспечения
  • Системный подход, охватывающий разработку ПО от начала до конца
  • Рабочий процесс SDLC — последовательность шагов для достижения конкретных целей:
    • Сборка: компиляция и/или упаковка кода, разрешение зависимостей
    • Тестирование: проверка функциональности, качества и надёжности кода
    • Развёртывание: процесс предоставления ПО в конкретной среде

  Граф зависимостей этапов рабочего процесса SDLC. Первый шаг — сборка, затем тестирование и развёртывание.

CI/CD для машинного обучения

SDLC в машинном обучении

  • Разработка ML-решений может быть сложной и длительной
    • Модель — это алгоритм, который динамически обновляется
    • Инженерия данных играет важную роль
  • Непрерывная интеграция и доставка сокращают количество ошибок и ускоряют выпуск качественного ML-ПО
  • Необходимы для эффективного машинного обучения и проведения экспериментов
1 https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
CI/CD для машинного обучения

Что такое CI/CD?

  • Непрерывная интеграция (CI): практика регулярной сборки, тестирования и слияния изменений кода в общий репозиторий
  • Позволяет разработчикам выявлять проблемы интеграции на ранних этапах и поддерживать стабильность кодовой базы
  • Непрерывная доставка (CD): обеспечивает возможность развёртывания изменений в рабочей среде в любой момент, но требует ручного подтверждения
  • Непрерывное развёртывание (CD): автоматически переносит изменения кода в рабочую среду без участия человека
CI/CD для машинного обучения

CI/CD в машинном обучении

  • Зависимость от данных: стратегии версионирования и управления данными
  • Эксперименты: автоматизация подбора гиперпараметров
  • Версионирование моделей: улучшение совместной работы
  • Парадигма тестирования: выходит за рамки традиционного функционального и модульного тестирования
  • Сложности непрерывного развёртывания: обслуживание моделей, мониторинг и обновления
CI/CD для машинного обучения

Область применения курса

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

CI/CD для машинного обучения

Итоги

  • Рабочий процесс SDLC включает сборку, тестирование и развёртывание кода
  • Непрерывная интеграция (CI) обеспечивает регулярное слияние кода и раннее выявление проблем
  • Непрерывная доставка (CD) позволяет развёртывать изменения с ручным подтверждением
  • Непрерывное развёртывание (CD) автоматизирует выпуск кода без участия человека
  • CI/CD в машинном обучении позволяет реализовать
    • Версионирование данных
    • Сборку и версионирование моделей
    • Автоматизацию экспериментов
    • Тестирование
    • Развёртывание
CI/CD для машинного обучения

Давайте потренируемся!

CI/CD для машинного обучения

Preparing Video For Download...