Molndistribution: AWS SageMaker
SageMaker Model, EndpointConfig, Endpoint, realtidsinferens, batchtransformering.
Molndistribution: AWS SageMaker är en gratis lektion i Lär Er AI med Python på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Lär Er AI med Python, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.
Varför SageMaker
Amazon SageMaker är en hanterad tjänst för att träna och distribuera ML-modeller. I stället för att själva konfigurera servrar och lastbalanserare beskriver Ni en modell, så startar SageMaker en skalbar HTTPS-endpoint i bakgrunden.
De tre beståndsdelarna
En SageMaker-distribution behöver tre saker:
- En containeravbildning i image_uri (er serveringsavbildning i ECR eller en inbyggd framework-avbildning)
- De tränade vikterna som model_data, ett tar.gz-arkiv i S3
- En IAM-roll som ger SageMaker åtkomst till dessa resurser
Definiera en modell
Objektet sagemaker.Model kopplar containeravbildningen till modellartefakten i S3.
import sagemaker
from sagemaker.model import Model
model = Model(
image_uri="123456789012.dkr.ecr.us-east-1.amazonaws.com/my-model:latest",
model_data="s3://my-bucket/models/model.tar.gz",
role="arn:aws:iam::123456789012:role/SageMakerRole",
)Vad finns i model.tar.gz
SageMaker hämtar och packar upp model_data i /opt/ml/model i containern när den startar. Er serveringskod läser vikterna därifrån. Arkivet innehåller vanligtvis den sparade modellfilen samt eventuella tillgångar för förbehandling.
# model.tar.gz contents
# model.pt
# tokenizer.json
# config.jsonDistribuera en realtidsendpoint
model.deploy startar en eller flera instanser bakom en permanent HTTPS-endpoint. Ni väljer instance_type och det ursprungliga antalet instanser.
predictor = model.deploy(
initial_instance_count=1,
instance_type="ml.m5.xlarge",
endpoint_name="my-model-endpoint",
)Välja en instanstyp
Instanstypen styr kostnad och latens:
ml.m5.*CPU för generell användning, kostnadseffektiv för små modellerml.c5.*beräkningsoptimeradml.g4dn.*/ml.g5.*GPU för inferens inom deep learning
Anpassa instansen efter modellen: en GPU är slöseri för en liten scikit-learn-modell.
Anropa predict()
När modellen har distribuerats skickar predictor.predict() en nyttolast till endpointen och returnerar inferensresultatet. SageMaker serialiserar begäran och dirigerar den till en aktiv instans.
result = predictor.predict({
"instances": [[5.1, 3.5, 1.4, 0.2]]
})
print(result)Rensa bort endpoints
Realtidsendpoints debiteras per sekund medan de körs. Ta alltid bort endpoints som Ni inte längre behöver, annars fortsätter kostnaderna att öka även utan trafik.
predictor.delete_endpoint()Batchtransformering för offlinejobb
Använd batchtransformering när Ni ska beräkna resultat för en stor datamängd en gång, i stället för att tillhandahålla en tjänst med låg latens. SageMaker startar instanser, bearbetar en hel S3-datamängd, skriver resultaten tillbaka till S3 och stänger sedan av instanserna. Ingen permanent endpoint och inga kostnader för inaktiva instanser.
Köra en batchtransformering
Ni skapar en transformerare från modellen och anger indata i S3.
transformer = model.transformer(
instance_count=1,
instance_type="ml.m5.xlarge",
output_path="s3://my-bucket/predictions/",
)
transformer.transform(
data="s3://my-bucket/input/batch.csv",
content_type="text/csv",
)
transformer.wait()Realtid jämfört med batch
Välj utifrån arbetsbelastningen:
- Realtidsendpoint: kontinuerliga begäranden med låg latens (till exempel ett rekommendations-API)
- Batchtransformering: periodisk beräkning av resultat för stora datamängder (till exempel nattliga prognoser för kundbortfall)
Batch är betydligt billigare när Ni inte behöver omedelbara svar.
Snabbtest
När bör Ni använda SageMaker-batchtransformering i stället för en realtidsendpoint?
Sammanfattning
Ni har distribuerat en modell till AWS SageMaker:
sagemaker.Modelkopplar en image_uri till model_data i S3model.deployskapar en realtidsendpoint med en vald instance_typepredictor.predict()skickar inferensbegäranden- Batchtransformering hanterar stora offlinearbetsbelastningar kostnadseffektivt
- Ta alltid bort inaktiva endpoints för att undvika kostnader
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 53
- Lektioner
- 225
Vanliga frågor
Är lektionen ”Molndistribution: AWS SageMaker” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Lär Er AI med Python, inklusive ”Molndistribution: AWS SageMaker”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Lär Er AI med Python innehåller totalt 4 lektioner.
Vad lär jag mig i ”Molndistribution: AWS SageMaker”?
SageMaker Model, EndpointConfig, Endpoint, realtidsinferens, batchtransformering. Ni övar på Lär Er AI med Python med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Lär Er AI med Python?
Du behöver inga förkunskaper. Utbildningen i Lär Er AI med Python på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Molndistribution: AWS SageMaker”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Lär Er AI med Python-lektionen?
Ja. Varje Lär Er AI med Python-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Containerisera ML-modeller med Docker
- Molndistribution: AWS SageMaker
- Högpresterande tillhandahållande med Triton Inference Server
- Skalning och automatisk skalning av modellslutpunkter