Amazon MLA-C01: Kostenoptimalisatie voor ML-workloads — Studiegids
Onderdeel van de AWS Machine Learning Engineer Associate MLA-C01 — Studiegids. Oefen met geverifieerde antwoorden in het Amazon-examencentrum, of doe getimede oefentests op ExamRoll.io.
Kernconcept: waar kosten vandaan komen en welke hefbomen je hebt
Kosten voor machine learning-workloads worden bepaald door drie fundamentele categorieën: compute voor training en inference, opslag en dataoverdracht voor datasets en checkpoints, en operationele overhead door onderbenutte of slecht geprovisioneerde infrastructuur. Training is vaak de grootste kostenpost wanneer je grote modellen traint of veel experimenten uitvoert. Inference-kosten domineren wanneer je modellen op grote schaal serveert of lage latency nodig hebt voor interactieve apps. De belangrijkste optimalisatiehefbomen zijn de keuze van instance family en -grootte, aankoopopties (on-demand vs. Spot vs. Savings Plans), patronen in de modellevenscyclus (batch vs. realtime vs. serverless), en runtime-optimalisaties zoals modelcompilatie, caching en consolidatie van instances.
Operationele technieken brengen die hefbomen in de praktijk. Gebruik managed Spot training met checkpointing om de compute-kosten voor training tot 70% te verlagen in vergelijking met on-demand, maar koppel dit aan checkpointing (CreateTrainingJob-parameter CheckpointConfig → S3Uri) en zet de CreateTrainingJob-vlag EnableManagedSpotTraining op ’true’ zodat jobs na onderbrekingen kunnen worden hervat. Kies de juiste instance-grootte (‘right-sizing’) door het daadwerkelijke CPU/GPU/IO-gebruik te profilen (CloudWatch-metrics zoals GPUUtilization, HostCPUUtilization en profiler-traces van SageMaker Debugger), en stap dan over op compute families die passen bij de kenmerken van de workload (ml.c5/ml.c6 voor CPU, ml.g5/ml.p4 voor GPU, ml.r5 voor geheugenintensief). Geef voor inference de voorkeur aan kostenproportionele modellen: gebruik serverless inference (CreateEndpointConfig production variant met ServerlessConfig → MemorySizeInMB en MaxConcurrency) voor workloads met pieken en een lage doorvoer; gebruik multi-model endpoints of modelcompilatie (SageMaker Neo) om de instance-vereisten voor veel kleine modellen te verkleinen; en verplaats grote of latency-ongevoelige workloads naar asynchrone of batch transforms (AsyncInferenceConfig en Batch Transform).
Belangrijkste services en configuratie
Amazon SageMaker biedt expliciete knoppen voor kostenbeheersing. Gebruik voor lagere trainingskosten managed Spot training: stel in de CreateTrainingJob API EnableManagedSpotTraining=true in, voeg CheckpointConfig.S3Uri toe en stel MaxWaitTimeInSeconds > MaxRuntimeInSeconds in om de acquisitie van Spot-capaciteit mogelijk te maken. In de SageMaker Python SDK kun je estimator.use_spot_instances=True, estimator.max_wait en estimator.checkpoint_s3_uri instellen op de S3-locatie voor checkpoints. Voor reproduceerbare lage latency bij opeenvolgende training jobs, houd containers ‘warm’ door gebruik te maken van SageMaker Processing of door containers te trainen op persistente, geprovisioneerde infrastructuur wanneer de experimenteerfrequentie dit vereist. Verminder anders de opstarttijd van containers door kleinere container images, vooraf gebouwde SageMaker-containers of een persistente training instance in een ontwikkelomgeving te hergebruiken.
Voor kostenbeheersing bij inference ondersteunen CreateEndpointConfig/UpdateEndpointConfig meerdere strategieën. Gebruik ServerlessConfig in ProductionVariants om SageMaker de schaling te laten beheren en per aanroep en geheugen te factureren in plaats van voor volledige instance-uren; de ServerlessConfig vereist de waarden MemorySizeInMB en MaxConcurrency. Gebruik voor stabiele workloads met een hoge doorvoer Provisioned instances en pas Application Auto Scaling target tracking policies toe op het endpoint om overprovisioning te voorkomen. Multi-model endpoints verlagen de kosten wanneer je veel zelden gebruikte modellen host door een enkele container te delen en modelartefacten op aanvraag vanuit S3 te laden. Roep voor aanbevelingen over modelgrootte CreateInferenceRecommendationsJob aan in de Inference Recommender, wat advies oplevert over instance type, batchgrootte en latency/doorvoer.
Factureringsverplichtingen (‘billing commitments’) kunnen het beste worden afgehandeld met SageMaker Savings Plans of AWS Compute Savings Plans. Koop een Savings Plan via de AWS Billing console om je voor een periode van 1 of 3 jaar vast te leggen op een bedrag van $/uur; dit geeft korting op on-demand SageMaker compute (training en hosting) voor alle instance families. Let op: Savings Plans zijn van toepassing op on-demand gebruik en niet op Spot. Combineer daarom strategieën: koop Savings Plans voor stabiel basisgebruik en gebruik Spot voor trainingen met pieken of voor experimentele trainingen.
Ontwerppatronen en afwegingen
Het managed Spot + checkpointing-patroon is de aangewezen methode voor lange of grote gedistribueerde trainingsruns. Dit vereist minimale codewijzigingen: activeer EnableManagedSpotTraining, geef een CheckpointConfig.S3Uri op en stel een geschikte MaxWaitTimeInSeconds in om Spot-scheduling te tolereren. De afweging is de complexiteit bij het herstarten en een iets langere ‘wall-clock time’ als Spot-onderbrekingen frequent zijn; het voordeel is een drastische kostenreductie. Voor iteratieve experimenten waarbij de opstartlatentie tussen opeenvolgende jobs belangrijk is, onderhoud je een ‘warme’ ontwikkelomgeving: gebruik kleinere, geprovisioneerde ml.m5- of ml.c5-instances met vooraf geladen data op NVMe/lokale cache, of voer veel experimenten uit als lokale processing jobs op dezelfde instance met SageMaker Processing of Studio notebooks. Dit verhoogt de basiskosten, maar verkort de totale cyclustijd.
Kies voor inference tussen serverless en geprovisioneerde endpoints, afhankelijk van het verkeerspatroon. Serverless inference (ServerlessConfig) elimineert capaciteitsplanning en is het goedkoopst voor intermittent, onvoorspelbaar verkeer, omdat je betaalt per aanroep en geheugentoewijzing. De afweging is de ‘cold start’-latentie en groottelimieten; geef voor strikte low-latency SLA’s de voorkeur aan geprovisioneerde instances met autoscaling en overweeg modeloptimalisatie met SageMaker Neo om het aantal instances te verminderen. Waar veel modellen gehost moeten worden maar het verkeer per model laag is, consolideren multi-model endpoints het schijf- en geheugengebruik en verlagen ze de kosten per model, ten koste van een iets hogere ‘cold-start’-laadtijd voor een niet-geladen model.
Right-sizing moet gebaseerd zijn op observatie, niet op giswerk. Gebruik SageMaker Debugger profiling en CloudWatch om GPUUtilization en DiskReadOps te verzamelen; voer vervolgens een Inference Recommender-job (CreateInferenceRecommendationsJob) uit om de instance-klasse/type en prestaties te valideren. Als de latency-eisen voor het model streng zijn, overweeg dan model-kwantisatie of compileren met SageMaker Neo, of het gebruik van Elastic Inference-accelerators om fractionele GPU-inference aan CPU-instances te koppelen; met Elastic Inference kun je een kleine accelerator aan een CPU-instance koppelen, wat voor bepaalde modellen de kosten verlaagt in vergelijking met volledige GPU-instances.
Veelvoorkomende valkuilen en beslissingscriteria
Een veelgemaakte fout is het toepassen van één enkele kostenoptimalisatie op alle workloads. Savings Plans zijn krachtig voor een stabiel basisgebruik, maar moeten worden gecombineerd met Spot voor experimentele workloads en serverless voor piekbelasting bij inference. Ga er niet van uit dat Spot gratis is — het vereist checkpointing en tolerante trainingslogica; configureer CreateTrainingJob.CheckpointConfig en EnableManagedSpotTraining, en bereken een MaxWaitTimeInSeconds die weerspiegelt hoe lang je een vertraagde start accepteert. Een andere valkuil is het negeren van telemetrie: zonder profiling (SageMaker Debugger, CloudWatch en Inference Recommender) loop je het risico op overprovisioning of het kiezen van een instance family met een verkeerde verhouding tussen CPU-, GPU- en geheugenkenmerken. Tot slot vereenvoudigt serverless inference de kosten, maar kan het onvoorspelbare cold starts introduceren; meet de end-to-end latency bij gebruik van ServerlessConfig en val terug op provisioned endpoints met autoscaling voor strikte SLA’s.
Praktijkprobleem: Gebruikersscenario
Bedrijf: FinSight Analytics. Uitdaging: FinSight moet een fraudedetectie-pipeline bouwen die frequent traint op in S3 opgeslagen transactielogs en klantprofielen, data geïsoleerd houdt, governance voor modelversies ondersteunt met handmatige goedkeuring vóór productie-implementatie, de trainingskosten voor nachtelijke hertraining verlaagt, de opstartlatentie per taak tijdens snelle experimenten minimaliseert, en een realtime endpoint met lage latency levert dat kostengevoelig is voor piekverkeer.
Gecentraliseerde, beveiligde data en model registry. Sla data op in een beveiligde S3-bucket met standaardversleuteling en bucket policies die de toegang beperken tot de SageMaker execution role. Registreer modellen in SageMaker Model Registry; gebruik de SageMaker Pipelines RegisterModel-stap om model packages te creëren waarbij ModelApprovalStatus standaard op “PendingManualApproval” staat. Implementeer de menselijke workflow voor handmatige goedkeuring door een SageMaker Pipeline te creëren die een model package en een handmatige goedkeuringsstap produceert; wanneer geautoriseerde reviewers de validatie voltooien, roepen ze boto3 sagemaker.update_model_package(ModelPackageName=…, ModelApprovalStatus=‘Approved’) aan om de implementatie toe te staan. Rationale: Model Registry biedt gecentraliseerde versiebeheer, en ModelApprovalStatus integreert rechtstreeks met SageMaker API’s voor minimale aangepaste operations.
Kostenefficiënte nachtelijke hertraining. Gebruik managed Spot training door training jobs te creëren met EnableManagedSpotTraining=true, voeg CheckpointConfig.S3Uri toe om de optimizer-status te persisteren, en stel MaxRuntimeInSeconds en MaxWaitTimeInSeconds correct in zodat jobs kunnen worden hervat na Spot-onderbrekingen. Combineer dit met de aankoop van een basis Savings Plan, gedimensioneerd om de gemiddelde on-demand trainings-/inference-uren te dekken om de vaste kosten te verlagen, en gebruik Spot voor experimenten waar onderbrekingen aanvaardbaar zijn. Rationale: Managed Spot verlaagt de compute-kosten met minimale codewijzigingen; Savings Plans zijn van toepassing op het basis on-demand gebruik om voorspelbare uitgaven te verlagen.
Opstartlatentie voor experimenten verminderen. Voor interactieve experimentatiecycli, onderhoud een persistente ontwikkelingsinstance (een ml.c5 of ml.m5) in SageMaker Studio of een kleine, dedicated Notebook Instance met vooraf geladen datasets op EBS/NVMe en hergebruik die omgeving voor veel snelle trainingsruns. Gebruik voor nachtelijke productietaken nog steeds managed Spot met checkpointing. Rationale: Een persistente omgeving vermijdt cold starts van containers en verbetert de iteratiesnelheid, terwijl de kostenbesparingen voor zware taken behouden blijven.
Realtime serving met lage latency en kostengevoeligheid. Implementeer het goedgekeurde model op een provisioned endpoint voor een basis lage latency en koppel een Application Auto Scaling-policy aan het endpoint om tijdens daluren omlaag te schalen. Voor onvoorspelbare verkeerspieken, gebruik een Serverless inference-optie voor modellen met een laag volume of gebruik asynchronous inference (AsyncInferenceConfig met S3 OutputConfig) voor zware, niet-realtime batch scoring-taken. Pas SageMaker Neo-compilatie toe op het model vóór de implementatie om de CPU/GPU-footprint te verkleinen. Rationale: De combinatie van provisioned + autoscaling geeft een stabiele lage latency en kostenbeheersing; serverless of asynchrone endpoints verwerken piek- of batch-workloads kostenefficiënter, en Neo vermindert de benodigde instance-capaciteit.
Deze aanpak combineert EnableManagedSpotTraining met CheckpointConfig voor het verlagen van de trainingskosten, SageMaker Model Registry en UpdateModelPackage voor handmatige goedkeuringen, een persistente ontwikkelingsinstance voor verminderde opstartlatentie, en een mix van provisioned, serverless en gecompileerde modellen om de inference-kosten te optimaliseren.
← Generatieve AI en Foundation Models · Alle domeinen · Computer Vision →
Oefen deze vragen → · Getimede oefening op 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.
Slaag voor je examen →