Надёжность модели

Разработка моделей машинного обучения для продакшена

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Согласование моделей МО с бизнес-метриками

  • Бизнес-метрики измеряют влияние МО на бизнес
    • например, выручка, экономия затрат, индекс удовлетворённости клиентов (CSAT)
  • Должны быть согласованы с метриками модели
    • например, прогноз оттока --> выручка
    • например, прогноз техобслуживания на производстве --> экономия затрат
    • например, точность определения намерений чат-бота --> CSAT

растущий график

Разработка моделей машинного обучения для продакшена

Процедуры тестирования в пайплайнах МО

  • Модульные тесты проверяют отдельные компоненты
    • например, что экземпляр PCA возвращает ожидаемое количество признаков
  • Интеграционные тесты охватывают весь пайплайн целиком
    • например, что входные данные корректно предобрабатываются, модель делает точные предсказания, а выходные данные правильно постобрабатываются
  • Дымовые тесты — быстрые проверки работоспособности системы
    • например, что модель правильно классифицирует небольшой набор тестовых изображений
  • Тестируйте как можно раньше и как можно чаще
    • например, проверяйте модель на новых данных сразу по мере их поступления
Разработка моделей машинного обучения для продакшена

Пример модульного теста

def test_pipeline():
    # Generate mock data for testing
    X_train = pd.DataFrame({'age': [25, 30, 35, 40], 'income': [50000, 60000, 70000, 80000])
    y_train = pd.Series([0, 0, 1, 1])

    pipeline = Pipeline([('preprocessing', DataPreprocessor()),  # Set up pipeline
                         ('model', LogisticRegression())])
    pipeline.fit(X_train, y_train)  # Fit pipeline on training data

    # Generate mock data for testing
    X_test = pd.DataFrame({'age': [30, 35, 40, 45], 'income': [55000, 65000, 75000, 85000])
    y_test = pd.Series([0, 0, 1, 1])
    y_pred = pipeline.predict(X_test)  
    accuracy = accuracy_score(y_test, y_pred)  # Evaluate pipeline on test data

    assert accuracy > 0.8, "Error: pipeline accuracy is too low."
Разработка моделей машинного обучения для продакшена

Мониторинг устаревания модели

  • Устаревание модели — снижение качества модели со временем
    • изменения в данных или окружающей среде
  • Непрерывный мониторинг!

растерянный робот

Разработка моделей машинного обучения для продакшена

Выявление и устранение устаревания модели

Выявление

  • Мониторинг производительности модели
  • Отслеживание изменений в данных и среде

Устранение

  • Повторное обучение модели на новых данных
    • например, в модель необходимо включить новый признак
  • Обновление пайплайна данных с учётом изменений среды
    • например, изменения в аналитических платформах нарушают работу пайплайна
Разработка моделей машинного обучения для продакшена

Давайте потренируемся!

Разработка моделей машинного обучения для продакшена

Preparing Video For Download...