ML MetaData: контроль версий для машинного обучения

3 мин на чтение

Оригинал

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

  • На каком наборе данных была обучена эта модель?
  • Какие гиперпараметры использовались?
  • Какой конвейер использовался для создания этой модели?
  • Какая версия TensorFlow (и других библиотек) использовалась для создания этой модели?
  • Что заставило эту модель потерпеть неудачу?
  • Какая версия этой модели была развернута в последний раз?

Инженеры Google на основе многолетнего с трудом накопленного опыта узнали, что эта история и отслеживание артефактов машинного обучения намного сложнее, чем простая линейная поледовательность. Вы используете Git (или аналогичный инструмент) для отслеживания своего кода; вам нужно что-то для отслеживания ваших моделей, наборов данных и т. д. Git, например, может значительно упростить вашу жизнь, но под капотом скрывается целая сеть! Сложность кода машинного обучения и артефактов, таких как модели, наборы данных и многое другое, требует аналогичного подхода.

Вот почему мы создали метаданные машинного обучения (MLMD). Это библиотека для отслеживания всей линии вашего рабочего процесса машинного обучения. Полная история - это все этапы приема данных, предварительной обработки данных, проверки, обучения, оценки, развертывания и т. Д. MLMD - это отдельная библиотека, которая интегрирована в TensorFlow Extended. Также мы сделали демонстрационный ноутбук, чтобы увидеть, как вы можете прямо сейчас интегрировать MLMD в свою инфраструктуру машинного обучения.

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

Вот как MLMD может вам помочь:

  • Если вы инженер машинного обучения: вы можете использовать MLMD, чтобы отследить плохие модели до их набора данных или отследить от плохого набора данных к моделям, которые вы на нем обучили, и так далее.
  • Если вы работаете в инфраструктуре машинного обучения: вы можете использовать MLMD для записи текущего состояния вашего конвейера и включения оркестрации на основе событий. Вы также можете включить оптимизацию, такую ​​как пропуск шага, если входные данные и код совпадают, запоминая шаги в ваших конвейерах. Вы можете интегрировать MLMD в свою систему обучения, чтобы он автоматически создавал журналы для последующих запросов. Мы обнаружили, что автоматическое ведение журнала всей истории как побочный эффект обучения - лучший способ использовать MLMD. Тогда у вас будет полная история без дополнительных усилий.

MLMD - это больше, чем исследовательский проект TFX. Это ключевая основа для множества внутренних решений MLOps в Google. Кроме того, Google Cloud интегрирует такие инструменты, как MLMD, в свою основную платформу MLOps:

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

Хотите знать, откуда берутся ваши модели? Какие обучающие данные использовались? Обучал ли кто-нибудь модель на этом наборе данных, и была ли его производительность лучше? Есть ли какие-нибудь испорченные наборы данных, которые нам нужно очистить после?

Если вы хотите ответить на эти вопросы для своих пользователей, ознакомьтесь с MLMD на github, в составе TensorFlow Extended или в нашем демонстрационном ноутбуке.