Eine übersichtliche Referenz der Architekturmuster, die in der MLA-C01-Prüfung getestet werden. Von oben nach unten lesen oder zu einem Abschnitt springen.
Datenvorbereitung für ML
Wählen Sie ein visuelles Datenvorbereitungstool.
ML-fokussiert, Integration mit SageMaker Studio + Flow → Processing Job → Pipeline → Notebook-Export → SageMaker Data Wrangler. Generische Datenbereinigung mit wiederverwendbaren Rezepten, Profiling, keine SageMaker-Abhängigkeit → AWS Glue DataBrew. 50 TB+ Spark mit benutzerdefiniertem Code → Amazon EMR.
Warum: Data Wrangler ist die SageMaker-native Option (300+ Transformationen, Datums-/Uhrzeit-Extraktion, Exporte zu Pipeline/Processing). DataBrew ist rezeptbasiert und quellunabhängig. EMR handhabt Skalierung und beliebige Spark-Anwendungen.
50 TB Feature Engineering mit bestehendem PySpark-Code, muss in 4 Stunden abgeschlossen sein.
Amazon EMR mit Spark. Anpassbare Clustergröße, Spot-Unterstützung, führt den bestehenden Code unverändert aus.
Warum: Glue ETL führt ebenfalls Spark aus, aber EMR bietet mehr Kontrolle über die Clusterform; SageMaker Processing ist für kleinere Single-Container-Jobs gedacht.
Amazon SageMaker Ground Truth mit aktivierter automatischer Datenbeschriftung. Nach einem anfänglichen, von Menschen beschrifteten Teilsatz trainiert Ground Truth ein Modell und beschriftet Stichproben mit hoher Konfidenz automatisch.
Warum: Aktives Lernen senkt die Beschriftungskosten typischerweise um bis zu 70%. A2I ist für die menschliche Überprüfung von Modellvorhersagen gedacht, nicht für die Massenbeschriftung.
Mehrere Annotatoren sind sich uneinig; ein erfahrener Prüfer muss eine Stichprobe von Labels verifizieren.
Ground Truth Label-Verifizierungs-(Audit)-Workflow. Ein Teilsatz von Labels wird an eine Überprüfungsarbeitskraft weitergeleitet, die diese genehmigt, ablehnt oder anpasst. Kombinieren Sie dies mit Annotation Consolidation für Mehrheitsentscheidungen mehrerer Mitarbeiter.
Dieselben konstruierten Features werden beim Training (Batch) und bei der Inferenz (unter 10 ms) benötigt.
Amazon SageMaker Feature Store mit aktivierten Online- und Offline-Speichern in der Feature-Gruppe. Der Online-Speicher unterstützt Echtzeit-GetRecord; der Offline-Speicher (Parquet in S3) unterstützt das Training.
Warum: Eliminiert Train/Serve Skew ohne eine benutzerdefinierte DynamoDB ↔ S3 Synchronisation.
Zwei Feature-Gruppen für das Training verbinden, ohne zukünftige Feature-Werte preiszugeben.
Point-in-Time-Join gegen den Offline-Speicher unter Verwendung der Ereigniszeitspalte. Jede Trainingszeile sieht nur Feature-Werte, die zum Zeitpunkt ihres Ereignis-Zeitstempels existierten.
Warum: Ein einfacher JOIN auf die neuesten Werte führt zu Datenlecks, indem er dem Modell nach dem Ereignis aufgetretene Feature-Drift offenbart.
Wählen Sie einen SageMaker Trainingsdaten-Eingabemodus für einen 500 GB Datensatz.
Dateimodus → gesamter Datensatz wird zuerst heruntergeladen (langsamer Start, EBS-Kosten). Pipe-Modus → Streams von S3, geringer Startaufwand, geringer Speicherbedarf. FastFile-Modus → Lazy-Streaming auf Dateiebene. Verwenden Sie Pipe (oder FastFile) für große Datensätze, um den Download zu vermeiden.
Wählen Sie ein Speicherformat und Layout für ML Data Lake auf S3 mit häufigen Spalten-Teilmengenlesevorgängen + Partitionsfiltern.
Parquet (spaltenbasiert, komprimiert), partitioniert nach der am häufigsten gefilterten Spalte (z.B. Datum oder Region). Fördert Spalten-Pruning + Partitions-Pruning in Athena und SageMaker.
Glue ETL verarbeitet bei jedem Durchlauf bereits bearbeitete Dateien erneut.
Aktivieren Sie Glue Job Bookmarks. Verwenden Sie die PAUSE-Option, damit ein fehlgeschlagener Lauf das Lesezeichen nicht vorrückt; nur bei Bedarf zurücksetzen.
Kategorische Features kodieren. Einige sind geordnet (Basic/Standard/Premium), andere nicht (US-Bundesstaaten).
Geordnet → ordinale Kodierung (bewahrt Rang). Ungeordnet → One-Hot-Kodierung (vermeidet falsche Ordinalität). Vermeiden Sie Label-Kodierung bei ungeordneten Features. Target-Kodierung erfordert sorgfältiges CV, um Leckagen zu vermeiden.
Numerische Spalte weist fehlende Werte auf, die mit einem anderen Feature korrelieren (z.B. fehlendes Einkommen hängt vom Beschäftigungstyp ab).
Gruppenbasierte Median-Imputation (Median pro Beschäftigungstyp). Bewahrt die Beziehung; der Mittelwert ist anfällig für Ausreißer; das Weglassen führt zu Datenverlust; Null fügt Bias hinzu.
Binäre Klassifikation mit 0,3% positiver Klasse.
SMOTE Oversampling nur auf dem Trainings-Fold (nach dem Split). Kombinieren Sie dies mit PR-Kurven- / F1-Evaluierung, nicht mit Genauigkeit.
Warum: Wenden Sie Oversampling NACH dem Splitting an, um Leckagen zu vermeiden. Genauigkeit ist bei unausgewogenen Daten irreführend.
Rechtsschiefe numerische Features (z.B. Einkommen) beeinträchtigen die Leistung linearer Modelle.
Log-Transformation. Komprimiert den rechten Schwanz und erzeugt eine symmetrischere Verteilung. Standardisierung/Min-Max ändern die Skala, nicht die Form.
50 hochkorrelierte Features; gewünscht ist eine geringere Dimensionalität unter Beibehaltung der Varianz.
PCA. Transformiert korrelierte Features in unkorrelierte Hauptkomponenten, die nach Varianz geordnet sind.
Wählen Sie einen Train/Val/Test-Split.
Unausgewogene Klassifikation → stratifizierter Split (bewahrt Klassenverhältnis). Zeitreihen → chronologischer Split (Training auf früherer Periode, Test auf neuester); niemals zufälliges Mischen. IID tabellarisch → zufällig.
ML-Modellentwicklung
Wählen Sie einen SageMaker Built-in-Algorithmus.
Tabellarische Klassifikation/Regression → XGBoost oder Linear Learner. Mehrklassen-Textklassifikation im großen Maßstab → BlazingText (überwacht). Zeitreihen mit verwandten Reihen und Saisonalität → DeepAR. Unüberwachte Anomalieerkennung bei numerischen Daten → Random Cut Forest. Themenmodellierung → Neural Topic Model. Übersetzung / Seq2Seq → Sequence-to-Sequence. Pixelbasierte Klassen → Semantic Segmentation. Paired-entity Embeddings (Benutzer/Artikel) → Object2Vec.
Benutzerdefiniertes Trainings-Framework / proprietärer Tokenizer nicht in den Built-ins enthalten.
BYOC (Bring Your Own Container): Docker-Image mit Code und Abhängigkeiten, Push zu Amazon ECR, Referenz im SageMaker-Training. Behält verwaltete Infrastruktur (Spot, verteilt, Lebenszyklus) bei, ohne auf Anpassung zu verzichten.
Kleiner Bilddatensatz (~2.000) für medizinische Klassifikation.
Transfer Learning von einem auf ImageNet vorab trainierten Modell (z.B. ResNet). Feinabstimmung der letzten Schichten. SageMaker Image Classification unterstützt dies direkt.
Warum: Training von Grund auf mit kleinen Datenmengen führt zu Overfitting. Vorab trainierte Features (Kanten, Texturen) lassen sich sauber auf medizinische Bilder übertragen.
Ein vortrainiertes Basismodell schnell feinabstimmen, ohne benutzerdefinierten Trainingscode schreiben zu müssen.
SageMaker JumpStart Fine-Tuning API: Modell-ID auswählen, Datensatz im erwarteten Format bereitstellen (typischerweise JSONL), Fine-Tuning-Job starten, von JumpStart zu einem Endpunkt bereitstellen.
Ein LLM an eine Domäne anpassen. Viel statisches Wissen → RAG vs. Fine-Tuning vs. nur Prompt wählen.
Häufig wechselndes Domänenwissen → RAG über Bedrock Knowledge Bases. Markenstimme / konsistenter Stil mit gelabelten Beispielen → Bedrock Modell-Anpassung (Fine-Tuning, oft parameter-effiziente Adapter). Kleine statische Anleitung → Prompt Engineering mit Few-Shot.
SageMaker Automatic Model Tuning mit Bayesscher Optimierung (Standard). Erstellt ein probabilistisches Modell des Ziels und sampelt vielversprechende Regionen.
Warum: Grid Search explodiert kombinatorisch; Random Search verschwendet Budget. Objektive Metrik (z.B. `validation:auc`) und Typ (`Maximize`) angeben.
Neuer Tuning-Job mit Warmstart, wobei übergeordnete Jobs als Priors und engere Bereiche, die auf den leistungsstärksten Konfigurationen zentriert sind, verwendet werden.
Das bestehende Modell auf monatlich neuen Labels weitertrainieren - nicht von Grund auf neu beginnen.
Inkrementelles Training: Übergeben Sie die vorherigen Modell-Artefakte als Eingabe. Wird von den Built-ins für Image Classification, Object Detection, Semantic Segmentation unterstützt.
Wählen Sie eine Strategie für verteiltes Training.
Modell passt auf eine GPU, aber Daten sind riesig → Datenparallelität (Modell replizieren, Batches aufteilen, AllReduce Gradients). Modell passt nicht auf eine GPU → Modellparallelität (Schichten/Tensoren über GPUs aufteilen). 10 Mrd.+ Parameter → SageMaker Modellparallele Bibliothek (Tensor + Pipeline-Parallelität).
Trainingsverlust sinkt weiter, Validierungsverlust steigt nach Epoche 50 an.
Overfitting. Frühzeitiges Stoppen beim Validierungs-Verlustminimum anwenden, zusätzlich Dropout / L2 Weight Decay. Mehr Schichten verschlimmern es.
Wählen Sie die richtige Klassifikationsmetrik.
Unausgewogen + seltene Positive wichtig → Recall, F1, PR-Kurve / Average Precision (NICHT ROC AUC, die durch viele TNs überhöht wird). Mehrklassen mit Ungleichgewicht → makro-gemittelter F1. Schwellenwert-unabhängiges Ranking → AUC. Wahrscheinlichkeitskalibrierung → Log Loss / Brier.
Regressionsmodell überprognostiziert am oberen Ende und unterprognostiziert am unteren Ende.
Residuen vs. vorhergesagten Wert plotten; Mean Error (signiert) für systematische Verzerrung verwenden. RMSE / MAE / R² verbergen die Richtung.
Jede Eingabe kann gleichzeitig zu mehreren Klassen gehören.
Sigmoid-Aktivierung pro Ausgabeneuron mit binärer Kreuzentropie-Verlustfunktion (unabhängige Wahrscheinlichkeiten). Softmax + kategoriale Kreuzentropie geht von sich gegenseitig ausschließenden Klassen aus.
Mehrere Basismodelle mit einem Meta-Learner stapeln.
k-fache Kreuzvalidierung: jedes Basismodell erzeugt Out-of-Fold-Vorhersagen auf seinem zurückgehaltenen Fold; sammelt diese über die Folds hinweg und trainiert den Meta-Learner darauf.
Warum: Das Training von Basismodellen und die Vorhersage auf demselben Trainingssatz führt zu Informationslecks im Meta-Learner.
Verfolgen und vergleichen Sie viele Trainingsläufe (Parameter, Metriken, Artefakte).
SageMaker Experiments. Übergeben Sie `experiment_config` (Experiment + Trial + Trial-Komponente) an den Trainingsjob; SageMaker protokolliert automatisch Hyperparameter, Eingabekonfiguration, Metriken und Artefakte.
Trainingspathologien (Vanishing Gradient, Verlust nimmt nicht ab, Exploding Tensor) erkennen, ohne das Skript neu schreiben zu müssen.
SageMaker Debugger mit integrierten Regeln (`VanishingGradient`, `LossNotDecreasing`, `ExplodingTensor`, `Overfit`). Erfasst Tensoren über Hooks; evaluiert Regeln on the fly.
Echtzeit-Endpunkt muss Spitzen von 1000 Anfragen/Sek. aufnehmen können, aber nachts auf nahezu null skalieren.
Application Auto Scaling Target-Tracking auf `InvocationsPerInstance`. Fügt Instanzen hinter dem Endpunkt hinzu/entfernt sie, wenn sich der Datenverkehr ändert.
Pipeline muss Glue ETL + Lambda + SageMaker Training + SNS / DynamoDB koordinieren.
AWS Step Functions. Native Service-Integrationen über den gesamten Stack; umfangreicher als Pipelines für Nicht-SageMaker-Schritte.
Warum: Pipelines ist die richtige Wahl für reine ML-Workflows; Step Functions ist die richtige Wahl, wenn Sie die breiteren AWS-Service-Integrationen benötigen.
Ein TensorFlow-Modell auf ARM Edge-Geräten bereitstellen; es muss klein und schnell sein.
SageMaker Neo. Kompiliert für die Zielhardware; bis zu 25x schneller, ~1/10 des Speichers. Bereitstellung über die DLR-Laufzeit; kombinieren Sie mit IoT Greengrass für Offline-Edge.
Batch Transform für maximalen Durchsatz mit unabhängigen Datensätzen optimieren.
Setzen Sie `BatchStrategy=MultiRecord` mit einem großen `MaxPayloadInMB` und erhöhen Sie `MaxConcurrentTransforms`, um über die Instanz zu parallelisieren.
Überwachung, Wartung und Sicherheit von ML-Lösungen
Erkennen, dass sich die Verteilungen der Eingabefeatures von der Trainingszeit-Baseline entfernt haben.
SageMaker Model Monitor - Datenqualität. Erfasst Inferenzdaten, vergleicht sie mit einer aus Trainingsdaten berechneten Baseline, alarmiert bei Drift.
Warum: Die Einrichtungsreihenfolge ist festgelegt: (1) Baseline-Job → (2) Überwachungszeitplan → (3) CloudWatch-Alarme für die Metriken der Einschränkungsverletzung.
Erkennung einer Verschlechterung der Vorhersagequalität (Genauigkeit / F1 / RMSE), wenn Ground Truth verzögert eintrifft.
SageMaker Model Monitor - Modellqualität. Führt erfasste Vorhersagen mit verzögerten Ground-Truth-Labels zusammen; alarmiert, wenn Metriken unter die Baseline fallen.
Eingabeverteilung sieht unverändert aus, aber die Vorhersagequalität hat sich verschoben.
SageMaker Clarify Feature Attribution Drift Monitor (SHAP-basiert). Erkennt Concept Drift durch sich verschiebende Feature-Wichtigkeiten. Kombinieren Sie dies mit dem Model Quality Monitor, wenn Ground Truth verfügbar ist.
Genauigkeit ist gesunken, aber die Verteilungen der Eingabefeatures sind unverändert.
Concept Drift (Beziehung zwischen Label und Feature hat sich geändert). Data Drift wurde ausgeschlossen. Lösung: Neu trainieren mit aktuellen gelabelten Daten.
Überprüfen Sie den Datensatz vor dem Training auf Bias.
SageMaker Clarify Pre-Training Bias Metriken. Class Imbalance (CI) für Stichprobengrößen-Ungleichheit; Difference in Positive Proportions of Labels (DPL) für Label-Raten-Ungleichheit; KL/JS-Divergenz für Verteilungslücken.
Notebook muss Trainingsdaten aus einem S3-Bucket lesen und Artefakte in einen anderen schreiben.
Benutzerdefinierte IAM-Richtlinie: `s3:GetObject` für den Trainings-Bucket/Präfix und `s3:PutObject` für den Artefakte-Bucket/Präfix, angehängt an die SageMaker-Ausführungsrolle. `AmazonS3FullAccess` vermeiden.
Team-spezifische Isolation über SageMaker-Ressourcen hinweg.
Attributbasierte Zugriffskontrolle (ABAC) mit IAM-Bedingung `aws:ResourceTag/project`. Ressourcen mit dem Tag `project=A` sind nur für Rollen zugänglich, deren Richtlinien übereinstimmen.
Trainingsdaten und Modell-Artefakte mit kundenverwalteten Schlüsseln + Rotation verschlüsseln.
SSE-KMS mit einem Customer Managed Key (CMK). KMS-Rotation, Schlüsselrichtlinien, CloudTrail-Audit. Geben Sie den KMS-Schlüssel im Trainingsjob + Endpunktkonfiguration (Volume + Output) an, damit SageMaker ihn verwendet.
Container dürfen keine ausgehenden Netzwerkaufrufe tätigen; Daten sollten innerhalb der SageMaker-Kopierkanäle bleiben.
Setzen Sie `EnableNetworkIsolation=true` für den Trainings-/Processing-Job oder Endpunkt. SageMaker kopiert S3-Eingabekanäle hinein, bevor der Container läuft; der Container hat keine ausgehende Verbindung.
Training darf das öffentliche Internet nicht berühren.
Führen Sie SageMaker in einem privaten Subnetz ohne NAT/Internet Gateway aus. Fügen Sie VPC-Endpunkte hinzu - Gateway-Endpunkt für S3, Interface-Endpunkte für SageMaker API + Runtime + ECR + STS + CloudWatch Logs.