Amazon MLA-C01: Model Dağıtımı ve Çıkarım — Ç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.
Gerçek zamanlı, sunucusuz, asenkron ve toplu uç noktalar — temel konsept
Amazon SageMaker’da gerçek zamanlı çıkarım, bir Model, bir EndpointConfig ve bir Endpoint oluşturduğunuz, sağlanan işlem kaynaklarını (ml.* örnek türleri) tahsis eden ve InvokeEndpoint API’si aracılığıyla istekleri sunmak için sürekli kullanılabilir durumda kalan, düşük gecikme süreli, durum bilgisi tutan (stateful) bir hizmet modelidir. CreateEndpointConfig, ProductionVariants’ı kabul eder ve her bir ProductionVariant; ModelName, InitialInstanceCount, InstanceType ve InitialVariantWeight’i tanımlar. Trafiği ve kapasiteyi UpdateEndpointWeightsAndCapacities veya UpdateEndpoint ile değiştirebilirsiniz. Öngörülebilir düşük gecikme süresi ihtiyaçları için, sağlanan gerçek zamanlı uç noktalar birincil seçenektir ve ön işleme, model ve son işleme konteynerlerini zincirlemek için çoklu konteyner çıkarım ardışık düzenlerini destekler.
Sunucusuz Çıkarım (Serverless Inference), örnek (instance) yönetimini ortadan kaldırır ve her bir ProductionVariant için MemorySizeInMB ve MaxConcurrency belirten bir ServerlessConfig ile uç nokta seviyesinde yapılandırılır. SageMaker, konteyner tedarikini yönetir ve boştayken sıfıra ölçeklenir; bu da onu düzensiz (spiky), düşük verimli (low-throughput) iş yükleri için ideal hale getirir. Asenkron Çıkarım (Asynchronous Inference), çalışması uzun süren veya istemcinin senkron bir yanıt gerektirmediği istekler için optimize edilmiştir. Bir asenkron uç nokta, CreateEndpointConfig içinde AsyncInferenceConfig (S3OutputPath içeren bir OutputConfig, isteğe bağlı ClientConfig ve MaxConcurrentInvocationsPerInstance) ile oluşturulur ve istemciler, bir girdi S3 URI’si sağlayarak InvokeEndpointAsync’i çağırır; sonuçlar, yapılandırılan S3 çıktı konumuna yazılır. Toplu Dönüştürme (Batch Transform), büyük çevrimdışı çıkarım iş yükleri için ayrı bir iş türüdür (CreateTransformJob). API; TransformInput (S3Uri ve S3DataType içeren S3DataSource), TransformOutput (S3OutputPath, Accept, AssembleWith) ve TransformResources (InstanceType, InstanceCount) gerektirir. Toplu Dönüştürme, gecikme süresinin değil verimin (throughput) önemli olduğu durumlarda en iyisidir ve veri setleri arasında büyük paralelliği destekler.
Çok modelli uç noktalar, çıkarım ardışık düzenleri, gölgeleme ve A/B testi — temel hizmetler ve yapılandırma
Model başına düşük QPS (saniye başına sorgu) ile çok sayıda modeli barındırırken, SageMaker Çok Modelli Uç Noktalar (MME), tek bir konteynerin S3’te depolanan onlarca ila binlerce model yapıtını barındırmasına ve bunları talep üzerine yüklemesine olanak tanır. SageMaker çok modelli sunucu desenini uygulayan bir model sunucu konteyneri oluşturur veya desteklenen bir framework imajı kullanır, model tarball’larını S3’e yükler ve konteynere referans veren bir Model kaynağı oluşturursunuz. Çağrı zamanında, sunucunun o modeli S3’ten belleğe yüklemesi için hedef model adını InvokeEndpoint API’sinin TargetModel parametresi (veya X-Amzn-SageMaker-Target-Model başlığı) aracılığıyla iletirsiniz. MME’ler, büyük model filoları için bellek ve operasyonel maliyetten tasarruf sağlar, ancak çalışma zamanında henüz bulunmayan modeller için soğuk başlatma gecikmesi ekler.
Çıkarım ardışık düzenleri, Model kaynağının Konteynerleri (Containers) sırayla listelediği çoklu konteyner modelleri olarak uygulanır; uç nokta, yükleri (payload) ilk konteynerden (ön işleme), ardından model konteynerinden, sonra da son işleme konteynerinden geçirir. CreateModel’de her konteyneri kendi ModelDataUrl’si ve ortam değişkenleriyle tanımlayın. Kanarya (canary) veya mavi/yeşil (blue/green) tarzı testler için bir EndpointConfig’de birden fazla ProductionVariants kullanın ve trafik bölünmesini InitialVariantWeight ile ve daha sonra UpdateEndpointWeightsAndCapacities aracılığıyla kontrol edin. Bir gölge dağıtım (shadow deployment), ya uygulama katmanında her isteğin bir kopyasını bir gölge uç noktaya göndererek (üretim uç noktasında trafik ağırlığı olmadan) ya da uç nokta altyapısının bir miktar yansıtılmış trafik alması için düşük ağırlıklı bir ProductionVariant oluşturarak gerçekleştirilebilir; uygulama katmanında istek kopyalama, deneyin tam olarak yalıtılmasını ve bağımsız gözlemlenebilirlik sağlar.
İsteğe bağlı ve sürekli izleme için, bir uç nokta oluştururken istek ve yanıt yüklerini (payload) S3’e kalıcı olarak kaydetmek üzere DataCaptureConfig’i yapılandırın. İlgili DataCaptureConfig alanları arasında EnableCapture (true), InitialSamplingPercentage, DestinationS3Uri ve CaptureOptions (REQUEST, RESPONSE) bulunur. Yakalanan veriler, SageMaker Model Monitor ve SageMaker Clarify’ın dağıtım sonrası kontrolleri için temel oluşturur; Model Monitor’ün CreateMonitoringSchedule’ı ile temel çizgiler (baseline) oluşturabilir ve kısıtlamaları ve sürüklenme metriklerini (drift metrics) hesaplamak için yerleşik model izleme konteynerini kullanan anlık (ad-hoc) Processing işleri çalıştırabilirsiniz.
Tasarım desenleri ve takaslar
Tek haneli ila düşük çift haneli milisaniye gecikme süresine ihtiyaç duyduğunuzda ve sürekli açık kapasiteyi karşılayabildiğinizde, sağlanmış (provisioned) gerçek zamanlı uç noktaları seçin. Boştayken dakika başına maliyet en önemli kısıtsa ve trafik aralıklıysa, sunucusuz uç noktalar operasyonları azaltır: her bir varyant için
undefined
ve
undefined
yapılandırın ve SageMaker’ın otomatik ölçeklendirme yapmasına izin verin. Uzun süren çıkarım işlemleri veya ağır yük (payload) alışverişi desenleri olan iş yükleri için, asenkron uç noktalar istemci yaşam döngüsünü işlemden (compute) ayırır; bunlar, girişler/çıkışlar için S3 gerektirir ve istemcilerin tamamlama için S3 bildirimlerini yoklayabildiği (poll) veya alabildiği durumlar için en uygun olanıdır.
Çok modelli uç noktalar, bellek tekrarını ve S3 nesne yönetimi karmaşıklığını azaltır, ancak model başına soğuk başlatma (cold-start) gecikmesi ekler ve isteğe bağlı S3 yüklemesi ile uygun yaşam döngüsü yönetimi (eviction/LRU) yapabilen bir model sunucusu gerektirir. Model başına gecikme kritikse, sık kullanılan (hot) modelleri adanmış ProductionVariants üzerinde barındırın ve düşük trafikli modelleri bir MME’ye aktarın. Çıkarım işlem hatları (Inference pipelines), ön işleme ve son işleme mantığını modele daha yakın bir yerde merkezileştirerek istemci tarafı kodu azaltır ve eğitim ile çıkarım arasında tutarlı dönüşüm sağlar, ancak uç nokta başlatma karmaşıklığını artırır ve sağlam bir konteyner sözleşmesi (giriş/çıkış kodekleri ve içerik türleri) tasarımı gerektirir.
ProductionVariant ağırlıklarını kullanarak A/B testi yapmak, trafik bölme ve çevrimdışı metrik toplama için basittir, ancak üretim metriklerini etkilemeden trafiği gölgelemek (shadow traffic) istediğinizde, uygulama düzeyinde yansıtmayı (mirroring) tercih edin. Aşamalı dağıtımlar (progressive rollouts) ve geri alma (rollback) otomasyonu için, CloudWatch metrikleri, Model Monitor uyarıları ve nihai yükseltmeyi denetleyen bir manuel onay eylemi kullanarak otomatik metrik değerlendirmesini içeren bir CodePipeline veya Step Functions iş akışına UpdateEndpointWeightsAndCapacities entegre edin.
Sık yapılan hatalar ve karar kriterleri
Yaygın bir operasyonel hata, Model Monitor’ün etiket kullanılabilirliği sorunlarını tespit edeceğini varsaymaktır; Model Monitor, yakalanan isteklerden özellik dağılımı kaymasını ve veri kalitesi ihlallerini tespit edebilir, ancak etiket tabanlı metrik bozulmasını (F1, recall) ölçmek için gerçek değer etiketlerini (ground-truth labels) S3’e izleme işlerinin tüketebileceği bir formatta geri göndermeniz ve tahmin ile gerçeği karşılaştıran bir izleme işi zamanlamanız gerekir. Bir diğer sık yapılan hata, ServerlessConfig.MemorySizeInMB’nin uygun şekilde boyutlandırılmamasıdır; yetersiz bellek tahsisi kısıtlamalara (throttling) veya container çökmelerine neden olurken, aşırı kaynak tahsisi maliyeti artırır. Çok modelli uç noktalar için, uygun S3 nesne düzenini ve yaşam döngüsünü (ön ekler, model manifestoları) ayarlamayı ihmal etmek, soğuk yüklemeleri yavaşlatır ve tahliye politikalarını (eviction policies) karmaşıklaştırır.
Dolandırıcılık tespiti için sınıf dengesizliğiyle uğraşırken, minimum operasyonel ek yük için yoğun örnekleme işlem hatları yerine algoritmaya özgü ağırlıklandırmayı tercih edin; örneğin, XGBoost (SageMaker XGBoost container’ı) ‘scale_pos_weight’ hiperparametresini destekler. Bu değeri negative_examples/positive_examples olarak hesaplar ve CreateTrainingJob çağrısındaki hiperparametre haritası (hyperparameters map) aracılığıyla iletirsiniz. Manuel dağıtım denetimi için SageMaker Model Registry’yi kullanın: bir ModelPackageGroup oluşturun, bir model paketini kaydetmek için CreateModelPackage’ı çağırın ve model paketi durumunu PendingManualApproval olarak ayarlayın; harici bir CodePipeline manuel onay eylemi veya bir Step Functions + SNS manuel onayı, CreateModel veya CreateEndpoint çalıştırılmadan önce ApprovalStatus = “Approved” olarak ayarlamak için UpdateModelPackage’ı çağırabilir.
Pratik Problem: Uygulama Senaryosu
FraudDetectCo, S3’teki işlem günlüklerini ve şirket içi (on-prem) MySQL müşteri profili tablolarını birleştirmesi, bir XGBoost modeli eğitmesi, bunu neredeyse gerçek zamanlı gecikmeyle dağıtması, üretim sürümleri için manuel bir onay kapısı uygulaması ve hem veri kümesi anomalilerini hem de model kaymasını isteğe bağlı olarak tespit etmesi gereken bir çevrimiçi dolandırıcılık tespit sistemi kuruyor.
Veri toplama ve ön işleme: Şirket içi MySQL tablolarını S3’e (parquet) veya Amazon RDS/Athena özellikli bir veri gölüne sürekli olarak çoğaltmak için AWS Database Migration Service (DMS) veya AWS Glue’nun JDBC konektörünü kullanın; tutarlı eğitim ve çevrimiçi sunum için özellik araması sağlamak amacıyla AWS Glue ile kataloglayın ve özellikleri Amazon SageMaker Feature Store çevrimdışı mağazasına kaydedin. Bu, özellik kökenini (feature lineage) merkezileştirir ve izolasyon için S3 güvenlik politikalarını ve Lake Formation yönetişimini uygular.
Eğitim ve sınıf dengesizliği yönetimi: SageMaker XGBoost yerleşik container’ını kullanarak SageMaker Eğitim işlerini çalıştırın. Sınıf dengesizliğini minimum ön işleme ile ele almak için eğitim etiketi oranını hesaplayın ve CreateTrainingJob HyperParameters haritasında XGBoost “scale_pos_weight” hiperparametresini ayarlayın. Ardışık işler arasında başlatma süresini ve veri indirme gecikmesini azaltmak için eğitim kanalı için Pipe modunu kullanın (DataSource’da S3DataSource ve S3DataType’ı S3Prefix olarak ayarlayın ve Pipe modu kullanılıyorsa “RecordWrapperType”:“None” seçeneğini etkinleştirin).
Model kaydı ve manuel onay: Bir ModelPackageGroup içinde CreateModelPackage’ı çağırarak eğitilmiş modelleri SageMaker Model Registry’ye kaydedin. Başlangıçtaki ApprovalStatus’u PendingManualApproval olarak ayarlayın, bir AWS Manual Approval eylemi içeren bir AWS CodePipeline’ı entegre edin ve manuel onayın ardından CreateModel ve CreateEndpointConfig aracılığıyla ModelPackage’ı üretime yükseltmeden önce ApprovalStatus=“Approved” ile UpdateModelPackage’ı çağırın.
Dağıtım ve çıkarım topolojisi: Düşük gecikmeli puanlama için modeli, kaynakları tahsis edilmiş (provisioned) bir gerçek zamanlı uç noktaya dağıtın. Daha sonra yüzlerce modelin barındırılması gerekiyorsa, bir Multi-Model Endpoint (Çok Modelli Uç Nokta) değerlendirin ve S3’te depolanan belirli modelleri yönlendirmek için InvokeEndpoint TargetModel parametresini kullanın. İsteğe bağlı analiz için istek/yanıt payload’larını toplamak üzere DataCaptureConfig’i (EnableCapture=true, InitialSamplingPercentage=100, DestinationS3Uri=s3://
<bucket>/captures, CaptureOptions=[‘REQUEST’,‘RESPONSE’]) yapılandırın.İzleme ve anomali tespiti: Veri kalitesi ve özellik kayması için CreateMonitoringSchedule ile SageMaker Model Monitor temel çizgilerini (baseline) zamanlayın. Veri kümesi düzeyinde anomali tespiti ve görselleştirme için, yakalanan S3 verilerini anomalileri otomatik olarak tespit etmesi için Amazon Lookout for Metrics’e ve gösterge panelleri (dashboard) için Amazon QuickSight’a besleyin. İsteğe bağlı yanlılık ve kayma değerlendirmesi için, yakalanan verilere karşı SageMaker Clarify işleme işlerini çalıştırın veya depolanan temel çizgi kısıtlamalarını uygulayan ve karşılaştırma raporunu üreten geçici (ad-hoc) bir Model Monitor İşleme işi (CreateProcessingJob aracılığıyla) başlatın.
Gerekçe: Bu yaklaşım, tekrarlanabilir eğitim ve düşük gecikmeli sunum için özellikleri merkezileştirir, minimum işlem hattı karmaşıklığıyla sınıf dengesizliği için XGBoost’un scale_pos_weight özelliğini kullanır, CodePipeline ile entegre Model Registry’de manuel bir onayı zorunlu kılar, eğitim verilerini akışla göndermek için Pipe modunu kullanarak eğitim başlatma gecikmesini azaltır ve yakalanan çıkarım verilerini kullanarak hem otomatik anomali tespiti (Lookout for Metrics) hem de isteğe bağlı adillik/kayma kontrolleri (Clarify + Model Monitor) sağlar.
← Model Değerlendirmesi ve Seçimi · Tüm alanlar · MLOps ve Model Yaşam Döngüsü Yönetimi →
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 →