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à.
Contratto per container personalizzati per endpoint a più modelli
Per gestire più modelli, il contenitore deve supportare una serie di modelli APIs che consentano ad Amazon SageMaker AI di comunicare con il container per caricare, elencare, ricevere e scaricare i modelli secondo necessità. model_name
Viene utilizzato nel nuovo set di APIs come parametro di input chiave. Si prevede che il container del cliente tenga traccia dei modelli caricati utilizzando model_name
come chiave di mappatura. Inoltre, model_name
è un identificatore opaco e non è necessariamente il valore del parametro TargetModel
passato nell'API InvokeEndpoint
. Il TargetModel
valore originale della InvokeEndpoint
richiesta viene passato al contenitore APIs come X-Amzn-SageMaker-Target-Model
intestazione che può essere utilizzata per scopi di registrazione.
Nota
Gli endpoint multimodello per le istanze basate su GPU sono attualmente supportati solo con il contenitore NVIDIA Triton Inference Server di SageMaker AI. Questo container implementa già il contratto definito di seguito. I clienti possono utilizzare direttamente questo container con i loro endpoint GPU a più modelli, senza alcun intervento aggiuntivo.
Puoi configurare quanto segue APIs sui tuoi contenitori per endpoint multimodello basati su CPU.
Argomenti
Caricamento modello API
Indica al container di caricare un particolare modello presente nel campo url
del corpo nella memoria del container del cliente e di tenerne traccia con il model_name
assegnato. Dopo aver caricato un modello, il container deve essere pronto per servire le richieste di inferenza utilizzando questo model_name
.
POST /models HTTP/1.1 Content-Type: application/json Accept: application/json { "model_name" : "{model_name}", "url" : "/opt/ml/models/{model_name}/model", }
Nota
Se model_name
è già caricato, l'API restituisce il codice 409. Ogni volta che un modello non può essere caricato a causa della mancanza di memoria o di qualsiasi altra risorsa, questa API dovrebbe restituire un codice di stato HTTP 507 all' SageMaker IA, che quindi avvia lo scaricamento dei modelli inutilizzati da recuperare.
Elenco modelli API
Restituisce l'elenco dei modelli caricati nella memoria del container del cliente.
GET /models HTTP/1.1 Accept: application/json Response = { "models": [ { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }, { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }, .... ] }
Questa API supporta anche la paginazione.
GET /models HTTP/1.1 Accept: application/json Response = { "models": [ { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }, { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }, .... ] }
SageMaker L'IA può inizialmente chiamare l'API List Models senza fornire un valore per. next_page_token
Se un campo nextPageToken
viene restituito come parte della risposta, verrà fornito come valore per next_page_token
in una successiva chiamata List Models (Elenco modelli). Se nextPageToken
non viene restituito, significa che non ci sono più modelli da restituire.
Ottenere un modello API
Questa è una semplice API di lettura sull'entità model_name
.
GET /models/{model_name} HTTP/1.1 Accept: application/json { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }
Nota
Se l'entità model_name
non è caricata, l'API restituisce il codice 404.
Scarica modello API
Indica alla piattaforma SageMaker AI di indicare al container del cliente di scaricare un modello dalla memoria. Viene quindi iniziata l'espulsione di un modello candidato come determinato dalla piattaforma quando avvia il processo di caricamento di un nuovo modello. Le risorse assegnate a model_name
devono essere recuperate dal container quando l'API restituisce una risposta.
DELETE /models/{model_name}
Nota
Se l'entità model_name
non è caricata, l'API restituisce il codice 404.
Invocare un modello API
Effettua una richiesta di previsione dal particolare model_name
fornito. La InvokeEndpoint
richiesta SageMaker AI Runtime supporta X-Amzn-SageMaker-Target-Model
una nuova intestazione che segue il percorso relativo del modello specificato per la chiamata. Il sistema SageMaker AI costruisce il percorso assoluto del modello combinando il prefisso fornito come parte della chiamata CreateModel
API con il percorso relativo del modello.
POST /models/{model_name}/invoke HTTP/1.1 Content-Type: ContentType Accept: Accept X-Amzn-SageMaker-Custom-Attributes: CustomAttributes X-Amzn-SageMaker-Target-Model: [relativePath]/{artifactName}.tar.gz
Nota
Se l'entità model_name
non è caricata, l'API restituisce il codice 404.
Inoltre, nelle istanze GPU, in caso di InvokeEndpoint
errore a causa della mancanza di memoria o di altre risorse, questa API dovrebbe restituire un codice di stato HTTP 507 all' SageMaker IA, che quindi avvia lo scarico dei modelli inutilizzati da recuperare.