0Pricing
Learn AI with Python · Lezione

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.json

Distribuzione 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 piccoli
  • ml.c5.* ottimizzata per il calcolo
  • ml.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.Model collega un image_uri a model_data in S3
  • model.deploy crea un endpoint in tempo reale su un instance_type scelto
  • predictor.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

  1. Containerizzazione dei modelli ML con Docker
  2. Deployment nel cloud: AWS SageMaker
  3. Serving ad alte prestazioni con Triton Inference Server
  4. Scalabilità e auto-scaling degli endpoint dei modelli
← Torna a Learn AI with Python