Amazon MLA-C01: MLOps und Modell-Lebenszyklus-Management — Lernleitfaden
Teil des AWS Machine Learning Engineer Associate MLA-C01 — Lernleitfaden. Üben Sie mit verifizierten Antworten im Amazon-Prüfungscenter, oder absolvieren Sie zeitlich begrenzte Übungstests auf ExamRoll.io.
Kernkonzept
Das Management des Modell-Lebenszyklus in AWS konzentriert sich darauf, Modelle als versionierte Artefakte mit auditierbarer Herkunft, automatisierten Hochstufungs-Gates und reproduzierbaren Pipelines zu behandeln. Amazon SageMaker stellt die Primitive bereit: SageMaker Pipelines für die Orchestrierung, die SageMaker Model Registry (ModelPackage/ModelPackageGroup) für Versionierung und Genehmigungsstatus, SageMaker Projects und CodePipeline für CI/CD sowie Model Monitor/Clarify für laufende Qualitäts- und Bias-Prüfungen. Ein robuster Lebenszyklus beginnt mit reproduzierbaren Eingaben – unveränderliche Trainingsdaten in S3 mit serverseitiger KMS-Verschlüsselung und strengen Bucket-Richtlinien oder Lake-Formation-Kontrollen, Code, der in einem Quell-Repository versioniert ist, und die Trainingsumgebung, die in Container-Image-URIs und Instanztypen deklariert und an CreateTrainingJob oder den sagemaker SDK TrainingStep übergeben wird.
Zu den betrieblichen Kontrollen gehören die Netzwerkisolierung über die VpcConfig von CreateTrainingJob (Subnets und SecurityGroupIds) und EnableNetworkIsolation, um ausgehenden Verkehr (Egress) zu verhindern, sowie IAM-Rollen, die nach dem Prinzip der geringsten Rechte (Least Privilege) zugeschnitten sind (SageMakerExecutionRole mit s3:GetObject, kms:Decrypt für den spezifischen Bucket). Wenn ein Trainingsjob abgeschlossen ist, registrieren Sie das Artefakt in der Model Registry mit CreateModelPackage oder dem SDK-Aufruf register_model mit einem ModelPackageGroupName und setzen Sie ModelApprovalStatus auf “PendingManualApproval”, um manuelle Genehmigungsschritte zu steuern. Herkunfts-Metadaten – Trainings-Hyperparameter, Docker-Image, S3-URIs der Eingabedaten, Git-Commit – sollten als Metadaten des Modellpakets angehängt werden, damit nachgelagerte CI/CD-Prozesse und Audits vom Produktions-Endpunkt zurück zum Code und zum Datensatz zurückverfolgen können.
CI/CD für ML unterscheidet sich von traditionellem CI/CD, da die Artefakte (Modelle, Baselines, Monitore) groß sind und nicht-deterministische Ausgaben haben. Implementieren Sie CI/CD mit SageMaker-Projects-Vorlagen sowie AWS CodePipeline und CodeBuild. Verwenden Sie CodeBuild, um Unit-Tests, Smoke-Tests für das Modelltraining (z. B. kurze Epochen oder eine Teilmenge der Daten) und Integrationstests auszuführen. Verwenden Sie CodePipeline, um die Schritte Quelle → Build → Modell registrieren zu orchestrieren, und integrieren Sie eine ManualApproval-Aktion oder eine Lambda-basierte benutzerdefinierte Aktion, um den ModelApprovalStatus des ModelPackage über UpdateModelPackage zu ändern. Für die automatisierte Hochstufung kann CodePipeline die SageMaker-APIs CreateEndpointConfig und CreateEndpoint aufrufen oder von SageMaker Projects generierte CloudFormation-Stacks verwenden, um die Bereitstellung mit vorhersagbarem Infrastructure-as-Code durchzuführen.
Wichtige Services und Konfiguration
SageMaker Pipelines ist die Orchestrierungsschicht: Deklarieren Sie ProcessingStep-, TrainingStep-, ModelStep-, TransformStep- und RegisterModel-Schrittobjekte in Python. Verwenden Sie CacheConfig für Schritte (CacheConfig(enable_caching=True, expire_after=timedelta(days=1))), damit Schritte ihre Ausgaben wiederverwenden, wenn sich Eingaben und Parameter nicht geändert haben; dies vermeidet die unnötige Bereitstellung von Instanzen. Verwenden Sie für RegisterModel sagemaker.workflow.steps.RegisterModel, wobei model_package_group_name und model_approval_status auf “PendingManualApproval” gesetzt werden, um Genehmigungsschritte in den Pipeline-Graphen zu integrieren. Verwenden Sie die pipeline.start()-API, um Durchläufe zu starten, und pipeline.get_steps() oder die Konsole, um den Laufstatus und die Herkunft zu überprüfen.
Die SageMaker Model Registry speichert Modellpakete unter einem ModelPackageGroupName und weist ModelPackageVersion-Identifikatoren zu. Die relevanten APIs sind CreateModelPackageGroup, CreateModelPackage, DescribeModelPackage und UpdateModelPackage, um den ModelApprovalStatus auf “Approved” oder “Rejected” zu ändern. ModelPackage-Objekte sollten Metadatenfelder wie InferenceSpecification (Containers, SupportedContentTypes, SupportedResponseMIMETypes) und ModelApprovalStatus enthalten. Rufen Sie bei der Bereitstellung CreateModel mit ModelName und PrimaryContainer unter Verwendung des Modellpaket-ARN auf und dann CreateEndpointConfig mit DataCaptureConfig (EnableCapture=true, SamplingPercentage, DestinationS3Uri), um die Inferenz-Erfassung zu aktivieren.
Für die Überwachung und Bias-Erkennung verwenden Sie SageMaker Model Monitor und SageMaker Clarify. Model Monitor erfordert eine Baseline, die über DefaultModelMonitor.suggest_baseline erstellt wird, was CreateProcessingJob für Baseline-Statistiken und -Beschränkungen aufruft; diese Baselines werden in S3 gespeichert und in CreateMonitoringSchedule referenziert. Überwachungszeitpläne werden mit CreateMonitoringSchedule erstellt und können über StartMonitoringSchedule/StopMonitoringSchedule gestartet/gestoppt werden. Für Ad-hoc-Bias-Prüfungen gegen einen Echtzeit-Endpunkt führen Sie einen SageMaker Processing Job mit dem Clarify-Container aus (über sagemaker.processing.ScriptProcessor oder ClarifyProcessor) und verwenden Sie erfasste Inferenz-Protokolle als Eingabe; Clarify unterstützt Model-Bias-Prüfungen und gibt Berichte nach S3 zurück.
Um heterogene Datenquellen sicher zu aggregieren, verwenden Sie AWS Glue und Lake Formation, um Daten aus S3, JDBC-Quellen (On-Premises-MySQL über den AWS Glue JDBC-Connector und optional DataSync für Massenübertragungen) und Streaming-Quellen zu ermitteln, zu katalogisieren und per ETL zu verarbeiten. AWS-Glue-Jobs (PySpark) können kuratierte Datensätze in einen verschlüsselten S3-Data-Lake mit feingranularer Lake-Formation-Zugriffskontrolle schreiben. Für automatisierte Anomalieerkennung plus Visualisierung wählen Sie zwischen Managed Services: Amazon Lookout for Metrics führt eine automatisierte Zeitreihen-Anomalieerkennung durch, während SageMaker Data Wrangler eine schnelle visuelle Exploration und Transformationen ermöglicht und Vorverarbeitungs-Pipelines zurück zu SageMaker Processing oder Pipelines exportieren kann. Für eine kontinuierliche Anomalieerkennung mit Visualisierungs-Dashboards kombinieren Sie Lookout for Metrics für die Erkennung mit Amazon QuickSight für die Visualisierung und den Drill-Down.
Design-Muster und Abwägungen
Ein gängiges Muster ist Pipeline-First: Erstellen Sie eine SageMaker Pipeline, die Datenvorverarbeitung (ProcessingStep), Training (TrainingStep), Modellbewertung (ProcessingStep oder ClarifyProcessor), Modellregistrierung (RegisterModel) und Bereitstellung (ModelStep oder eine manuelle Beförderung) umfasst. Nutzen Sie Step-Caching, um redundante Rechenleistung zu minimieren und die iterative Entwicklung zu beschleunigen. Für eine sichere Beförderung (Promotion) setzen Sie model_approval_status auf „PendingManualApproval“ und integrieren Sie eine CodePipeline ManualApproval-Aktion oder eine Genehmigungs-Lambda-Funktion, die das Modellpaket aktualisiert. Dieses Design bietet einen auditierbaren Pfad von den Daten und dem Code bis zur Produktion und ermöglicht gleichzeitig eine Human-in-the-Loop-Governance.
Für CI/CD wählen Sie zwischen zwei Abwägungen: vollautomatische Beförderung basierend auf Metrik-Gates (schnell, weniger manuelle Schritte) versus manuelle Genehmigungsworkflows (Compliance). Implementieren Sie metrikbasiertes Gating mit CodeBuild, das eine kleine
undefined
-Datei ausführt, die SageMaker Runtime aufruft oder das Modellpaket lädt, Metriken berechnet und ein Artefakt ausgibt, das von CodePipeline konsumiert wird, um über Erfolg/Misserfolg (Pass/Fail) zu entscheiden. Wenn die Compliance eine menschliche Freigabe erfordert, fügen Sie eine AWS CodePipeline ManualApprovalAction ein, die über SNS eine E-Mail auslöst und einen benannten Genehmiger zum Fortfahren benötigt. Alternativ können Sie den Status der Model Registry als maßgebliche Wahrheitsquelle (Canonical Source of Truth) verwenden und Deployments nur dann zulassen, wenn ModelApprovalStatus auf „Approved“ steht.
Die Reduzierung der Startlatenz von Trainingsjobs zielt oft darauf ab, wiederholte vollständige Bereitstellungen zu vermeiden. Wenn viele Pipeline-Durchläufe auf identischen Eingaben neu trainieren, aktivieren Sie Pipeline CacheConfig, damit der TrainingStep übersprungen wird, wenn die Eingaben unverändert sind. Für Iterationen, die bei jedem Durchlauf trainieren müssen, aber eine geringe Latenz erfordern, verwenden Sie kleinere Instanztypen für schnelles Prototyping in SageMaker Studio. Oder führen Sie mehrere Experimente auf einer persistenten Amazon EC2-Instanz oder einem EKS-gestützten benutzerdefinierten Trainings-Orchestrator aus, um Kaltstarts von Containern zu vermeiden – dabei tauschen Sie betrieblichen Mehraufwand gegen eine geringere Latenz ein. Für Skalierbarkeit auf Produktionsniveau nehmen Sie eine gewisse Startverzögerung in Kauf und automatisieren Sie stattdessen die Reproduzierbarkeit.
Häufige Fallstricke und Entscheidungskriterien
Ein häufiger Fehler ist, sich bei der Drift-Erkennung ausschließlich auf Endpunkt-Logs zu verlassen, ohne DataCaptureConfig bei der Bereitstellung zu aktivieren. Ohne die Datenerfassung können Model Monitor und Clarify keine echten Inferenz-Eingaben analysieren. Konfigurieren Sie immer CreateEndpointConfig mit DataCaptureConfig (EnableCapture=true, DestinationS3Uri, CaptureOptions und InitialSamplingPercentage) und richten Sie über CreateMonitoringSchedule einen Überwachungszeitplan ein, der mit den Baseline-Statistiken verknüpft ist.
Ein weiterer Fallstrick ist eine unzureichende S3- und Netzwerksicherheit. Trainingsjobs, die isoliert bleiben müssen, sollten VpcConfig in CreateTrainingJob verwenden und die KMS-Verschlüsselung für S3-Objekte aktivieren. Verlassen Sie sich nicht auf öffentliche Zugriffskontrollen; verwenden Sie stattdessen S3-Bucket-Richtlinien, VPC-Endpunkte (com.amazonaws.region.s3) und die Eingrenzung von IAM-Rollen. Vermeiden Sie schließlich eine fragile CI/CD, indem Sie Evaluierungsmetriken und Metadaten der Modellkarte in das Modellpaket integrieren und eine unveränderliche Versionierung (ModelPackageVersion) verwenden, anstatt Artefakte zu überschreiben.
Praktisches Problem: Anwendungsfallszenario
AcmePay – Betrugserkennung für Transaktionsströme. Die Herausforderung besteht darin, einen sicheren, auditierbaren Lebenszyklus aufzubauen, der S3-Transaktionsprotokolle, Kundenprofile und lokale MySQL-Tabellen aggregiert, einen XGBoost-Betrugsklassifikator trainiert, eine zentrale Modell-Registry mit manueller Genehmigung vor der Produktion pflegt, Daten- und Bias-Drift bei Bedarf erkennt und den Betriebsaufwand für Versionierung und iterative Durchläufe minimiert.
Daten zentralisieren: Verwenden Sie AWS Glue, um S3-Transaktionsprotokolle und die lokale MySQL-Datenbank über den AWS Glue JDBC-Konnektor zu crawlen (mit einem sicheren DataSync-Transfer oder VPC-Peering für den Netzwerkzugriff). Katalogisieren Sie Datensätze im Glue Data Catalog und erzwingen Sie den Zugriff über AWS Lake Formation. Speichern Sie kuratierte Trainingsdatensätze in einem verschlüsselten S3-Präfix (KMS CMK) und verwenden Sie Bucket-Richtlinien sowie einen VpcEndpoint, um öffentlichen Zugriff zu verhindern.
Reproduzierbare Pipelines erstellen: Erstellen Sie eine SageMaker Pipeline mit einem
ProcessingStepfür das Feature-Engineering (Data Wrangler oder Glue ETL-Export), einemTrainingStep, der den integrierten XGBoost-Container mit Hyperparametern ausführt, und einemRegisterModel-Schritt, derRegisterModelmitmodel_package_group_name="acmepay-fraud-group"undmodel_approval_status="PendingManualApproval"aufruft. Aktivieren SieCacheConfigfür die Vorverarbeitungs- und Trainingsschritte, um Ausgaben wiederzuverwenden, wenn Eingaben/Code unverändert bleiben, was die wiederholte Bereitstellung von Instanzen reduziert.CI/CD und Genehmigung: Erstellen Sie ein SageMaker Project, das eine AWS CodePipeline als Grundgerüst erstellt. Die Pipeline führt Unit-Tests in CodeBuild aus, löst die SageMaker Pipeline aus und enthält nach
RegisterModeleineManualApproval-Aktion von CodePipeline. Die manuelle Genehmigungsaktion ruft bei Genehmigung eine Lambda-Funktion auf, dieUpdateModelPackageaufruft, umModelApprovalStatus="Approved"zu setzen, und löst dannCreateEndpointConfigundCreateEndpointzur Bereitstellung aus. Verwenden Sie die von SageMaker Projects generierten CloudFormation-Ressourcen, um die Infrastruktur reproduzierbar zu halten.Sicheres Training und Deployment: Übermitteln Sie Trainingsjobs mit
CreateTrainingJobVpcConfig(SubnetIds,SecurityGroupIds) undEnableNetworkIsolation=true. Stellen Sie sicher, dass die SageMaker-Ausführungsrollekms:Decryptfür den KMS-Schlüssel unds3:GetObjectnur für das Präfix des kuratierten Datensatzes hat. Erstellen Sie für Endpunkte eineCreateEndpointConfigmitDataCaptureConfig(EnableCapture=true,SamplingPercentage=100,DestinationS3Uri=s3://acmepay-prod/capture), damit Inferenzdaten für die Überwachung aufbewahrt werden.Bedarfsgesteuerte Drift- und Bias-Prüfungen: Verwenden Sie SageMaker Clarify in einem
ProcessingJobauf erfassten Inferenz- und Ground-Truth-Labels (falls verfügbar), um bei BedarfModelBias- undModelExplainability-Analysen durchzuführen. Der Aufruf erfolgt über dieClarifyProcessor.run()-API aus einer Lambda-Funktion oder Step Functions, wenn das Data-Science-Team eine Bewertung anfordert. Für kontinuierliche Drift-Warnungen erstellen Sie eine Model-Monitor-Baseline überDefaultModelMonitor.suggest_baselineund einenMonitoringSchedule. Verwenden SieCreateMonitoringSchedule, um periodische Prüfungen durchzuführen und SNS-Benachrichtigungen für Verstöße zu konfigurieren.
Begründung seitens AWS: Glue + Lake Formation zentralisiert und sichert heterogene Quellen mit minimalem benutzerdefiniertem ETL-Code, SageMaker Pipelines + CacheConfig minimiert den Infrastruktur-Churn bei iterativen Durchläufen, die Model Registry bietet unveränderliche Versionierung und Metadaten (ModelPackageGroupName und ModelPackageVersion) und integriert sich nativ über ModelApprovalStatus in Genehmigungsworkflows, und SageMaker Clarify plus Model Monitor stellen sowohl bedarfsgesteuerte Bias-Bewertungen als auch geplante Drift-Erkennung bereit. Die Verwendung von SageMaker Projects und CodePipeline standardisiert CI/CD und erzwingt eine auditierbare, wiederholbare Beförderung von PendingManualApproval zu Approved vor der Produktionsbereitstellung.
← Modellbereitstellung und Inferenz · Alle Domänen · Modellüberwachung und Beobachtbarkeit →
Diese Fragen üben → · Zeitlich begrenzte Übung auf ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Bestehe deine Prüfung →