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à.
Consulta le 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 distribuirli in modo da poter iniziare a fare previsioni. L’inferenza in tempo reale è adatta per carichi di lavoro con requisiti di latenza di millisecondi, dimensioni payload fino a 6 MB e tempi di elaborazione fino a 60 secondi. La trasformazione batch è ideale per le previsioni offline su grandi batch di dati disponibili in anticipo. L'inferenza asincrona è progettata per 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 15 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.
R: Il diagramma seguente può aiutarti a scegliere un'opzione di implementazione del modello di hosting SageMaker AI.

Il diagramma precedente illustra il seguente processo decisionale. Se desideri elaborare le richieste in batch, potresti scegliere Trasformazione batch. Altrimenti, se desideri ricevere inferenze per ogni richiesta al tuo modello, potresti scegliere Inferenza asincrona, Inferenza serverless o Inferenza in tempo reale. 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 Inferenza in tempo reale se hai un traffico prolungato 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
R: Dovresti usare Amazon SageMaker Inference Recommender se hai bisogno di consigli per la 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 HTTP REST 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 più 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, e. TensorFlow SKlearn 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 Per un esempio di approccio BYOC, consulta Panoramica dei contenitori per
In alternativa, invece di creare un'immagine da zero, puoi estendere un container. Puoi prendere una delle immagini di base fornite dall' SageMaker intelligenza artificiale e aggiungere le tue dipendenze nel tuo Dockerfile.
R: L' SageMaker intelligenza artificiale offre la capacità di utilizzare il tuo modello di framework addestrato che hai addestrato al di fuori dell' SageMaker IA e di implementarlo su una qualsiasi delle opzioni di hosting SageMaker AI.
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 di SageMaker Python SDK per TensorFlow
Sebbene sia possibile scegliere tra immagini di framework predefinite come TensorFlow PyTorch, e MXNet ospitare il modello addestrato, è anche possibile creare un contenitore personalizzato per ospitare i modelli addestrati su SageMaker endpoint di intelligenza artificiale. Per una procedura dettagliata, vedi l'esempio di notebook Jupyter Creazione di un container di algoritmo personalizzato
R: L' SageMaker 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 directory del /opt/ml/model/
contenitore. Il tarball non deve contenere collegamenti simbolici o symlink non necessari. Se stai utilizzando uno dei contenitori del framework, ad esempio, o TensorFlow PyTorch MXNet, il contenitore si aspetta che la 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 e 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 che scegli.
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. In termini di endpoint in tempo reale e serverless, il limite di payload è di 6 MB. È 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.
Inferenza in tempo reale
Le seguenti domande frequenti rispondono a domande comuni su SageMaker AI Real-Time Inference.
R: Puoi creare un endpoint SageMaker AI tramite strumenti AWS supportati come SageMaker Python SDK, e. AWS SDKs AWS Management Console AWS CloudFormation AWS Cloud Development Kit (AWS CDK)
Esistono tre entità chiave nella creazione di endpoint: un modello SageMaker AI, una configurazione di endpoint AI e un endpoint SageMaker AI. SageMaker Il modello di SageMaker intelligenza artificiale 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. Puoi quindi utilizzare la chiamata API create_endpoint
R: No, puoi usare i vari AWS SDKs (vedi Invoke/ Create for available SDKs) o persino chiamare direttamente il web corrispondente. APIs
R: Un endpoint multimodello è un'opzione di inferenza in tempo reale fornita dall'IA. SageMaker Con gli endpoint multi-modello, puoi ospitare migliaia di modelli dietro un unico endpoint. Il server multi-modello
R: SageMaker AI Real-Time Inference supporta varie architetture di implementazione di modelli come endpoint multimodel, endpoint multi-container e pipeline di inferenza seriale.
Endpoint multi-modello (MME): MME consente ai clienti di distribuire 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-Container Endpoints (MCE): MCE consente ai clienti di implementare 15 contenitori diversi con diversi framework e funzionalità ML senza partenze a freddo, 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 a domande comuni su Amazon SageMaker Serverless Inference.
R: Implementa 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 tuo contenitore ha accesso a più v. CPUs
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 alla latenza SLAs. Gli incrementi delle dimensioni della memoria hanno prezzi diversi; consulta la pagina dei prezzi di Amazon SageMaker AI
Batch Transform
Le seguenti domande frequenti rispondono a domande comuni su SageMaker AI Batch Transform.
R: Per formati di file specifici come CSV, RecOrdio TFRecord e SageMaker AI può suddividere i dati in mini batch a record singolo o multirecord e inviarli come payload al contenitore modello. Quando il valore di BatchStrategy
èMultiRecord
, SageMaker AI invia il numero massimo di record per ogni richiesta, fino al limite. MaxPayloadInMB
Quando il valore di BatchStrategy
èSingleRecord
, SageMaker AI invia record individuali 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 utilizzi la console SageMaker AI, puoi 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 ottimali dei parametri 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 dell'IA.
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) del tuo 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 IA, con Asynchronous Inference puoi anche ridurre a zero le istanze asincrone degli endpoint. 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.
Amazon SageMaker Serverless Inference inoltre si ridimensiona automaticamente fino a zero. Non lo noterai perché l' SageMaker intelligenza artificiale gestisce la scalabilità degli endpoint serverless, ma se non riscontri alcun traffico, si applica la stessa infrastruttura.