Implementa modelli per l'inferenza
Con Amazon SageMaker AI, puoi iniziare a ottenere previsioni o inferenze dai tuoi modelli di machine learning addestrati. SageMaker AI offre un’ampia selezione di infrastrutture ML e opzioni di implementazione dei modelli per soddisfare tutte le esigenze di inferenza ML. Con SageMaker AI Inference, è possibile non solo scalare l’implementazione dei modelli e gestirli in modo più efficace in produzione, ma anche ridurre il carico operativo. SageMaker AI offre diverse opzioni di inferenza, come endpoint in tempo reale per ottenere inferenze a bassa latenza, endpoint serverless per infrastrutture completamente gestite e dimensionamento automatico ed endpoint asincroni per batch di richieste. Sfruttando l’opzione di inferenza appropriata per il tuo caso d’uso, puoi garantire un’implementazione e un’inferenza efficienti del modello.
Scelta di una funzionalità.
Esistono diversi casi d’uso per l’implementazione di modelli ML con SageMaker AI. Questa sezione descrive tali casi d’uso e la funzionalità SageMaker AI che consigliamo per ognuno di essi.
Casi d'uso
Di seguito sono riportati i principali casi d’uso per l’implementazione di modelli ML con SageMaker AI.
-
Caso d’uso 1: implementazione di un modello di machine learning in un ambiente low code o no code. Gli utenti meno esperti o coloro che sono alle prime armi con SageMaker AI possono implementare modelli preaddestrati utilizzando Amazon SageMaker JumpStart tramite l’interfaccia di Amazon SageMaker Studio, senza la necessità di eseguire configurazioni complesse.
-
Caso d’uso 2: utilizzare il codice per implementare modelli di machine learning con livelli più elevati di flessibilità e controllo. I professionisti esperti in machine learning possono implementare i propri modelli con impostazioni personalizzate in base alle proprie esigenze applicative utilizzando la classe
ModelBuilderdi SageMaker AI Python SDK, che fornisce un controllo dettagliato su varie impostazioni, come i tipi di istanze, l’isolamento della rete e l’allocazione delle risorse. -
Caso d’uso 3: implementazione di modelli di machine learning su larga scala. Per gli utenti avanzati e le organizzazioni che desiderano gestire modelli su larga scala in produzione, utilizza AWS SDK per Python (Boto3) e CloudFormation insieme agli strumenti Infrastructure as Code (IaC) e CI/CD desiderati per fornire le risorse e automatizzarne la gestione.
Funzionalità consigliate
Nella tabella seguente sono descritti i compromessi e le considerazioni chiave per le funzionalità di SageMaker AI corrispondenti a ciascun caso d’uso.
| Caso d'uso 1 | Caso d'uso 2 | Caso d'uso 3 | |
|---|---|---|---|
| Funzionalità di SageMaker AI | Utilizza JumpStart in Studio per accelerare l’implementazione del modello di fondazione. | Implementa i modelli utilizzando ModelBuilder da SageMaker Python SDK. | Implementa e gestisci i modelli su larga scala con CloudFormation. |
| Descrizione | Utilizza l’interfaccia utente di Studio per implementare modelli preaddestrati da un catalogo a endpoint di inferenza preconfigurati. Questa opzione è ideale per i citizen data scientist o per chiunque desideri implementare un modello senza configurare impostazioni complesse. | Utilizza la classe ModelBuilder dell’Amazon SageMaker AI Python SDK per implementare il tuo modello e configurare le impostazioni di implementazione. Questa opzione è ideale per data scientist esperti o per chiunque abbia un proprio modello da implementare e richieda un controllo granulare. |
Utilizza CloudFormation e Infrastructure as Code (IaC) per il controllo programmatico e l’automazione per l’implementazione e la gestione dei modelli SageMaker AI. Questa opzione è ideale per utenti avanzati che richiedono implementazioni coerenti e ripetibili. |
| Ottimizzata per | Implementazioni rapide e semplificate dei modelli open source più diffusi | Implementazione di modelli personali | Gestione continua dei modelli in produzione |
| Considerazioni | Mancanza di personalizzazione per le impostazioni dei container e le esigenze specifiche delle applicazioni | Nessuna interfaccia utente, richiede una certa competenza nello sviluppo e nella manutenzione del codice Python | Richiede la gestione dell’infrastruttura e risorse organizzative e richiede, oltre a familiarità con AWS SDK per Python (Boto3) o con i modelli CloudFormation. |
| Ambiente consigliato | Un dominio SageMaker AI | Un ambiente di sviluppo Python configurato con le tue credenziali AWS e SageMaker Python SDK installato o un IDE SageMaker AI come SageMaker JupyterLab | AWS CLI, un ambiente di sviluppo locale e strumenti Infrastructure as Code (IaC) e CI/CD |
Opzioni aggiuntive
SageMaker AI offre diverse opzioni per i casi d’uso dell’inferenza, fornendoti un’ampia scelta di ampiezza e profondità tecnica per le tue implementazioni:
-
Implementazione di un modello su un endpoint. Durante l’implementazione del modello, valuta le seguenti opzioni:
Inferenza in tempo reale. L’inferenza in tempo reale è ideale per carichi di lavoro di inferenza in cui sono previsti requisiti interattivi e a bassa latenza.
Distribuire modelli con Inferenza serverless Amazon SageMaker. Utilizza l’inferenza serverless per implementare modelli senza configurare o gestire alcuna infrastruttura sottostante. Questa opzione è ideale per carichi di lavoro che presentano periodi di inattività tra picchi di traffico e possono tollerare avvii a freddo.
Inferenza asincrona. Mette in coda le richieste in entrata e le elabora in modo asincrono. Questa opzione è ideale per richieste con payload di grandi dimensioni (fino a 1 GB), tempi di elaborazione lunghi (fino a un'ora) e requisiti di latenza quasi in tempo reale.
-
Ottimizzazione dei costi. Per ottimizzare i costi di inferenza, valuta le seguenti opzioni:
-
Ottimizzazione delle prestazioni dei modelli con SageMaker Neo. Utilizza SageMaker Neo per ottimizzare ed eseguire i modelli di machine learning con prestazioni ed efficienza migliori e ridurre al minimo i costi di calcolo ottimizzando automaticamente i modelli per l’esecuzione in ambienti come i chip AWS Inferentia.
-
Dimensionamento automatico dei modelli di Amazon SageMaker AI. Ricorri alla scalabilità automatica per regolare dinamicamente le risorse di calcolo per i tuoi endpoint in base ai modelli di traffico in entrata, contribuendo a ottimizzare i costi pagando solo le risorse che utilizzi in un determinato momento.
-