Amazon MLA-C01: MLOps ve Model Yaşam Döngüsü Yönetimi — Çalışma kılavuzu

Şunun bir parçası: AWS Machine Learning Engineer Associate MLA-C01 — Çalışma kılavuzu. Doğrulanmış cevaplarla şurada pratik yapın: Amazon sınav merkezi, veya şurada süreli deneme sınavları çözün: ExamRoll.io.

Temel kavram

AWS’te model yaşam döngüsü yönetimi, modelleri denetlenmiş bir soyağacına, otomatikleştirilmiş yükseltme kapılarına ve tekrarlanabilir işlem hatlarına sahip, versiyonlanmış yapılar (artifact) olarak ele almayı merkeze alır. Amazon SageMaker temel bileşenleri sağlar: orkestrasyon için SageMaker Pipelines, versiyonlama ve onay durumu için SageMaker Model Registry (ModelPackage/ModelPackageGroup), CI/CD için SageMaker Projects ve CodePipeline ve devam eden kalite ve yanlılık kontrolleri için Model Monitor/Clarify. Sağlam bir yaşam döngüsü, tekrarlanabilir girdilerle başlar: sunucu tarafı KMS şifrelemesi ve sıkı bucket policy’leri veya Lake Formation kontrolleri ile S3’de değişmez (immutable) eğitim verileri, bir kaynak deposunda versiyonlanmış kod ve CreateTrainingJob’a veya sagemaker SDK TrainingStep’e aktarılan container imaj URI’ları ve instance türlerinde beyan edilen eğitim ortamı.

Operasyonel kontroller, çıkış trafiğini (egress) önlemek için CreateTrainingJob VpcConfig (Subnets ve SecurityGroupIds) ve EnableNetworkIsolation aracılığıyla ağ izolasyonunu ve en az ayrıcalık ilkesiyle (least privilege) kapsamı belirlenmiş IAM rollerini (belirli bucket için s3:GetObject, kms:Decrypt yetkilerine sahip SageMakerExecutionRole) içerir. Bir eğitim işi tamamlandığında, yapıyı (artifact) CreateModelPackage veya SDK’nın register_model çağrısını kullanarak bir ModelPackageGroupName ile Model Registry’ye kaydedin ve insan onay kapılarını devreye sokmak için ModelApprovalStatus’u “PendingManualApproval” olarak ayarlayın. Soyağacı üst verileri (Lineage metadata) — eğitim hiperparametreleri, Docker imajı, girdi verisi S3 URI’ları, Git commit’i — model paketi üst verilerine eklenmelidir, böylece aşağı akış CI/CD ve denetimler, üretim endpoint’inden koda ve veri setine kadar geriye dönük izleme yapabilir.

ML için CI/CD, geleneksel CI/CD’den farklıdır çünkü yapılar (modeller, temeller, izleyiciler) büyüktür ve deterministik olmayan çıktılara sahiptir. CI/CD’yi SageMaker Projects şablonları ile birlikte AWS CodePipeline ve CodeBuild kullanarak uygulayın. Birim testlerini, model eğitimi duman testlerini (smoke-test) (örneğin, kısa epoch’lar veya veri alt kümesi) ve entegrasyon testlerini çalıştırmak için CodeBuild’u kullanın. kaynak → derleme → modeli-kaydetme adımlarını düzenlemek için CodePipeline’ı kullanın ve ModelPackage ModelApprovalStatus’unu UpdateModelPackage aracılığıyla değiştirmek için bir ManualApproval eylemi veya Lambda tabanlı özel bir eylem ekleyin. Otomatikleştirilmiş yükseltme için, CodePipeline, SageMaker CreateEndpointConfig ve CreateEndpoint API’lerini çağırabilir veya öngörülebilir kod olarak altyapı (infrastructure-as-code) ile dağıtım yapmak için SageMaker Projects tarafından oluşturulan CloudFormation yığınlarını kullanabilir.

Anahtar hizmetler ve yapılandırma

SageMaker Pipelines orkestrasyon katmanıdır: Python’da ProcessingStep, TrainingStep, ModelStep, TransformStep ve RegisterModel adım nesnelerini bildirin. Adımlarda CacheConfig kullanın (

undefined

), böylece girdiler ve parametreler değişmediğinde adımlar çıktıları yeniden kullanır; bu, gereksiz instance tedarikini önler. RegisterModel için, işlem hattı grafiğine onay kapılarını entegre etmek amacıyla model_package_group_name ve “PendingManualApproval” olarak ayarlanmış model_approval_status ile sagemaker.workflow.steps.RegisterModel’ı kullanın. Çalıştırmaları başlatmak için pipeline.start() API’sini ve çalıştırma durumunu ve soyağacını incelemek için pipeline.get_steps() veya konsolu kullanın.

SageMaker Model Registry, model paketlerini bir ModelPackageGroupName altında saklar ve ModelPackageVersion tanımlayıcıları atar. İlgili API’ler, ModelApprovalStatus’u “Approved” veya “Rejected” olarak değiştirmek için CreateModelPackageGroup, CreateModelPackage, DescribeModelPackage ve UpdateModelPackage’dır. ModelPackage nesneleri, InferenceSpecification (Containers, SupportedContentTypes, SupportedResponseMIMETypes) ve ModelApprovalStatus gibi üst veri alanlarını içermelidir. Dağıtım yaparken, model paketi ARN’sini kullanarak ModelName ve PrimaryContainer ile CreateModel’ı çağırın ve ardından çıkarım yakalamayı etkinleştirmek için DataCaptureConfig (EnableCapture=true, SamplingPercentage, DestinationS3Uri) ile CreateEndpointConfig’i çağırın.

İzleme ve yanlılık tespiti için SageMaker Model Monitor ve SageMaker Clarify’ı kullanın. Model Monitor, temel istatistikler ve kısıtlamalar için CreateProcessingJob’u çağıran DefaultModelMonitor.suggest_baseline aracılığıyla oluşturulan bir temel (baseline) gerektirir; bu temeller S3’de saklanır ve CreateMonitoringSchedule’da referans alınır. İzleme programları (Monitoring schedules) CreateMonitoringSchedule ile oluşturulur ve StartMonitoringSchedule/StopMonitoringSchedule aracılığıyla başlatılabilir/durdurulabilir. Gerçek zamanlı bir endpoint’e karşı anlık (ad hoc) yanlılık kontrolleri için, yakalanan çıkarım günlüklerini girdi olarak kullanarak Clarify container’ı ile (sagemaker.processing.ScriptProcessor veya ClarifyProcessor aracılığıyla) bir SageMaker Processing işi çalıştırın; Clarify, Model Yanlılığı (Model Bias) kontrollerini destekler ve raporları S3’ye döndürür.

Heterojen veri kaynaklarını güvenli bir şekilde bir araya getirmek için, S3, JDBC kaynakları (şirket içi MySQL için AWS Glue JDBC konektörü ve isteğe bağlı olarak toplu taşıma için DataSync aracılığıyla) ve akış kaynaklarından (streaming sources) verileri keşfetmek, kataloglamak ve ETL yapmak için AWS Glue ve Lake Formation’ı kullanın. AWS Glue işleri (PySpark), hassas taneli Lake Formation erişim kontrolü ile şifrelenmiş bir S3 veri gölüne (data lake) seçilmiş (curated) veri setleri yazabilir. Otomatik anomali tespiti ve görselleştirme için yönetilen hizmetler arasından seçim yapın: Amazon Lookout for Metrics, otomatik zaman serisi anomali tespiti gerçekleştirirken, SageMaker Data Wrangler hızlı görsel keşif ve dönüşümler sağlar ve ön işleme işlem hatlarını SageMaker Processing veya Pipelines’a geri aktarabilir. Görselleştirme panoları ile sürekli anomali tespiti için, tespit amacıyla Lookout for Metrics’i, görselleştirme ve ayrıntılı inceleme (drill-down) için Amazon QuickSight ile birleştirin.

Tasarım desenleri ve ödünleşimler

Yaygın bir desen, pipeline-öncelikli yaklaşımdır: veri ön işleme (ProcessingStep), eğitim (TrainingStep), model değerlendirme (ProcessingStep veya ClarifyProcessor), modeli kaydetme (RegisterModel) ve dağıtım (ModelStep veya manuel bir yükseltme) adımlarını içeren bir SageMaker Pipeline oluşturun. Gereksiz hesaplamayı en aza indirmek ve yinelemeli geliştirmeyi hızlandırmak için adım önbelleğe almayı (step caching) kullanın. Güvenli bir yükseltme için, model_approval_status değerini "PendingManualApproval" olarak ayarlayın ve CodePipeline ManualApproval eylemini veya model paketini güncelleyen bir onay Lambda’sını entegre edin. Bu tasarım, veriden ve koddan üretime kadar denetlenebilir bir yol sağlarken, döngüde insan (human-in-the-loop) yönetişimini de mümkün kılar.

CI/CD için iki ödünleşim arasında seçim yapın: metrik kapılarında (metric gates) tam otomatik yükseltme (hızlı, daha az manuel adım) ile manuel onay iş akışları (uyumluluk). Metrik tabanlı kapılamayı (gating), SageMaker Runtime’ı çağıran veya model paketini yükleyen, metrikleri hesaplayan ve CodePipeline tarafından geçme/kalma kararı için kullanılan bir yapıt (artifact) yayan küçük bir evaluate.py dosyasını yürüten CodeBuild ile uygulayın. Uyumluluk insan onayı gerektiriyorsa, SNS aracılığıyla bir e-posta tetikleyen ve devam etmek için adı belirtilmiş bir onaylayıcı gerektiren bir AWS CodePipeline ManualApprovalAction ekleyin veya Model Registry durumunu temel doğruluk kaynağı (canonical source of truth) olarak kullanın ve yalnızca ModelApprovalStatus "Approved" olduğunda dağıtımlara izin verin.

Eğitim işi başlatma gecikmesini azaltmak, genellikle tekrarlanan tam kaynak sağlamayı (provisioning) önlemekle ilgilidir. Eğer birçok pipeline çalıştırması aynı girdiler üzerinde yeniden eğitim yapıyorsa, girdiler değişmediğinde TrainingStep’in atlanması için Pipeline CacheConfig’i etkinleştirin. Her çalıştırmada eğitim yapması gereken ancak düşük gecikme gerektiren yinelemeler için, SageMaker Studio’da hızlı prototipleme amacıyla daha küçük örnek türleri (instance types) kullanın veya konteyner soğuk başlangıçlarını (cold starts) önlemek için kalıcı bir Amazon EC2 örneğinde ya da EKS destekli özel bir eğitim düzenleyicide (orchestrator) birden fazla deneme çalıştırın — bu, daha düşük gecikme için operasyonel ek yükü (operational overhead) göze almak demektir. Üretim düzeyinde ölçeklenebilirlik için, bir miktar başlangıç gecikmesini kabul edin ve bunun yerine yeniden üretilebilirliği (reproducibility) otomatikleştirin.

Yaygın tuzaklar ve karar kriterleri

Sık yapılan bir hata, dağıtım sırasında DataCaptureConfig etkinleştirilmeden sapma tespiti için yalnızca uç nokta günlüklerine güvenmektir; yakalama olmadan, Model Monitor ve Clarify gerçek çıkarım girdilerini analiz edemez. Her zaman CreateEndpointConfig’i DataCaptureConfig (EnableCapture=true, DestinationS3Uri, CaptureOptions ve InitialSamplingPercentage) ile yapılandırın ve temel istatistiklere bağlanan CreateMonitoringSchedule aracılığıyla bir izleme zamanlaması oluşturun.

Bir diğer tuzak ise yetersiz S3 ve ağ güvenliğidir. İzole kalması gereken eğitim işleri, CreateTrainingJob’da VpcConfig kullanmalı ve S3 nesneleri için KMS şifrelemesini etkinleştirmelidir. Genel erişim kontrollerine güvenmeyin; bunun yerine S3 bucket policy’leri, VPC endpoint’leri (com.amazonaws.region.s3) ve IAM rolü kapsamını kullanın. Son olarak, değerlendirme metriklerini ve model kartı meta verilerini model paketine dahil ederek ve yapıtların üzerine yazmak yerine değişmez sürüm oluşturmayı (ModelPackageVersion) kullanarak kırılgan CI/CD’den kaçının.

Pratik Problem: Kullanım Senaryosu

AcmePay — işlem akışları için dolandırıcılık tespiti. Buradaki zorluk, S3 işlem günlüklerini, müşteri profillerini ve şirket içi MySQL tablolarını bir araya getiren, bir XGBoost dolandırıcılık sınıflandırıcısı eğiten, üretim öncesi manuel onay ile merkezi bir model kayıt defteri tutan, veri ve yanlılık sapmasını isteğe bağlı olarak tespit eden ve sürüm oluşturma ile yinelemeli çalıştırmalar için operasyonel yükü en aza indiren güvenli, denetlenebilir bir yaşam döngüsü oluşturmaktır.

  1. Verileri merkezileştirin: S3 işlem günlüklerini ve şirket içi MySQL’i AWS Glue JDBC konektörü (ağ erişimi için güvenli bir DataSync aktarımı veya VPC peering ile) aracılığıyla taramak için AWS Glue kullanın. Veri setlerini Glue Data Catalog’da kataloglayın ve AWS Lake Formation ile erişimi zorunlu kılın. İyileştirilmiş eğitim setlerini şifreli bir S3 ön ekinde (KMS CMK) saklayın ve genel erişimi önlemek için bucket policy’leri ile VpcEndpoint kullanın.

  2. Tekrarlanabilir işlem hatları oluşturun: Özellik mühendisliği için bir ProcessingStep (Data Wrangler veya Glue ETL dışa aktarımı), hiperparametrelerle yerleşik XGBoost container’ını çalıştıran bir TrainingStep ve model_package_group_name=“acmepay-fraud-group” ile model_approval_status=“PendingManualApproval” parametreleriyle RegisterModel’ı çağıran bir RegisterModel adımı içeren bir SageMaker Pipeline yazın. Girdiler/kod değişmediğinde çıktıları yeniden kullanmak için ön işleme ve eğitim adımlarında CacheConfig’i etkinleştirin, bu da tekrarlanan kaynak provizyonunu azaltır.

  3. CI/CD ve onay: Bir AWS CodePipeline’ı iskelet olarak oluşturan bir SageMaker Project oluşturun. İşlem hattı, CodeBuild’da birim testlerini çalıştırır, SageMaker Pipeline’ı tetikler ve RegisterModel’dan sonra bir CodePipeline ManualApproval eylemi içerir. Manuel onay eylemi, onaylandığında, ModelApprovalStatus’ü “Approved” olarak ayarlamak için UpdateModelPackage’ı çağıran bir Lambda’yı tetikler ve ardından dağıtım için CreateEndpointConfig ve CreateEndpoint’i tetikler. Altyapıyı tekrarlanabilir tutmak için SageMaker Projects tarafından oluşturulan CloudFormation kaynaklarını kullanın.

  4. Güvenli eğitim ve dağıtım: Eğitim işlerini CreateTrainingJob VpcConfig (SubnetIds, SecurityGroupIds) ve EnableNetworkIsolation=true ile gönderin; SageMaker execution rolünün KMS anahtarında kms:Decrypt ve yalnızca iyileştirilmiş veri seti ön eki için s3:GetObject izinlerine sahip olduğundan emin olun. Uç noktalar için, çıkarım verilerinin izleme amacıyla saklanması için DataCaptureConfig (EnableCapture=true, SamplingPercentage=100, DestinationS3Uri=s3://acmepay-prod/capture) ile bir CreateEndpointConfig oluşturun.

  5. İsteğe bağlı sapma ve yanlılık kontrolleri: Yakalanan çıkarım ve (varsa) gerçek etiketler üzerinde isteğe bağlı olarak ModelBias ve ModelExplainability analizleri çalıştırmak için bir ProcessingJob’da SageMaker Clarify kullanın; veri bilimi ekibi bir değerlendirme talep ettiğinde bir Lambda veya Step Functions’tan ClarifyProcessor.run() API’si aracılığıyla çağırın. Sürekli sapma uyarıları için, DefaultModelMonitor.suggest_baseline aracılığıyla bir Model Monitor temeli ve bir MonitoringSchedule oluşturun; periyodik kontrolleri çalıştırmak için CreateMonitoringSchedule’ı kullanın ve ihlaller için SNS bildirimlerini yapılandırın.

AWS gerekçesi: Glue + Lake Formation, minimum özel ETL koduyla heterojen kaynakları merkezileştirir ve güvence altına alır, SageMaker Pipelines + CacheConfig yinelemeli çalıştırmalar için altyapıdaki değişimi en aza indirir, Model Registry değişmez sürüm oluşturma ve meta veriler (ModelPackageGroupName ve ModelPackageVersion) sağlar ve ModelApprovalStatus aracılığıyla onay iş akışlarıyla yerel olarak entegre olur ve SageMaker Clarify ile Model Monitor hem isteğe bağlı yanlılık değerlendirmeleri hem de zamanlanmış sapma tespiti sunar. SageMaker Projects ve CodePipeline kullanmak, CI/CD’yi standartlaştırır ve üretim dağıtımından önce “PendingManualApproval” durumundan “Approved” durumuna denetlenebilir, tekrarlanabilir bir yükseltmeyi zorunlu kılar.


Model Dağıtımı ve Çıkarım · Tüm alanlar · Model İzleme ve Gözlemlenebilirlik

Bu soruları çözün → · ExamRoll.io’da süreli pratik →

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.

Sınavınızı geçin →

Amazon'a göz atın →

Related guides

Hepsi bir arada erişim

Tek abonelik. Her sınav.

Her plan, sınırsız cevap aramayı, pratik testlerini, AI açıklamalarını ve tam kaynak kütüphanesini — 20'den fazla dilde — açar.

Aylık
24.87
Just €0.83/day
Her şey dahil:
  • Sınırsız cevap arama
  • Sınırsız pratik testi
  • AI destekli açıklamalar
  • Tam kaynak kütüphanesi
  • 20+ dil
  • Haftalık içerik güncellemeleri
  • Ödüller ve yönlendirmeler
  • Öncelikli destek
Ücretsiz denemeyi başlat

Kredi kartı gerekmez*

En iyi değer
12 ay
179.87
Just €0.49/daySave 40%
Her şey dahil:
  • Sınırsız cevap arama
  • Sınırsız pratik testi
  • AI destekli açıklamalar
  • Tam kaynak kütüphanesi
  • 20+ dil
  • Haftalık içerik güncellemeleri
  • Ödüller ve yönlendirmeler
  • Öncelikli destek
Ücretsiz denemeyi başlat

Kredi kartı gerekmez*

✓ Ücretsiz plan dahil · ✓ İstediğiniz zaman iptal edin · ✓ Tüm planlar tam ürünü açar