Чеклист для запуска Machine Learning  проекта

В этой заметке постараюсь раскрыть мысли по поводу необходимых шагов для старта проекта в области Machine Learning.

Необходимые данные

  1. Набор данных для обучения
    • Исторические данные — для обучения предсказательных моделей
    • Обучающая выборка — образцы того, что мы хотим найти/предсказать — для обучения модели
    • Достаточной глубины (с учетом сезонности и т. п. до нескольких лет)
    • Достаточного объема, репрезентативная выборка
  2. Набор данных для тестирования
    • Исторические данные — для тестирования предсказательных моделей
    • Тестовая выборка — для проверки качества модели
    • Достаточного объема, репрезентативная выборка
  3. Актуальные данные — материал для работы модели

Источники данных

  1. «Сырые» данные — логи разного рода, фотографии, аудиозаписи
  2. Структурированные данные — корпоративные системы, комплексные хранилища данных (КХД), системы управления контентом (ECM) в том числе метаданные
  3. Внешние данные
    • Открытые источники (соцсети , интернет)
    • Приобретаемые данные

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

  1. Деперсонализация — замена персональных идентификаторов на условные (хэширование, кодирование и т. п.)
    • Снижает категорию персональных данных
    • Облегчает обмен данными со сторонними организациями
    • Не решает проблему полностью
  2. Обфускация — искажение данных таким образом, чтобы снизить чувствительность, но сохранить полезность
    • Существенно снижает риски утечки или злоупотребления
    • Требует предварительного согласования в зависимости от использования данных

Теперь перейдем непосредственно к старту проекта. Для начала необходима стратегия работы, которую нужно определить заранее.

  1. Обеспечение наличия и доступности данных для произвольных задач
    • Сбор собственных данных
    • Сбор открытых данных
    • Приобретение чужих данных
  2. Экспериментальный подход к бизнесу (A/B тестирования и эксперименты как таковые)
  3. Использование своих и внешних ресурсов и инструментов

Обеспечение сбора и доступности данных — собственные данные

  • Постулирование ценности данных, независимо от возможности их немедленного использования
  • Переоценка полезности данных с учетом применения технологий BD/ML
    • Структрированные транзакционные
    • Неструктурированные
    • Логи и т. п.
  • Инвентаризация потоков данных, с учетом переоценки, пересмотр подхода к хранению данных
    • Форматы
    • Сроки

Обеспечение сбора и доступности данных — внешние данные

  1. Поиск внешних источников и поставщиков данных
  2. Создание и развитие механизмов сбора и «интеграции» внешних и внутренних данных
  3. Последовательная работа по оценке полезности внешних данных, включению их в повседневную деятельность

Экспериментальный подход к бизнесу

  1. Постепенный переход от субъективных экспертных оценок к объективным экспериментальным
  2. Формирование культуры эксперимента
    • Постоянное проведение экспериментов
    • Значительное внимание к дизайну экспериментов
    • Требование измеримых результатов

Необходимо помнить, что проекты в области Machine Learning, обладают рядом особенностей:

  1. Внимание на данные, а не на функции. Функционально решение крайне бедное, в общем случае реализуется одна функция
  2. Ограниченная применимость отработанных подходов внедрения, ориентированных на функции
  3. Вместо функционального ТЗ — требования к качеству модели
  4. Вместо опытной эксплуатации — эксперимент
  5. Во время промышленной эксплуатации необходима постоянная оценка и подстройка модели

Теперь переходим к самой главной части статьи. Жизненный цикл проекта в области Machine Learning:

  1. Определение целей, ограничений, критериев успеха — инициирование
  2. Определение требований к данным, доступности данных, получение образцов данных
  3. Определение формата результатов и способов использования результатов, детальное описание эксперимента, фиксация рамок проекта
  4. Передача и прием данных, препроцессинг, мэтчинг
  5. Построение, обучение, тестирование модели
  6. Экспериментальная проверка модели, опытная эксплуатация
  7. Интеграция модели в ИТ-инфраструктуру
  8. Эксплуатация решения, завершение проекта, промышленная эксплуатация и поддержка

Этап первый — Инициирование проекта

  1. Определение цели и критериев успеха в терминах бизнеса
  2. Оценка доступности данных
  3. Оценка реалистичности задачи
  4. Определение возможности и формы экспериментальной проверки
  5. Предварительное планирование

Этап второй- Определение требований к данным

  1. Инвентаризация доступных данных
  2. Номенклатура
  3. Образцы
  4. Объем
  5. Глубина
  6. Наличие обучающей выборки (при необходимости)

Оценка достаточности данных и возможности получения дополнительных данных. Определение чувствительности данных, возможности и формы их передачи, методов защиты и снижения чувствительности данных.

Этап третий- Определение формата результатов, фиксация рамок проектам

  1. Определение формата и способа использования результатов проекта
    • Данные — выгрузка / загрузка
    • Сервис по обработке данных
    • Результаты анализа данных
    • Модель как таковая (вместе со средой исполнения или отдельно)
  2. Детальное описание эксперимента
  3. Планирование проекта
  4. Фиксация рамок проекта, включающих все аспекты проекта

Этап четвертый- Передача и прием данных, препроцессинг, мэтчинг

  1. Определение способа передачи данных
    • По каналам связи
    • На носителях
  2. Препроцессинг
    • Обфускация
    • Деперсонализация
  3. Прием данных
    • Оценка соответствия соглашениям
    • Проверка полноты
  4. При необходимости мэтчинг данных из разных источников
    • Чем меньше обработаны и обфусцированы данные, тем проще мэтчинг
    • Определение технологий мэтчинга

Этап пятый- Построение, обучение, тестирование модели

С точки зрения управления этот этап «черный ящик». Что видно снаружи:

  1. Успешность приема данных, согласие с их достаточностью
  2. Определенность внутренних метрик качества
  3. Появление первой версии модели измеримого качества
  4. Повышение качества модели от версии к версии
  5. Соблюдение графика / отставание от графика

Этап шестой- Экспериментальная проверка модели

  1. Практическая реализация эксперимента
  2. Сбор данных в ходе эксперимента
  3. Расчет итогов
  4. Оценка результатов
  5. Решение о продолжении проекта / запуске сервиса

Этап седьмой- Интеграция модели в ИТ инфраструктуру

  1. Выбор способа интеграции
  2. Определение места размещения runtime части модели

Этап восьмой- Эксплуатация и поддержка модели

Определение Service Level Agreement (SLA)

Вот и все. Надеюсь эта информация поможет вам при запуске проектов в области Machine Learning.

Разговоры о Data Science – закрытый канал для общения на тему карьеры, развития профессиональных навыков и применения навыков на работе.

Share it

Если вам понравилась заметка - подписывайтесь на мой канал в телеграме https://t.me/renat_alimbekov


Интересные записи в этой рубрике: