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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В следующем списке представлены проверенные подходы к разработке программных систем с компонентами машинного обучения (ML).Список составлен на основе консультаций с командами ML-разработчиков и анализа соответствующей научной и внеиздательской литературы. Мы непрерывно ведем глобальный опрос команд ML-разработчиков, чтобы оценивать степень внедрения этих подходов в реальные проекты.Собранные подходы сгруппированы по шести категориям, изображенным на схеме выше, и перечислены в списке ниже.Каждому подходу поставлены в соответствие сложность, эффекты от его внедрения и реализуемые с его помощью требования к достоверности моделей ML.

Данные

«Кто контролирует конвейер данных, тот контролирует и производственный конвейер для машинного обучения». — Чип Хьюэн (Chip Huyen)

  • Проверка всех внешних источников данных на здравый смысл

  • Проверка входных данных на полноту, сбалансированность и равномерное распределение

  • Проверка тренировочных данных на социальные предубеждения

  • Написание многоразовых скриптов для очистки и слияния данных

  • Разметка данных в рамках жестко контролируемого процесса

  • Исключение дискриминационных атрибутов данных из числа признаков модели

  • Применение методологий конфиденциального машинного обучения

  • Обеспечение доступности наборов данных в общей инфраструктуре (частной или публичной)

Обучение

«Даже многократно проведенный эксперимент не сможет подтвердить мою правоту, а доказать, что я не прав, можно и одним экспериментом». — Альберт Эйнштейн

  • Четкая формулировка цели обучения и донесение этой цели до всех участников команды

  • Оценка цели обучения посредством легко измеримых и наглядных показателей

  • Тестирование всего кода для извлечения признаков

  • Назначение владельца каждому признаку и документирование его обоснования

  • Активное удаление или архивация неиспользуемых признаков

  • Применение интерпретируемых моделей в любой подходящей ситуации

  • Независимая экспертиза скриптов обучения

  • Проведение экспериментов с параллельным обучением

  • Автоматизация генерации и отбора признаков

  • Автоматизация оптимизации гиперпараметров

  • Автоматизация конфигурации алгоритмов или структуры модели

  • Непрерывная оценка качества и эффективности модели

  • Оценка и контроль предубеждений в подгруппах

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

  • Уведомление команды о статусе и результатах экспериментов

Код

«В настоящее время нельзя считаться экспертом в области ИИ без фундаментальных навыков программной инженерии». — Грейди Буч (Grady Booch)

  • Выполнение автоматизированных регрессионных тестов

  • Применение системы непрерывной интеграции

  • Проверка качества кода методом статического анализа

  • Контроль безопасности приложений

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

«Если ваша модель не развернута в производственной среде, разве можно сказать, что она существует?» — Аноним

  • Автоматизация развертывания модели

  • Реализация теневого развертывания

  • Непрерывный мониторинг поведения развернутых моделей

  • Выполнение проверок на отклонение результатов работы модели в разных средах

  • Реализация автоматического отката моделей в производственной среде

  • Протоколирование прогнозов производственных моделей с указанием версии модели и входных данных

  • Внедрение аудиторских следов

Команда

«Чтобы идти быстро, отправляйтесь в одиночку; но чтобы зайти далеко, идите вместе». — Африканская пословица (предположительно)

  • Применение платформы для совместной разработки

  • Ведение общего списка невыполненных работ

  • Налаживание коммуникаций, согласование и совместное выполнение работ с другими участниками команды

  • Выбор альтернатив посредством четко обозначенного внутрикомандного процесса

Управление

«Там, где большая власть, там и большая ответственность». — Уинстон Черчилль

  • Следование ценностям «этики ИИ»

  • Проведение оценок риска

  • Принудительное соблюдение принципов справедливости и конфиденциальности

  • Информирование пользователей об использовании машинного обучения

  • Объяснение результатов и решений пользователям

  • Предоставление безопасных каналов для неудобных вопросов

  • Проведение аудита вашего приложения


Материал подготовлен в рамках курса «MLOps».

Всех желающих приглашаем на бесплатный интенсив «end2end Fraud Detection». На занятии мы:
- Cформулируем бизнес цели и метрика проекта.
- Загрузим данные в HDFS и проведем разведывательный анализ данных с помощью spark.
- Выстроим каскад метрик, формулируем задачу для ML.
- Обучим модель и проверяем гипотезы по улучшению качества.
- Автоматизируем переобучение на новых данных и сохранение артефактов с помощью Airflow и MLFlow.
>> РЕГИСТРАЦИЯ

Источник: https://habr.com/ru/company/otus/blog/593015/


Интересные статьи

Интересные статьи

В жару хочется уехать подальше от раскаленного города. С путешествиями все непросто: непонятно как, куда, когда… но хотя бы можно определиться — с чем.  У ...
В этом статье я покажу, как для React-компонентов реализовать один из подходов на основе сущностей и их составляющих. Описываемый подход используется для решения той же п...
Начав экспериментировать с Kubernetes, многие сталкиваются с одним из самых больших заблуждений: они считают в проде K8s будет работать так же, как и в среде разработки или тестирован...
Я много писал о проектах компьютерного зрения и машинного обучения, таких как системы распознавания объектов и проекты распознавания лиц. У меня также есть опенсорсная библиотека распознавания ли...
Сегодня мы представляем вашему вниманию первую часть перевода материала, который посвящён разработке крупномасштабных React-приложений. При создании одностраничного приложения с помощью React оче...