Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Применение Machine Learning в проектах

Применение Machine Learning в проектах

Докладчик Владимир Цимбол, Data Scientist

Бындюсофт

August 30, 2021
Tweet

More Decks by Бындюсофт

Other Decks in Technology

Transcript

  1. End-to-end ML workflow Get data Prepare data Train model Evaluate

    model Problem statement MVP Solution development Test & Integrate Serving Monitoring & Logging Start
  2. Постановка задачи / MVP Или с чего все обычно начинается

    1. Определяем метрики, технические ограничения. 2. Определяем способ решения. 3. Создаем первую реализацию, оцениваем метрики. 4. Оцениваем риски. 5. Понимаем во сколько оценить задачу.
  3. Подробнее об оценке Или почему оценку стоит умножить на 9!

    Основные моменты, на которые необходимо обратить внимание: • Наличие данных у заказчика, их качество. • Платформа, на которой мы запустим решение. • Требования по точности и производительности. • Наличие примеров реализации похожих задач. • Наличие наработок с нашей стороны. • Требования к железу для разработки. • Инфраструктура. • Ожидания заказчика, сопротивление внедрению
  4. Понятие эксперимента Эксперимент — процедура проверки и опровержения гипотез. У

    эксперимента есть цель, план, критерии принятия или опровержения гипотез, данные и ожидаемые результаты. Эксперимент, разбитый на этапы, с указанием последовательности исполнения, называется пайплайном.
  5. Обучение Основные этапы и инструменты Под обучением понимаем запуски пайплайнов

    для проверки различных гипотез в поисках лучшего решения поставленной задачи. Этапы: 1. Получаем данные. 2. Подготавливаем данные. 3. Обучаем. 4. Валидируем. Все просто и понятно, но...
  6. Основные требования к пайплайну и проведению экспериментов Или как испортить

    все с самого начала Хорошая практика: запуск пайплайна — проверка одной гипотезы иначе не определить влияние на результат. И самое главное — эксперименты воспроизводимы, пайплайн покрыт тестами... ...и data scientist, понимающий как разрабатываемое решение принесет пользу заказчику.
  7. Воспроизводимость Что это и почему так важно Под воспроизводимостью понимаем

    достижение решением текущих метрик при повторении всех предыдущих шагов. Воспроизводимость — основное требование эксперимента и одна из основ научного метода познания. “non-reproducible single occurrences are of no significance to science” - Карл Поппер, Логика научного исследования, 1959
  8. Воспроизводимость Достигается за счет: 1. Автоматизации пайплайна. 2. Сохранения всех

    экспериментов: артефакты, конфиги, параметры запуска. 3. Отслеживания последовательности запусков. 4. Версионирования пайплайна и данных. 5. Версионирования артефактов. 6. Контроля окружения. 7. Начальной инициализации слоев, генераторов случайных чисел, алгоритмов и т.д. Инструменты: DVC, MLflow, Docker.
  9. Тесты Покрываем тестами пайплайн. Ошибки в расчете метрик, аугментации, обработке

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

    этап Требование к пайплайну — удобство R&D. Требование к коду для Production — скорость при имеющихся ресурсах. Поэтому часто все этапы решения переносятся на другой фреймворк, который будет использоваться для запуска на целевой платформе.
  11. Деплоим на целевую платформу На что обратить внимание при разработке:

    1. Отсутствие соответствия вывода алгоритмов на разных фреймворках — тесты на бинарное соответствие. 2. Фреймворк не содержит реализации используемых слоев, функций и т.д. — предусмотреть до обучения как и на чем будем запускать/оценить время на написание собственных реализаций. 3. Версии библиотек, фреймворков — до обучения проверить, какая версия доступна на платформе и использовать ее.
  12. Выкатываем в production Цель данного этапа — зарелизить и не

    потерять доверие заказчика к решению. Основные меры для снижения рисков до релиза: - Unit тесты + тесты на бинарное соответствие. - Валидация на тестовых данных перед выкаткой. Меры после релиза: - мониторинг: ресурсы, производительность, валидация выдаваемых значений (если возможно). - валидирование вручную результатов, оценка корректности работы - смотрим в данные и результаты.
  13. И немного про CI/CD Примеряем роль MLOps`а Основные трудности: -

    Разнообразие платформ и подходов. - Зависимости от сторонних библиотек. - Версионирование, хранение артефактов. - Тесты, валидация. - Аппаратные зависимости.
  14. Проблема доверия «Не верю!» Доверие заказчика к решению надо заслужить

    и поддерживать: • Работа с ожиданиями • Прозрачность • Предсказуемость • Готовность к изменениям мира
  15. Как упростить жизнь Ничего нового 1. Постараться учесть все в

    оценке. 2. Поддерживать прозрачность. 3. Управлять рисками. 4. Копить знания.