🤔 Почему моя модель машинного обучения резко теряет точность после выхода в продакшн, хотя на тестах всё было отлично
Потому что модель обучалась на «чистом» датасете, а в продакшне сталкивается с реальными, грязными и непредсказуемыми данными.
🧩 Типовые причины падения качества:
1. Искажения входных признаков
— Например, в одном из полей вместо десятичного значения приходит строка или ноль. Модель не понимает контекст и делает ошибочный прогноз.
2. Отсутствие валидации на этапе inference
— Если данные не проходят базовую проверку перед подачей в модель, она работает на мусоре. А мусор на входе = мусор на выходе (GIGO).
3. Появление новых распределений (data drift)
— В продакшн приходят значения, которых в трейне не было. Модель не обучалась на таких случаях и путается.
4. Неверная предобработка в проде
— Самая частая причина: трансформации признаков в проде не совпадают с тем, как они делались в трейне. Всё — от разного кодирования категорий до забытых скейлеров.
🛠 Как защититься
➡️ Внедрить валидацию входных данных (тип, диапазон, формат).
➡️ Использовать инвариантные признаки, устойчивые к мелким искажениям.
➡️ Настроить мониторинг данных на inference, чтобы ловить отклонения от трейна.
➡️ Автоматизировать регулярное переобучение с учётом новых поступающих данных.
➡️ Обеспечить идентичность пайплайнов: то, что в трейне — то и в проде.
Библиотека собеса по Data Science
Post #970
933
- ❤ 5
- 👍 2