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

Подготовка и поддержание качественных данных для обучения моделей машинного обучения; Отслеживание моделей в производстве для обнаружения снижения производительности; Проведение текущих экспериментов с новыми источниками данных, алгоритмами машинного обучения и гиперпараметрами, а затем отслеживание этих экспериментов; Поддержание достоверности моделей за счет постоянного их переобучения на свежих данных; Предотвращение перекосов при обслуживании обучения, которые возникают из-за несогласованности данных и зависимостей времени выполнения между средами обучения и средами обслуживания; Решение проблем, связанных с честностью модели и атаками противника;

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

MLOps - это процесс внедрения экспериментальной модели машинного обучения в производственную систему. Это слово является сочетанием «машинного обучения» и практики непрерывного развития DevOps в области программного обеспечения. Модели машинного обучения тестируются и разрабатываются в изолированных экспериментальных системах.

  • Основным видом деятельности на этом этапе разработки машинного обучения являются эксперименты. Как специалисты по обработке данных и исследователи машинного обучения создают прототипы архитектур моделей и программ обучения, они создают помеченные наборы данных и используют функции и другие повторно используемые артефакты машинного обучения, которые регулируются в процессе управления данными и моделями. Основным результатом этого процесса является формализованная процедура обучения, которая включает в себя предварительную обработку данных, архитектуру модели и настройки обучения модели.
  • Если для системы машинного обучения требуется непрерывное обучение (повторное обучение модели), процедура обучения реализуется как конвейер обучения. Для этого требуется процедура CI / CD для создания, тестирования и развертывания конвейера в целевой среде выполнения.
  • Конвейер непрерывного обучения выполняется повторно на основе триггеров переобучения, и на выходе он создает модель. Модель переобучается по мере поступления новых данных или при обнаружении снижения производительности модели. Также отслеживаются другие обучающие артефакты и метаданные, создаваемые обучающим конвейером. Если конвейер создает успешного кандидата в модель, этот кандидат затем отслеживается процессом управления моделью как зарегистрированная модель.
  • Зарегистрированная модель аннотируется, проверяется и утверждается для выпуска, а затем развертывается в производственной среде. Этот процесс может быть относительно покрыт, если мы используем решение без кода, или он может включать создание настраиваемого конвейера CI / CD для прогрессивной доставки.

Если обобщить, выполнение машинного обучения в производственной среде подразумевает не только развертывание модели в качестве API для прогнозирования. В среднем это означает развертывание конвейера машинного обучения, который может автоматизировать переобучение и развертывание новых моделей. Настройка системы CI / CD позволяет автоматически тестировать и развертывать новые реализации конвейера. Эта система позволяет нам справляться с быстрыми изменениями данных и деловой среды. Нам не нужно сразу переводить все процессы с одного уровня на другой. Мы можем постепенно внедрять эти методы, чтобы помочь улучшить автоматизацию разработки и производства систем машинного обучения.