View a markdown version of this page

Domande frequenti sull'hosting modello - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Domande frequenti sull'hosting modello

Fai riferimento alle seguenti domande frequenti per le risposte alle domande più frequenti sull' SageMaker AI Inference Hosting.

Hosting generale

Le seguenti domande frequenti rispondono a domande generali comuni su SageMaker AI Inference.

R: Dopo aver creato e addestrato i modelli, Amazon SageMaker AI offre quattro opzioni per implementarli in modo da poter iniziare a fare previsioni. Real-Time L'inferenza è adatta per carichi di lavoro con requisiti di latenza di millisecondi, dimensioni del payload fino a 25 MB e tempi di elaborazione fino a 60 secondi per le risposte regolari e 8 minuti per le risposte in streaming. La trasformazione batch è ideale per le previsioni offline su grandi batch di dati disponibili in anticipo. L’inferenza asincrona è progettata per i carichi di lavoro che non hanno requisiti di latenza inferiori al secondo, dimensioni di payload fino a 1 GB e tempi di elaborazione fino a 60 minuti. Con l’inferenza serverless puoi implementare rapidamente modelli di machine learning per l'inferenza senza dover configurare o gestire l'infrastruttura sottostante e paghi solo per la capacità di calcolo utilizzata per elaborare le richieste di inferenza, ideale per carichi di lavoro intermittenti.

Se desideri elaborare le richieste in batch, potresti scegliere Trasformazione batch. Altrimenti, se desideri ricevere un'inferenza per ogni richiesta al tuo modello, potresti scegliere Asynchronous Inference, Serverless Inference o Inference. Real-Time Puoi scegliere Inferenza asincrona se hai tempi di elaborazione lunghi o carichi utili di grandi dimensioni e desideri mettere in coda le richieste. Puoi scegliere Inferenza serverless se il tuo carico di lavoro ha un traffico imprevedibile o intermittente. Puoi scegliere Real-Time Inference se hai un traffico sostenuto e hai bisogno di una latenza inferiore e costante per le tue richieste.

R: Per ottimizzare i costi con SageMaker AI Inference, dovresti scegliere l'opzione di hosting giusta per il tuo caso d'uso. Puoi anche utilizzare funzionalità di inferenza come Amazon SageMaker AI Savings Plans, ottimizzazione dei modelli con SageMaker Neo, Multi-Model Endpoints and Multi-Container Endpoints o scaling automatico. Per suggerimenti su come ottimizzare i costi di inferenza, consulta Best practice per l'ottimizzazione dei costi di inferenza.

R: Dovresti usare Amazon SageMaker Inference Recommender se hai bisogno di consigli sulla corretta configurazione degli endpoint per migliorare le prestazioni e ridurre i costi. In precedenza, i data scientist che volevano distribuire i propri modelli dovevano eseguire benchmark manuali per selezionare la giusta configurazione endpoint. Innanzitutto, dovevano selezionare il tipo di istanza di machine learning giusto tra gli oltre 70 tipi di istanze disponibili in base ai requisiti della risorsa dei modelli e ai payload di esempio e quindi ottimizzare il modello per tenere conto dei diversi hardware. Successivamente, hanno dovuto condurre test di carico approfonditi per verificare che i requisiti di latenza e velocità di trasmissione effettiva fossero soddisfatti e che i costi fossero bassi. Suggeritore di inferenza elimina questa complessità aiutandoti a fare quanto segue:

  • Inizia in pochi minuti con una raccomandazione di istanza.

  • Esegui test di carico su diversi tipi di istanze per ottenere consigli sulla configurazione endpoint nel giro di poche ore.

  • Ottimizza automaticamente i parametri del container e del server modello ed esegui ottimizzazioni del modello per un determinato tipo di istanza.

R: Gli endpoint SageMaker AI sono endpoint REST HTTP che utilizzano un server Web containerizzato, che include un server modello. Questi container sono responsabili del caricamento e della gestione delle richieste per un modello di machine learning. Implementano un server Web che risponde a /invocations e /ping sulla porta 8080.

I server modello comuni includono TensorFlow Serving TorchServe e Multi Model Server. SageMaker I container del framework AI hanno questi server modello integrati.

R: Tutto in SageMaker AI Inference è containerizzato. SageMaker L'intelligenza artificiale fornisce contenitori gestiti per framework popolari come TensorFlow SKLearn e. HuggingFace Per un elenco completo e aggiornato di tali immagini, consulta Immagini disponibili.

A volte esistono framework personalizzati per i quali potrebbe essere necessario creare un container. Questo approccio è noto come Bring Your Own Container, o BYOC. Con l’approccio BYOC, fornisci l’immagine Docker per configurare il tuo framework o la tua libreria, Quindi, invii l'immagine ad Amazon Elastic Container Registry (Amazon ECR) in modo da poterla utilizzare con l'intelligenza artificiale. SageMaker

In alternativa, invece di creare un'immagine da zero, puoi estendere un container. Puoi prendere una delle immagini di base fornite dall' SageMaker IA e aggiungere le tue dipendenze su di essa nel tuo Dockerfile.

R: L' SageMaker intelligenza artificiale offre la capacità di utilizzare un modello di framework già addestrato al di fuori dell' SageMaker IA e di implementarlo su qualsiasi opzione di hosting basata sull' SageMaker intelligenza artificiale.

SageMaker L'intelligenza artificiale richiede di impacchettare il modello in un model.tar.gz file e di disporre di una struttura di directory specifica. Ciascun framework ha la propria struttura di modello (per esempi di strutture, vedere la domanda seguente). Per ulteriori informazioni, consulta la documentazione SageMaker Python SDK per TensorFlow PyTorch, e MXNet.

Potete scegliere tra immagini di framework predefinite come TensorFlow PyTorch, e MXNet per ospitare il modello addestrato, ma potete anche creare un contenitore personalizzato per ospitare i modelli addestrati su endpoint AI. SageMaker Per una procedura dettagliata, vedi l'esempio di notebook Jupyter Creazione di un container di algoritmo personalizzato.

R: SageMaker L'intelligenza artificiale richiede che gli artefatti del modello siano compressi in un .tar.gz file o in un archivio tar. SageMaker L'IA estrae automaticamente questo .tar.gz file nella /opt/ml/model/ directory del contenitore. Il tarball non deve contenere collegamenti simbolici o symlink non necessari. Se stai utilizzando uno dei contenitori del framework, come, o MXNet TensorFlow PyTorch, il contenitore si aspetta che la tua struttura TAR sia la seguente:

TensorFlow

model.tar.gz/ |--[model_version_number]/ |--variables |--saved_model.pb code/ |--inference.py |--requirements.txt

PyTorch

model.tar.gz/ |- model.pth |- code/ |- inference.py |- requirements.txt # only for versions 1.3.1 and higher

MXNet

model.tar.gz/ |- model-symbol.json |- model-shapes.json |- model-0000.params |- code/ |- inference.py |- requirements.txt # only for versions 1.6.0 and higher

R: ContentType è il tipo MIME dei dati di input nel corpo della richiesta (il tipo MIME dei dati che stai inviando all'endpoint). Il server del modello utilizza il ContentType per determinare se è in grado di gestire il tipo fornito o meno.

Accept è il tipo MIME della risposta di inferenza (il tipo MIME dei dati restituiti dall'endpoint). Il server del modello utilizza il tipo Accept per determinare se è in grado di gestire e restituire il tipo fornito o meno.

I tipi MIME più comuni includono text/csv, application/json e application/jsonlines.

R: SageMaker L'IA trasmette qualsiasi richiesta al contenitore del modello senza modifiche. Il container deve contenere la logica per deserializzare la richiesta. Per informazioni sui formati definiti per gli algoritmi integrati, consulta Common Data Formats for Inference. Se stai creando il tuo contenitore o utilizzando un contenitore SageMaker AI Framework, puoi includere la logica per accettare un formato di richiesta a tua scelta.

Allo stesso modo, anche l' SageMaker IA restituisce la risposta senza modifiche, quindi il client deve deserializzare la risposta. Nel caso degli algoritmi integrati, essi restituiscono risposte in formati specifici. Se stai creando il tuo contenitore o utilizzando un contenitore SageMaker AI Framework, puoi includere la logica per restituire una risposta nel formato scelto.

Usa la chiamata all'API Richiama endpoint per creare inferenze sul tuo endpoint.

Quando passi l'input come payload all'API InvokeEndpoint, devi specificare il tipo corretto di dati di input previsto dal tuo modello. Quando trasmetti un payload nella chiamata API InvokeEndpoint, i byte della richiesta vengono inoltrati direttamente al container del modello. Ad esempio, per un'immagine, puoi utilizzare application/jpeg per ContentType e assicurarti che il tuo modello possa eseguire inferenze su questo tipo di dati. Questo vale per JSON, CSV, video o qualsiasi altro tipo di input con cui potresti avere a che fare.

Un altro fattore da considerare sono i limiti delle dimensioni payload. I limiti di payload sono 25 MB per gli endpoint in tempo reale e 4 MB per gli endpoint serverless. È possibile dividere il video in più fotogrammi e richiamare l'endpoint con ogni fotogramma singolarmente. In alternativa, se il tuo caso d'uso lo consente, puoi inviare l'intero video nel payload utilizzando un endpoint asincrono, che supporta payload fino a 1 GB.

Per un esempio che mostra come eseguire l'inferenza della visione artificiale su video di grandi dimensioni con l'inferenza asincrona, consulta questo post del blog.

Real-Time Inferenza

Le seguenti domande frequenti rispondono alle domande più comuni sull' Real-Time inferenza SageMaker artificiale.

R: È possibile creare un endpoint SageMaker AI tramite strumenti AWS supportati come SDK, SageMaker Python AWS SDK, e. Console di gestione AWS AWS CloudFormation Kit di sviluppo per il cloud AWS (AWS CDK)

Ci sono tre entità chiave nella creazione degli endpoint: un modello SageMaker AI, una configurazione di endpoint AI e un endpoint SageMaker AI. SageMaker Il modello SageMaker AI punta verso i dati e l'immagine del modello che stai utilizzando. La configurazione dell'endpoint definisce le varianti di produzione, che possono includere il tipo di istanza e il conteggio istanze. È quindi possibile utilizzare la chiamata API create_endpoint o la chiamata .deploy () per l' SageMaker IA per creare un endpoint utilizzando i metadati del modello e della configurazione dell'endpoint.

R: No, puoi utilizzare i vari AWS SDK (vedi https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html#API_runtime_InvokeEndpoint_SeeAlso Invoke/Create per gli SDK disponibili) o persino chiamare direttamente le API Web corrispondenti.

R: Un Multi-Model endpoint è un'opzione di Real-Time inferenza fornita dall'IA. SageMaker Con Multi-Model Endpoints, puoi ospitare migliaia di modelli dietro un endpoint. Il server multi-modello è un framework open source per servire modelli di machine learning. Fornisce le funzionalità di front-end HTTP e gestione del modello richieste dagli endpoint multi-modello per ospitare più modelli all'interno di un singolo container, caricare modelli e scaricare modelli dal container in modo dinamico ed eseguire l'inferenza su un modello caricato specifico.

R: SageMaker AI Real-Time Inference supporta varie architetture di distribuzione dei modelli come Multi-Model Endpoint, Multi-Container Endpoint e Serial Inference Pipeline.

Multi-Model Endpoints (MME): l'MME consente ai clienti di implementare migliaia di modelli iperpersonalizzati in modo conveniente. Tutti i modelli sono distribuiti su un parco istanze di risorse condivise. MME funziona al meglio quando i modelli hanno dimensioni e latenza simili e appartengono allo stesso framework ML. Questi endpoint sono ideali quando non è necessario richiamare sempre lo stesso modello. Puoi caricare dinamicamente i rispettivi modelli sull'endpoint AI per soddisfare la tua richiesta. SageMaker

Multi-ContainerEndpoints (MCE): MCE consente ai clienti di implementare 15 contenitori diversi con diversi framework e funzionalità ML senza cold start utilizzando un solo endpoint. SageMaker È possibile richiamare direttamente questi container. MCE è la soluzione ideale quando si desidera conservare tutti i modelli in memoria.

Pipeline di inferenza seriali (SIP): è possibile utilizzare SIP per concatenare 2‐15 container su un singolo endpoint. SIP è adatto soprattutto per combinare la preelaborazione e l'inferenza dei modelli in un unico endpoint e per operazioni a bassa latenza.

Inferenza serverless

Le seguenti domande frequenti rispondono alle domande più comuni su Amazon Serverless Inference. SageMaker

R: Distribuisci modelli con Amazon SageMaker Serverless Inference è un'opzione di servizio di modelli serverless creata appositamente per semplificare la distribuzione e la scalabilità dei modelli ML. Gli endpoint di inferenza serverless avviano automaticamente le risorse di calcolo e le ridimensionano in base al traffico, eliminando la necessità di scegliere il tipo di istanza, eseguire la capacità di allocazione o gestire il dimensionamento. È inoltre possibile specificare i requisiti di memoria per l'endpoint serverless. Paghi solo per la durata dell'esecuzione del codice di inferenza e per la quantità di dati elaborati, non per i periodi di inattività.

R: Inferenza serverless semplifica l'esperienza degli sviluppatori eliminando la necessità di fornire capacità in anticipo e gestire le policy di dimensionamento. Inferenza senza serverless può dimensionare istantaneamente da decine a migliaia di inferenze in pochi secondi in base ai modelli di utilizzo, il che la rende ideale per le applicazioni ML con traffico intermittente o imprevedibile. Ad esempio, un servizio di chatbot utilizzato da un'azienda di elaborazione delle buste paga registra un aumento delle richieste alla fine del mese, mentre il traffico è intermittente per il resto del mese. Il provisioning delle istanze per l'intero mese in questi scenari non è conveniente, in quanto si finisce per pagare per i periodi di inattività.

Inferenza serverless aiuta a risolvere questi tipi di casi d'uso fornendo una scalabilità automatica e rapida pronta all'uso senza la necessità di prevedere il traffico in anticipo o gestire le policy di dimensionamento. Inoltre, paghi solo per il tempo di calcolo necessario per eseguire il codice di inferenza e per l'elaborazione di dati, il che lo rende ideale per carichi di lavoro con traffico intermittente.

R: L'endpoint serverless ha una dimensione RAM minima di 1024 MB (1 GB) e la dimensione RAM massima che puoi scegliere è di 6144 MB (6 GB). Le dimensioni memoria che puoi scegliere sono 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB o 6144 MB. Inferenza Serverless assegna automaticamente le risorse di calcolo in modo proporzionale alla memoria selezionata. Se scegli una dimensione di memoria maggiore, il container ha accesso a più vCPU.

Scegli la dimensione della memoria dell'endpoint in base alle dimensioni del modello. In genere, la dimensione della memoria deve essere almeno pari a quella del modello. Potrebbe essere necessario eseguire dei benchmark per scegliere la giusta selezione di memoria per il modello in base agli SLA di latenza. Gli incrementi delle dimensioni della memoria hanno prezzi diversi; consulta la pagina dei SageMaker prezzi di Amazon per ulteriori informazioni.

Batch Transform

Le seguenti domande frequenti rispondono alle domande più comuni su SageMaker AI Batch Transform.

R: Per formati di file specifici come CSV, RecordIO e TFRecord, SageMaker AI può suddividere i dati in mini batch a record singolo o multiplo e inviarli come payload al contenitore del modello. Quando il valore BatchStrategy èMultiRecord, SageMaker AI invia il numero massimo di record in ogni richiesta, fino al limite. MaxPayloadInMB Quando il valore BatchStrategy èSingleRecord, SageMaker AI invia singoli record in ogni richiesta.

R: Il timeout massimo per la trasformazione batch è di 3600 secondi. Le dimensioni massime del payload per un record (per mini batch) sono pari a 100 MB.

R: Se usi l'API CreateTransformJob, puoi ridurre il tempo necessario per completare i processi di trasformazione di batch utilizzando valori differenti per parametri come MaxPayloadInMB, MaxConcurrentTransforms o BatchStrategy. Il valore ideale per MaxConcurrentTransforms è pari al numero di processi di calcolo nel processo di trasformazione di batch. Se si utilizza la console SageMaker AI, è possibile specificare questi valori ottimali dei parametri nella sezione Configurazione aggiuntiva della pagina di configurazione del processo di trasformazione in batch. SageMaker L'IA trova automaticamente le impostazioni dei parametri ottimali per gli algoritmi integrati. Per gli algoritmi personalizzati, è necessario fornire questi valori tramite un endpoint execution-parameters.

R: La trasformazione batch supporta file CSV e JSON.

Inferenza asincrona

Le seguenti domande frequenti rispondono a domande generali comuni sull' SageMaker inferenza asincrona AI.

R: L’inferenza asincrona mette in coda le richieste in entrata e le elabora in modo asincrono. Questa opzione è ideale per le richieste con dimensioni payload elevate o tempi di elaborazione lunghi che devono essere elaborate non appena arrivano. Facoltativamente, è possibile configurare le impostazioni di dimensionamento automatico per ridurre il conteggio istanze a zero quando non si elaborano attivamente le richieste.

R: Amazon SageMaker AI supporta il ridimensionamento automatico (autoscaling) dell'endpoint asincrono. Auto Scaling modifica dinamicamente il numero di istanze assegnate a un modello in risposta alle variazioni nel carico di lavoro. A differenza di altri modelli ospitati supportati dall' SageMaker intelligenza artificiale, con Asynchronous Inference puoi anche ridurre a zero le istanze degli endpoint asincroni. Le richieste ricevute quando non ci sono istanze vengono messe in coda per l'elaborazione una volta che l'endpoint è stato dimensionato. Per ulteriori informazioni, consulta Autoscale an asynchronous endpoint.

Inoltre, Amazon Serverless Inference SageMaker si ridimensiona automaticamente fino a zero. Non lo vedrai perché l' SageMaker IA gestisce la scalabilità dei tuoi endpoint serverless, ma se non si verifica alcun traffico, si applica la stessa infrastruttura.