TGViewer
Коммуналка аналитиков Коммуналка аналитиков @analyticsavitotech · 5.36K subscribers
Post #97 2.17K
Всем привет! На связи Рома Клочко, аналитик в Доставке 📦

Обучение ML-модели и оптимизация её метрик — это очень ресурсоёмко, увлекательно и благородно.

Но гораздо больше вызовов ждут нас на проде, когда по загадочным причинам качество модели значительно отличается от того, что мы видели на обучении. В невыгодную для нас сторону, конечно же 🙂

Хочу рассказать, с какими вызовами я столкнулся, когда доводил до прода ML-модели, и какие ошибки возникали там, где, как казалось, их быть не может.

🧠 Секреты успешного внедрения модели на прод:
1. У модели на проде актуальные значения фичей.
2. На проде фичи считаются абсолютно так же, как при обучении.
3. Алгоритм перевода предсказаний модели в принятие решения должен быть таким же, как при оценке качества при обучении.

✍️ Давайте приведу примеры ошибок, которые я допускал в каждом из этих пунктов.

1️⃣ При тестировании мы не смогли обнаружить, что в сервис попадает неактуальная версия витрины с фичами для модели.

Проблема возникала по двум причинам: во-первых, при тестировании мы проверили, что данные попадают в сервис, но не проверили, что они в точности соответствуют тем, что ожидаются. Тут табличка и там табличка, разве недостаточно? Оказалось, нет.

Во-вторых, при тестировании мы использовали витрину не такой структуры, как на проде, и это сделало ошибку менее очевидной.

2️⃣ Мы внедряли одну модель и заметили, что её качество значительно хуже, чем мы ожидали. Мы не залогировали каждое срабатывание, поэтому найти причину низкого качества было тяжело, и на это ушло несколько дней.

В итоге мы увидели, что при обучении модели некоторые фичи считались, подглядывая в будущее: учитывались данные, которые ещё не должны были доехать в DWH к моменту расчёта.

Мы пересчитали фичи и переобучили модель, но если бы на этапе тестирования залогировали все события, гораздо быстрее узнали бы, что фичи считаются некорректно.

3️⃣ Мы тестировали одну из моделей на проде и обнаружили аномальное поведение продуктовых метрик. Убедились, что фичи на сервисе актуальные, а модель выдаёт то же предсказание, что и в офлайне. Казалось, что происходит какая-то магия.

Анализ показал, что произошла мискоммуникация с разработкой, и положительный класс модели был воспринят на проде как отрицательный.

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

💡 Вывод таков: тестировать нужно настолько душно, насколько позволяют ресурсы. Каждое непроверенное звено может обернуться срочной задачей, которая внесёт коррективы в ваши выстроенные процессы планирования спринта.

Всем желаю не только пресижна и рекола, но и их воспроизведения в реальности!

#РомаК
  • 🔥 36
  • ❤ 11
  • 👍 11
  • ❤‍🔥 1
  • 🏆 1
More from @analyticsavitotech
  1. Sep 25, 2026Я провожу собеседования аналитиков в Авито и часто вижу одну и ту же картину... ➡️ К нам п…
  2. Sep 23, 2026Post #477
  3. Sep 23, 2026Post #476
  4. Sep 23, 2026Post #475
  5. Sep 23, 2026За последнее время в канале стало заметно больше людей: кто-то только пришёл в аналитику,…
  6. Sep 22, 20261 октября пройдёт первый митап Trisigma в Ташкенте 🚀 Команда Trisigma собрала экспертов и…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →