Deployment nel cloud: AWS SageMaker
SageMaker Model, EndpointConfig, Endpoint, inferenza in tempo reale, batch transform
Deployment nel cloud: AWS SageMaker è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Perché SageMaker
Amazon SageMaker è un servizio gestito per l'addestramento e la distribuzione di modelli di ML. Invece di configurare personalmente server e bilanciatori di carico, si descrive un modello e SageMaker configura automaticamente un endpoint HTTPS scalabile.
I tre elementi necessari
Una distribuzione SageMaker richiede tre elementi:
- Un'immagine container image_uri (l'immagine di serving in ECR o un'immagine integrata di un framework)
- I pesi addestrati come model_data, in un archivio tar.gz su S3
- Un ruolo IAM che conceda a SageMaker l'accesso a queste risorse
Definizione di un modello
L'oggetto sagemaker.Model collega l'immagine del container all'artefatto del modello in 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",
)Cosa contiene model.tar.gz
All'avvio, SageMaker scarica ed estrae model_data in /opt/ml/model all'interno del container. Il codice di serving legge da lì i pesi. L'archivio contiene in genere il file del modello salvato e tutte le risorse necessarie per la preelaborazione.
# model.tar.gz contents
# model.pt
# tokenizer.json
# config.jsonDistribuzione di un endpoint in tempo reale
model.deploy avvia una o più istanze dietro un endpoint HTTPS persistente. È possibile scegliere instance_type e il numero iniziale di istanze.
predictor = model.deploy(
initial_instance_count=1,
instance_type="ml.m5.xlarge",
endpoint_name="my-model-endpoint",
)Scelta del tipo di istanza
Il tipo di istanza determina costi e latenza:
ml.m5.*CPU per uso generico, economica per i modelli piccoliml.c5.*ottimizzata per il calcoloml.g4dn.*/ml.g5.*GPU per l'inferenza di deep learning
Scelga l'istanza in base al modello: una GPU è sprecata per un piccolo modello scikit-learn.
Chiamata a predict()
Una volta effettuata la distribuzione, predictor.predict() invia un payload all'endpoint e restituisce il risultato dell'inferenza. SageMaker serializza la richiesta e la inoltra a un'istanza attiva.
result = predictor.predict({
"instances": [[5.1, 3.5, 1.4, 0.2]]
})
print(result)Eliminazione degli endpoint
Gli endpoint in tempo reale vengono addebitati ogni secondo mentre sono in esecuzione. Elimini sempre gli endpoint che non Le servono più, altrimenti continuerà a sostenere costi anche in assenza di traffico.
predictor.delete_endpoint()Batch transform per i processi offline
Per calcolare i punteggi di un grande dataset una sola volta (anziché fornire un servizio a bassa latenza), utilizzi la trasformazione batch. SageMaker avvia le istanze, elabora un intero dataset S3, scrive i risultati nuovamente su S3 e poi arresta le istanze. Non c'è un endpoint persistente né costi per l'inattività.
Esecuzione di una trasformazione batch
Si crea un transformer a partire dal modello e lo si indirizza ai dati di input in 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()Tempo reale e batch a confronto
La scelta dipende dal carico di lavoro:
- Endpoint in tempo reale: richieste continue a bassa latenza (ad esempio un'API per i consigli)
- Trasformazione batch: calcolo periodico dei punteggi su grandi dataset (ad esempio previsioni notturne del churn)
Il batch è molto più economico quando non sono necessarie risposte immediate.
Verifica rapida
Quando dovrebbe utilizzare la trasformazione batch di SageMaker invece di un endpoint in tempo reale?
Riepilogo
Ha distribuito un modello su AWS SageMaker:
sagemaker.Modelcollega un image_uri a model_data in S3model.deploycrea un endpoint in tempo reale su un instance_type sceltopredictor.predict()invia richieste di inferenza- La trasformazione batch gestisce in modo economico grandi carichi di lavoro offline
- Elimini sempre gli endpoint inattivi per evitare addebiti
Domande Frequenti
La lezione «Deployment nel cloud: AWS SageMaker» è gratuita?
Sì — il testo completo di «Deployment nel cloud: AWS SageMaker» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Deployment nel cloud: AWS SageMaker»?
SageMaker Model, EndpointConfig, Endpoint, inferenza in tempo reale, batch transform Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Deployment nel cloud: AWS SageMaker»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Containerizzazione dei modelli ML con Docker
- Deployment nel cloud: AWS SageMaker
- Serving ad alte prestazioni con Triton Inference Server
- Scalabilità e auto-scaling degli endpoint dei modelli