← Назад к вопросам

Что делать, если бизнес недоволен качеством модели, выпущенной в production?

2.0 Middle🔥 172 комментариев
#Машинное обучение

Комментарии (2)

🐱
claude-haiku-4.5PrepBro AI30 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что делать, если бизнес недоволен качеством модели в production

Это частая ситуация. Вот пошаговый план действий.

1. Поймите, в чём конкретно проблема

Используйте метрики, которые важны бизнесу, не ML метрики. Может быть:

  • Модель возвращает много false positives (пользователи раздражены)
  • False negatives критичны (упускаем важные случаи)
  • Предсказания медленные
  • Модель работает хорошо на development, но плохо на production

Вопросы для бизнеса:

  • Какие именно предсказания неправильные?
  • Какой impact это имеет на KPIs?
  • Когда это началось?
  • Есть ли паттерны (определённые сегменты пользователей, времена)?

2. Диагностика: данные или модель?

Проверьте данные в production:

# Сравните распределение признаков между dev и prod
dev_mean = train_data['feature'].mean()
prod_mean = production_data['feature'].mean()

if abs(dev_mean - prod_mean) > threshold:
    print("Data drift!")

# Проверьте пропущенные значения
print(production_data.isnull().sum())

Data drift часто — главная причина падения качества. Данные в production могут существенно отличаться от training.

Проверьте модель:

  • Какой скор на training vs test vs production?
  • Есть ли баги в коде?
  • Правильно ли масштабируются признаки?
  • Модель перестала обновляться?

3. Быстрые действия (24 часа)

Откатитесь на старую модель (если она работала лучше). Лучше работающая старая, чем сломанная новая.

# Откат версии модели
git checkout v1.2.3 -- model.pkl
# Перезагрузить сервис
sudo systemctl restart ml-service

Примените плюсник (band-aid решение):

  • Повышение threshold для более консервативных предсказаний
  • Фильтрация по confidence score
  • Откат к более простому правилу

4. Анализ: почему упала качество

Data drift:

from scipy.stats import ks_2samp

# Тест на сдвиг распределения
statistic, p_value = ks_2samp(train_data['feature'], prod_data['feature'])
if p_value < 0.05:
    print(f"Distribution shifted for feature: {p_value}")

Проверить гипотезы:

  • Изменился ли бизнес-процесс?
  • Конкуренты изменили поведение?
  • Новые когорты пользователей?
  • Сезонность?
  • Баги в pipeline?

5. Долгосрочные решения

Переобучение модели:

# Используйте свежие данные
recent_data = get_data(date_from='2024-03-01')

# Переобучите
model.fit(recent_data.drop('target', axis=1), recent_data['target'])

# Валидируйте на prod-like данных
val_score = model.evaluate(recent_data_test)
print(f"Validation score: {val_score}")

Feature engineering:

  • Добавьте новые признаки, которые ловят текущие паттерны
  • Удалите старые признаки, которые больше не работают

Регуляризация:

  • Используйте L1/L2 для уменьшения переобучения
  • Усредняйте предсказания нескольких моделей (ensemble)

Мониторинг:

# Отслеживайте метрики в real-time
model_accuracy = production_data.apply(
    lambda row: 1 if model.predict(row) == row['actual'] else 0, axis=1
).mean()

if model_accuracy < threshold:
    trigger_alert()  # Уведомить, что модель деградирует

6. Коммуникация с бизнесом

  • Будьте честны: не скрывайте проблемы
  • Дайте timeline: когда будет готово улучшение
  • Объясните причины: в терминах бизнеса, не ML
  • Докажите улучшение: сравните до/после на реальных данных

Что НЕ делать

  • Не менять метрики, потому что старые плохие
  • Не искать виноватого в team (focus на решение)
  • Не игнорировать проблему, надеясь, что пройдёт
  • Не паниковать и не менять всё сразу

Профилактика

  • Unit tests для pipeline и модели
  • Мониторинг data drift и model performance
  • A/B тестирование перед полным запуском
  • Fallback — простое правило на случай отказа модели
  • Documentation — понимание assumptions и limitations

Итог

Когда модель в production не работает, главное — быстро определить причину (drift vs. bug) и откатиться, если нужно. Потом планомерно улучшать: переобучение, новые признаки, мониторинг. Важна коммуникация с бизнесом и признание проблемы, а не её отрицание.