feature(notes): add final l5 notes
This commit is contained in:
@@ -460,3 +460,128 @@ sns.boxplot(x=scores)
|
||||
- **mean** → durchschnittliche Performance.
|
||||
- **std** → **Stabilität** des Learners: wie stark hängt die Performance von der zufälligen Datenaufteilung (random_state) ab.
|
||||
- **kleine std = stabileres** Resultat der Methode.
|
||||
|
||||
# ML OPs (Foliensatz 15)
|
||||
|
||||
## Hauptaufgaben
|
||||
|
||||
1. Entwicklung der Modelle
|
||||
2. Vorbereitung für die Produktion
|
||||
3. Bereitstellen in der Produktion
|
||||
4. Überwachungs- und Rückkopplungsschleife
|
||||
5. Modellsteuerung
|
||||
|
||||
## Modelle Entwickeln
|
||||
|
||||
- Ein ML-Modell ist eine Projektion der Realität
|
||||
- Partielle und annähernde Darstellung einer realen Sache oder Prozesses
|
||||
- ML-Modelle reduzieren sich nach dem Training auf eine mathematische Formel
|
||||
- liefert bei Eingabe bestimmter Parameter ein Ergebnis
|
||||
- ein ML-Modell ist
|
||||
- Die Menge der Parameter die zum Wiederaufbau und zur Anwendung der Formel erforderlich sind
|
||||
- Zustandslos und determisnistisch
|
||||
|
||||
### Erforderliche Komponenten
|
||||
|
||||
- Trainingsdaten
|
||||
- Datensatz fürs Modelltraining
|
||||
- Leistungskennzahl
|
||||
- Was versucht das Modell zu optimieren?
|
||||
- ML-Algorithmus
|
||||
- Priorität auf Leistung, Stabilität, Interpretierbarkeit und Rechenkosten
|
||||
- Hyperparameter
|
||||
- Konfigurationen für die ML-Algorithmen, quasi das Feintuning
|
||||
- Auswertungsdaten
|
||||
- Unterscheided sich vom Trainingsdatensatz und wird verwendet um zu bewerten
|
||||
|
||||
### MLOps Überlegungen nach Alorithmustyp
|
||||
|
||||
> Wichtig ist sich den Limitationen aller Algorithmen bewusst zu sein
|
||||
|
||||
- Linear
|
||||
- Regression (linear und logistisch)
|
||||
- Tendiert zu Overfitting!
|
||||
- Baumbasiert
|
||||
- Entscheidungsbaum
|
||||
- kann instabil sein, kleine Anpassungen führen zu grossen Veränderungen
|
||||
- Random Forest
|
||||
- vorhersagen können schwer verständlich sein, und sind langsam
|
||||
- Gradientenboosting
|
||||
- auch schwer verständlich, sensitiv auf kleine Änderungen im Modell
|
||||
- Tiefgründiges lernen
|
||||
- Neuronale Netzwerke
|
||||
- nahezu unmöglich zu versthen, training extrem langsam
|
||||
|
||||
### Versionverwaltung
|
||||
|
||||
- Unerlässlich, besonders für Audits
|
||||
- Es muss auch später klar sein wann welches Modell wo im Einsatz war
|
||||
- Modelle müssen reproduzierbar sein!
|
||||
- Daher muss klar nachvollziehbar sein wie ein Modell zu stande kam
|
||||
- Ergebnisse
|
||||
- Implementierung
|
||||
- Umgebung
|
||||
|
||||
## Vorbereitung für die Produktion
|
||||
|
||||
### Laufzeitumgebung
|
||||
|
||||
- Modell Pipeline
|
||||
- Werkzeuge müssen während der Modellentwicklung eingerichtet werden
|
||||
- Reproduzierbarkeit und Versionskontrolle beachten!
|
||||
|
||||
### Modellrisikobewertung
|
||||
|
||||
- Was wenn sich das Modell auf die denkbar schlechteste Weise verhält?
|
||||
- Worst Case Szenario abbilden
|
||||
- Was wenn es dem Benutzer gelingt die Trainingsdaten oder die interne Logik zu extrahieren?
|
||||
- Risikoabschätzung, im Wesentlichen folgendes
|
||||
- Fehler, Irrtümer beim Entwurf oder Training
|
||||
- Fehler im Laufzeit-Framework
|
||||
- Geringe Qualität der Trainingsdaten
|
||||
- Unterschied Trainingsdaten und Produktionsdaten (zu gross)
|
||||
- Missbrauch des Modells
|
||||
- Gegnerische Angriffe
|
||||
- Rechtliches Risiko
|
||||
|
||||
## Bereitstellunge in der Produktion
|
||||
|
||||
### CI/CD Pipelines
|
||||
|
||||
1. Modell erstellen
|
||||
- Artefakte erstellen
|
||||
- ins Artifactory pushen
|
||||
- Überprüfungen (Rechtliches etc.)
|
||||
2. Bereitstellung in Testumgebung
|
||||
- Tests durchführen, ML Leistung und Rechenleistung validieren
|
||||
- Manuelle Validierung
|
||||
3. Bereitstellung in Produktion
|
||||
- Modell vollständig implementieren
|
||||
|
||||
### Überwachungs und Rückkopplungsschleife
|
||||
|
||||
- Wie oft sollten Modelle neu trainiert werden?
|
||||
- kommt aufs Modell drauf an
|
||||
- Entscheidungsgrundlagen
|
||||
- Bereich
|
||||
- In Cybersicherheit und Echtzeitverarbeitung regelmässig aktualisieren
|
||||
- Spracherkennung bspw. stabiler
|
||||
- Kosten
|
||||
- Lohnt es sich?
|
||||
- Leistungsfähigkeit des Modells
|
||||
|
||||
### Modellverschlechterung
|
||||
|
||||
- Sobald das Modell in Produktion ist gibt es zwei wichtige Kennzahlen
|
||||
- Bewertung der Realität
|
||||
- man wartet einfach bis was passiert
|
||||
- berechnung der Leistung des Modells auf basis tatsächlicher Werte
|
||||
- wenn Differenz den Schwellenwert überschreitet, muss das Modell neu trainiert werden
|
||||
- Eingangsdrifterkennung
|
||||
- Eine Abweichung der Datenverteilung zwischen Trainings- und Testphase
|
||||
- Problem: Leistung des Modells in Produktion nicht gleich wie in Training
|
||||
- Mögliche Ursachen:
|
||||
- Verzerrung durch Stichprobenauswahl
|
||||
- Saisonalität
|
||||
- Nicht-Stationäre Umgebgung
|
||||
- Erkennung: Mit statistischen Tests
|
||||
|
||||
Reference in New Issue
Block a user