Fiabilitatea modelului

Dezvoltarea modelelor de Machine Learning pentru producție

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Alinierea modelelor ML cu metricile de impact în afaceri

  • Metricile de impact în afaceri măsoară efectul ML asupra businessului
    • ex. venituri, economii de costuri, scor de satisfacție a clienților (CSAT)
  • Trebuie aliniate cu metricile modelului
    • ex. predictor de churn --> venituri
    • ex. predictor de mentenanță în producție --> economii de costuri
    • ex. acuratețea detecției intenției chatbot --> CSAT

grafic în creștere

Dezvoltarea modelelor de Machine Learning pentru producție

Rutine de testare în pipeline-urile ML

  • Testele unitare testează componentele individuale
    • ex. verificarea că o instanță PCA returnează numărul așteptat de caracteristici
  • Testele de integrare acoperă întregul pipeline
    • ex. verificarea că datele de intrare sunt preprocesate corect, modelul face predicții precise și ieșirea este postprocesată corect
  • Testele smoke sunt teste rapide care confirmă că sistemul funcționează
    • ex. verificarea că modelul clasifică corect un set mic de imagini exemplu
  • Testați devreme și des
    • ex. testați modelul pe date noi imediat ce devin disponibile
Dezvoltarea modelelor de Machine Learning pentru producție

Exemplu de test unitar

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."
Dezvoltarea modelelor de Machine Learning pentru producție

Monitorizarea degradării modelului

  • Degradarea modelului - performanța modelului scade în timp
    • modificări ale datelor sau mediului
  • Monitorizare continuă!

robot confuz

Dezvoltarea modelelor de Machine Learning pentru producție

Identificarea și remedierea degradării modelului

Identificare

  • Monitorizarea performanței modelului
  • Monitorizarea modificărilor în date + mediu

Remediere

  • Reantrenarea modelului pe date noi
    • ex. o nouă caracteristică trebuie inclusă în model
  • Actualizarea pipeline-ului de date pentru modificările de mediu
    • ex. modificările platformelor de analiză perturbă pipeline-ul
Dezvoltarea modelelor de Machine Learning pentru producție

Să exersăm!

Dezvoltarea modelelor de Machine Learning pentru producție

Preparing Video For Download...