Post #160
584

🤘 На model.fit() ML-задача не заканчивается
Когда изучаешь ML, очень легко привыкнуть примерно к такому процессу:
взяли датасет - сделали split - обучили модель - посчитали метрики - готово
Для учебной задачи - да. Но на реальной работе обучение - это только один из этапов очень большого процесса жизненного цикла мл модели.
Поговорим про lifecycle и из каких details он состоит:
• Бизнес-задача
Начинаем не с моделей и даже не с данных, а с бизнесовой проблемы, что хотим улучшить, какую боль закрыть. Например, увеличить retention или уменьшить количество фрода.
Потом переводим задачу в мл термины: классификация, регрессия и тд.
• ML System Design
Этот шаг многие пропускают, но он очень важен, потому что если еще до начала решения задачи не продумать риски, ограничения и критерии успеха - можно несколько недель очень хорошо решать не ту задачу)
Тут прописываем, что именно предсказываем, какие данные доступны, какие метрики важны, какие есть ограничения, как решение потом будет работать в проде.
• Данные
Собираем источники, формируем target, размечаем данные, препроцессинг, EDA.
Очень аккуратно делаем train/validation/test split, потому что здесь легко получить data leakage и увидеть прекрасные offline-метрики, которые потом превратятся в красный А/Б тест.
Ну и помним про народную мудрость:
поэтому работа с данными одна из самых важных и трудозатратных в рутине мл-инженера
• Baseline и эксперименты
Начинаем не с самого большого трансформера!
Сначала простое решение или вообще эвристика без мл, потом более сложные модели, feature engineering, подбор гиперпараметров.
• Offline validation
Замеряем метрики, выбираем лучшую модель на отложенных данных. Проверяем, что решение действительно лучше бейзлайна.
• Deploy и inference
Модель нужно где-то развернуть, встроить в уже существующие сервисы, уметь держать нагрузку, обрабатывать большое количество новых данных.
Важный блок, по которому и на собесах могут спрашивать - его подробнее разложу по полочкам в следующих постах.
• A/B тест
Проверяем уже не только roc-auc, а бизнесовые метрики - деньги, retention и вообще насколько что-то поменялось для продукта.
• Мониторинг, логирование и новая итерация
Следим за качеством модели и сервиса, собираем новые данные, переобучаем модель и цикл замыкается))
Недавно мы подробно разбирали весь lifecycle на групповом созвоне внутри менторства: со схемой, примерами, вопросами про data leakage и тд.
Жизненный цикл ML-модели - поделился записью на бусти 🤘
А следующим постом разберу спорный вопрос, который постоянно возникает у начинающих: сколько MLOps вообще должен знать ML-инженер?
Потому что здесь часто вижу две крайности:
• либо фит предикт в jupyter ноутбуке и все
• либо месяцы изучения Kubernetes, Kafka и тд еще до первых продовых задач
🏆 Менторство: https://lokismentorship.com/
Когда изучаешь ML, очень легко привыкнуть примерно к такому процессу:
взяли датасет - сделали split - обучили модель - посчитали метрики - готово
Для учебной задачи - да. Но на реальной работе обучение - это только один из этапов очень большого процесса жизненного цикла мл модели.
Поговорим про lifecycle и из каких details он состоит:
• Бизнес-задача
Начинаем не с моделей и даже не с данных, а с бизнесовой проблемы, что хотим улучшить, какую боль закрыть. Например, увеличить retention или уменьшить количество фрода.
Потом переводим задачу в мл термины: классификация, регрессия и тд.
• ML System Design
Этот шаг многие пропускают, но он очень важен, потому что если еще до начала решения задачи не продумать риски, ограничения и критерии успеха - можно несколько недель очень хорошо решать не ту задачу)
Тут прописываем, что именно предсказываем, какие данные доступны, какие метрики важны, какие есть ограничения, как решение потом будет работать в проде.
• Данные
Собираем источники, формируем target, размечаем данные, препроцессинг, EDA.
Очень аккуратно делаем train/validation/test split, потому что здесь легко получить data leakage и увидеть прекрасные offline-метрики, которые потом превратятся в красный А/Б тест.
Ну и помним про народную мудрость:
мусор на входе - мусор на выходе
поэтому работа с данными одна из самых важных и трудозатратных в рутине мл-инженера
• Baseline и эксперименты
Начинаем не с самого большого трансформера!
Сначала простое решение или вообще эвристика без мл, потом более сложные модели, feature engineering, подбор гиперпараметров.
• Offline validation
Замеряем метрики, выбираем лучшую модель на отложенных данных. Проверяем, что решение действительно лучше бейзлайна.
• Deploy и inference
Модель нужно где-то развернуть, встроить в уже существующие сервисы, уметь держать нагрузку, обрабатывать большое количество новых данных.
Важный блок, по которому и на собесах могут спрашивать - его подробнее разложу по полочкам в следующих постах.
• A/B тест
Проверяем уже не только roc-auc, а бизнесовые метрики - деньги, retention и вообще насколько что-то поменялось для продукта.
• Мониторинг, логирование и новая итерация
Следим за качеством модели и сервиса, собираем новые данные, переобучаем модель и цикл замыкается))
Недавно мы подробно разбирали весь lifecycle на групповом созвоне внутри менторства: со схемой, примерами, вопросами про data leakage и тд.
Жизненный цикл ML-модели - поделился записью на бусти 🤘
А следующим постом разберу спорный вопрос, который постоянно возникает у начинающих: сколько MLOps вообще должен знать ML-инженер?
Потому что здесь часто вижу две крайности:
• либо фит предикт в jupyter ноутбуке и все
• либо месяцы изучения Kubernetes, Kafka и тд еще до первых продовых задач
🏆 Менторство: https://lokismentorship.com/
- ❤ 9
- 🔥 5







