Надійність моделі

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

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Узгодження ML-моделей із метриками бізнес-ефекту

  • Метрики бізнес-ефекту вимірюють вплив ML на бізнес
    • напр., виручка, економія витрат, індекс задоволеності клієнтів (CSAT)
  • Має узгоджуватися з метриками моделі
    • напр., прогноз відтоку --> виручка
    • напр., прогноз ремонту у виробництві --> економія витрат
    • напр., точність визначення наміру чатбота --> CSAT

graph going up

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

Рутини тестування в ML-конвеєрах

  • Unit tests перевіряють окремі компоненти
    • напр., що екземпляр PCA повертає очікувану кількість ознак
  • Integration tests оцінюють увесь конвеєр
    • напр., вхідні дані правильно попередньо оброблені, модель робить точні передбачення, а вихід коректно постоброблений
  • Smoke tests — це швидкі перевірки, що додають упевненості в роботі системи
    • напр., модель правильно класифікує невеликий набір зразків зображень
  • Тестуйте рано і часто
    • напр., перевіряйте модель на нових даних одразу, як вони з'являються
Розроблення моделей машинного навчання для продакшну

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

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."
Розроблення моделей машинного навчання для продакшну

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

  • Застарівання моделі — продуктивність моделі знижується з часом
    • зміни в даних або середовищі
  • Безперервний моніторинг!

confused robot

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

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

Виявлення

  • Моніторинг продуктивності моделі
  • Відстеження змін у даних і середовищі

Усунення

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

Давайте потренуємось!

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

Preparing Video For Download...