Accuracy 94% в проде превратился в 68%. Виноваты не нейросети
Автор: IvOlga | Создан: 24 Май 2026 | 👁️ 111
Год назад мы потратили три месяца на обучение модели для скоринга заёмщиков. Градиентный бустинг. Трансформеры. Ансамбли. Accuracy на валидации — девяносто четыре процента. Запуск в прод. Через неделю F1-score упал до шестидесяти восьми. Паника? Нет. Данные. В обучающей выборке тридцать процентов полей «доход» были заполнены нулями по умолчанию. Модель научилась не предсказывать риск. Она научилась игнорировать нули. Когда в проде нули пошли сплошным потоком, она сломалась. Мы не стали менять алгоритм. Мы потратили две недели на пайплайн очистки: импутация по медианам по сегментам, отсечение выбросов, логирование пропусков, валидация распределений перед каждым обучением. Модель та же. Результат — восемьдесят девять процентов F1 в проде, стабильно. Урок простой: сложность модели не спасает от мусора в датасете. Вы не предсказываете будущее. Вы экстраполируете прошлое. И если прошлое кривое — прогноз будет ещё кривее. В production ML это называется data drift. Распределение входящих данных меняется быстрее, чем вы обновляете веса. Мониторить нужно не только accuracy. Нужно мониторить среднее, дисперсию, процент пропусков, корреляцию признаков. Если метрика дрейфует — не переобучайте. Чините пайплайн. Сначала наведите порядок в данных. Потом выбирайте алгоритм. В обратном порядке вы просто автоматизируете ошибку. API данных должен быть жёстче API кода. Валидируйте на входе. Логируйте отклонения. Не давайте модели учиться на мусоре. Она не скажет спасибо. Она скажет вам это в проде, когда будет поздно. Машинное обучение — это не магия. Это статистика, инженерия и дисциплина. Без двух последних первая бесполезна.
Войдите, чтобы оставить комментарий.
← Вернуться ко всем постам
Комментарии:
Будьте первым, кто оставил комментарий!