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

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

Прототип

Цель прототипирования — решить, является ли приложение работоспособным и стоит ли развертывать его. На этом этапе допустимо рассмотреть ручную предварительную обработку данных. Делайте подробные заметки/комментарии. Процесс прототипирования должен включать следующие этапы:

1. Получить набор данных:

  • Определить список наборов данных, которые необходимы для проекта
  • Определить стратегию маркировки данных, собственные/аутсорсинговые/краудсорсинговые
  • Опишите другие наборы данных, которые, по вашему мнению, важны для этого проекта, особенно метаданные (данные о данных).

2. Определите базовый план. Базовый план – это простая модель, которая обеспечивает разумные результаты выполнения задачи и не требует большого опыта и времени для построения. Базовый уровень дает оценку неустранимой ошибки и указывает, что может быть возможно, а также помогает определить количество времени и усилий, необходимых для разработки окончательной модели. Также будет полезно уточнить необходимые данные и недостающие данные и даже потребности в оборудовании.

Способ установить базовый уровень:

  • Производительность на уровне человека (HLP)
  • Литературный поиск современного/открытого исходного кода
  • Быстрая и грязная реализация
  • Производительность старой системы

Общие базовые модели включают:

  • Линейная регрессия при прогнозировании непрерывных значений
  • Логистическая регрессия при классификации структурированных данных
  • Предварительно обученные сверточные нейронные сети для задач, связанных со зрением
  • Рекуррентные нейронные сети и деревья с градиентным усилением для моделирования последовательностей

3. Уточнить структуру аудита: проверить точность, объективность и предвзятость.

  • Подумайте, как система может пойти не так.
  • Производительность по подмножествам данных (например, этническая принадлежность, пол).
  • Преобладание конкретных ошибок/выходных данных (например, FP, FN).
  • Выступление на редких классах.
  • Установите метрики для оценки производительности в отношении этих проблем на соответствующих срезах данных.
  • Заручитесь поддержкой владельца бизнеса/продукта.

Развертывание

Развертывание — это итеративный процесс. Примите во внимание следующие моменты, чтобы завершить процесс развертывания:

1. Уточнить требования к разработке программного обеспечения и вопросы, связанные с разработкой службы прогнозирования.

  • В реальном времени или в пакетном режиме
  • Может против Edge/Браузера
  • Вычислительные ресурсы (ЦП/ГП/память)
  • Задержка, пропускная способность (QPS)
  • Ведение журнала
  • Безопасность и конфиденциальность

2. Уточните конвейер данных, чтобы убедиться, что данные воспроизводимы

  • Такие инструменты, как преобразование TensorFlow, луч Apache, Airflow и т. д.
  • Отслеживайте происхождение данных (откуда они поступают) и родословную (последовательность шагов)

3. Уточните тип развертывания:

  • Новый продукт/мощность
  • Автоматизация/помощь при ручном выполнении задач (теневое развертывание)
  • Замените предыдущую систему ML

4. Уточните шаблон развертывания:

  • Развертывание Canary
    Мониторинг системы и постепенное увеличение трафика.
  • Сине-зеленое развертывание
    Старую версию можно назвать синей средой, а новую — зеленой средой. При тестировании и развертывании в зеленой среде вы обеспечиваете бесперебойную работу синей среды для производственных пользователей до успешного развертывания и тестирования в зеленой среде.

Мониторинг

1. Исследуйте отклонение концепции и данных в соответствии с исследованием этапа производства.

2. Предоставить панель мониторинга

  • Показатели программного обеспечения
    – Память
    – Вычислительные ресурсы
    – Задержка
    – Пропускная способность
    – Загрузка сервера
  • Входные показатели
     – Средняя яркость изображения
     – Количество пропущенных значений
     – Средняя входная громкость
  • Показатели вывода
     – количество возвратов null
     – количество повторных поисков пользователем
     – количество переключений пользователя на ввод текста

Определение того, что есть y при изменении x

Критерии успеха

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

Ключевые метрики:

  • Показатели машинного обучения (точность, точность/отзыв и т. д.)
  • Показатели программного обеспечения (задержка, пропускная способность и т. д. с учетом вычислительных ресурсов)
  • Бизнес-показатели (доход и т. д.)

Ссылка:

Курс специализации MLOps, недавно разработанный DeepLearning.AI и Coursera.

Написано командой PhazeRo.

Хотите больше таких материалов, связанных с наукой о данных, дизайном и программным обеспечением? Следите за нами в Twitter, LinkedIn и подписывайтесь на нас в YouTube!