AI Development Flashcards
Beschreibe den Unterschied zwischen Data-centric und Model-centric Development
Model-centric
Finde bessere Modelle oder Parameter, um die Erfolgsmetriken voranzutreiben
Data-centric
Verbessere die Trainingsdaten, in dem die Datenverteilung angepasst wird, die Daten bereinigt werden, oder mehr Daten beschafft werden.
Du bist im Schritt der KI-Entwicklung angekommen. Gehe nochmal über die Requirements drüber. Welche 5 grundlegenden Themen sollten überprüft werden?
- Welches Problem soll gelöst werden?
- Welche Spezifikationen sollten geklärt sein? (Input-to-the-system, Input-data, Deployment location, HW ressources, non-functional -> inference time)
- Welche Erfolgsmetriken sind wichtig?
- Was sind die Fehler für ein Fehler?
- Daten: Sauber? Menge? Labeled? Stream?
Wann ist es richtig eine KI-Komponente im ersten Schritt mit einer Heuristik oder Hardcoded Version zu ersetzen? (und wann nicht?)
3-2
Yes, if:
- Experimentation State (Komplexität unbekannt)
- Es benötigt einen einfachen und schnellen Startpunkt
- Es benötigt einen Fallback, falls KI nicht möglich
No, if:
- Problem ändert sich schnell
- Heuristik wird zu komplex
Nenne die 6 Regeln von Googles AI-Development’s Best Practice
Rule #1: Don’t be afraid to launch a product without machine learning.
Rule #2: First, design and implement metrics.
Rule #3: Choose machine learning over a complex heuristic.
Rule #4: Keep the first model simple and get the infrastructure right.
Rule #5: Test the infrastructure independently from the machine learning .
Rule #6: Be careful about dropped data (when copying pipelines). -> unsuited data / configs
Nenne drei Quellen für Daten und ihre Vor bzw. Nachteile
Data Management & Feature Engineering
Öffentl. Daten
+ Einfach
+ Schnell anwendbar
- kein Wettbewerbsvorteil
Data Scraping vom Web
+ Kann Wettbewerbsvorteil sein
+ potenziell viele Daten
- Teuer
- Kostet viel Zeit
- Benötigt Infrastruktur
Nutzung von Unternehmensdaten
+ großer Wettbewerbsvorteil
+ können gut und einfach streamlined werden
- benötigt Erlaubnis
- Datenschutz muss beachtet werden
Wie wird Data Cleaning validiert und wie geht man mit ungewünschten Datenpunkten um. (Outlier, Missing Values, …)
Data Management & Feature Engineering
-
Validierung
Datentyp, Missing-Value, Range, Foreign-Key, RegEx, … - Remove or Repair
Nenne Data Cleaning Workflow Elemente
Data Management & Feature Engineering
- Inspect Data
Summary, Distributions, Visualize - Repair
deduplication, converting data types, standardizing, fix typos, scale data - Versionize it
Nenne drei typische Probleme im Bereich Data Labeling
Data Management & Feature Engineering
- Raw data might be hugely availlable, labeled data not
- Labeling is super time consuming -> expensive
- Labeling might need experts
Beschreibe die Idee und Methode der Flywheel Technik beim Data Labelling (Google)
Data Management & Feature Engineering
- Deploy Model mit hoher Accuracy aber niedrigem Recall Wert (Modell ist immer korrekt, aber erkennt nicht alles)
- Lass User ihre Daten verbessern (diese sind dann motiviert dazu) -> kostenlose Labels
- Trainiere mit neuen Labels
Beschreibe die Idee und die Methode Active Learning
Data Management & Feature Engineering
Idee: Lerne, welche ungelabelten Daten am wertvollsten fürs Labelling wären
Methode:
Trainiere ein oder mehrere Model mit wenig Daten und nutze sie auf ungelabelte Daten. Entscheide dann über:
a) Confidence Werte
b) Mehrere Modelle, wenn sie sich unterscheiden in ihrer Antwort
Was ist die Idee hinter Data Augmentation?
Data Management & Feature Engineering
Vervielfache die Anzahl deiner Daten, in dem sie mit folgenden Techniken dupliziert:
- Flip image
- Scale
- Crop
- Translate
- Noise
Nenne 4 Techniken, wie man den Data Labelling Prozess günstiger gestalten kann.
Data Management & Feature Engineering
- Active Learning (labele nur was benötigt wird)
- Data Augmentation (vervielfache gelabelte Daten)
- Self-Supervised Learning Pretraining + Finetuning auf gelabelte Daten
- Data Synthesis (künstliche Daten)
Hier sind vier Datentypen, ordne sie passenden Data Storages zu:
- Raw Data from diverse sources
- Meta Data
- Binary Data
- Structured Data
Data Management & Feature Engineering
Raw Data -> Data Lake
Metadata & Structured Data -> Database
Binary Data -> Object Store (e.g. S3)
Was macht DVC und was macht es aus
Beschreibe die Methodik
Data Management & Feature Engineering
DVC steht für Data-Version-Control (ist OS) und es speichert Code + Daten + Config mit Version ab.
Dadurch sind alte Modelle replizierbar und es werden Code, Daten und Modelle nicht isoliert versioniert.
Methode:
- Daten und Modelle werden durch Metadaten ersetzt, welche auf die tatsächlichen Datein zeigen
- Storage ist Cloud oder on premise
- inkludiert Pipeline Definition für Data Handling (auch versioniert)
Nenne die 5 Fragen für Daten in AI Development, die du dir stellen solltest.
Data Management & Feature Engineering
- Welche Daten benötigen wir für unser Ziel
- Wie erlangen wir sie?
- Welche Cleaning Schritte sind notwendig
- Wo & wie speichern wir sie?
- Wie labeln wir sie ?
Nenne Informationen, die bei einem ML Experiment getrackt werden sollten
6
Experimentation
- ML Parameter / Configs
- Metriken
- Tag & Notes (über den Run)
- Artifacts (produzierte Dateien)
- Source Code
- Version of Code
Nenne 5 Probleme, die natives Jupyter Notebook hat
Coding & Tools, and Automation
- Keine Version Control
- Zu simple IDE
- Schwierig zu testen
- Willkürrliche Reihenfolge der Execution
- Schwierig verteilte oder lange Jobs auszuführen
Es gibt Lösungen für alle Probleme
Ist es sinnvoll Jupyter Notebooks als IDE für AI-Development zu nutzen?
Coding & Tools, and Automation
Well, it depends …
Jupyter Notebooks haben Stärken, welche die Verständnis und Dokumentation des Codes verbessern.
Das native Jupyter Notebook ist meist nicht geeignet für professionelles Experimentieren, aber mit Tools kann es funktionieren.
Für Sandboxing ist es geeignet