Niezawodność modelu

Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Sinan Ozdemir

Data Scientist, Entrepreneur, and Author

Dostosowanie modeli ML do metryk wpływu biznesowego

  • Metryki wpływu biznesowego mierzą wpływ ML na biznes
    • np. przychody, oszczędności kosztów, wskaźnik satysfakcji klienta (CSAT)
  • Powinny być spójne z metrykami modelu
    • np. predyktor odejść klientów --> przychody
    • np. predyktor awarii w produkcji --> oszczędności kosztów
    • np. dokładność wykrywania intencji chatbota --> CSAT

rosnący wykres

Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Procedury testowania w potokach ML

  • Testy jednostkowe testują poszczególne komponenty
    • np. sprawdzenie, czy instancja PCA zwraca oczekiwaną liczbę cech
  • Testy integracyjne obejmują cały potok
    • np. sprawdzenie poprawności przetwarzania danych wejściowych, dokładności predykcji i przetwarzania wyjścia
  • Testy dymne to szybkie testy potwierdzające działanie systemu
    • np. sprawdzenie, czy model poprawnie klasyfikuje mały zestaw próbek obrazów
  • Testuj wcześnie i często
    • np. testuj model na nowych danych, gdy tylko staną się dostępne
Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Przykładowy test jednostkowy

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."
Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Monitorowanie starzenia się modelu

  • Starzenie się modelu – wydajność modelu spada z czasem
    • zmiany w danych lub środowisku
  • Ciągłe monitorowanie!

zdezorientowany robot

Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Identyfikacja i reagowanie na starzenie się modelu

Identyfikacja

  • Monitorowanie wydajności modelu
  • Monitorowanie zmian w danych i środowisku

Reagowanie

  • Ponowne trenowanie modelu na nowych danych
    • np. konieczność uwzględnienia nowej cechy w modelu
  • Aktualizacja potoku danych w odpowiedzi na zmiany środowiskowe
    • np. zmiany w platformach analitycznych zakłócające działanie potoku
Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Czas na ćwiczenia!

Tworzenie modeli uczenia maszynowego na potrzeby produkcji

Preparing Video For Download...