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 container deve supportare una serie di modelli APIs che consentano SageMaker ad Amazon di comunicare con il container per caricare, mettere in vendita, 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 TargetModel
parametro passato a. InvokeEndpoint
API Il TargetModel
valore originale della InvokeEndpoint
richiesta viene passato a container in the APIs come X-Amzn-SageMaker-Target-Model
intestazione che può essere utilizzata per scopi di registrazione.
Nota
Gli endpoint SageMaker multimodello NVIDIA per le istanze GPU supportate sono attualmente supportati solo con il contenitore Triton Inference Server. Questo container implementa già il contratto definito di seguito. I clienti possono utilizzare direttamente questo contenitore con i loro GPU endpoint multimodello, senza alcun lavoro aggiuntivo.
Puoi configurare quanto segue APIs sui tuoi contenitori per endpoint multimodello CPU supportati.
Argomenti
Modello di caricamento 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, API dovrebbe restituire 409. Ogni volta che un modello non può essere caricato a causa della mancanza di memoria o di qualsiasi altra risorsa, questo API dovrebbe restituire un codice di HTTP stato 507 a SageMaker, che quindi avvia lo scarico dei modelli non utilizzati da recuperare.
Elenca modello 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", }, .... ] }
Questo supporta API anche l'impaginazione.
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 può inizialmente chiamare i List Models API senza fornire un valore pernext_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.
Ottieni modello API
Questa è una semplice lettura API sull'model_name
entità.
GET /models/{model_name} HTTP/1.1 Accept: application/json { "modelName" : "{model_name}", "modelUrl" : "/opt/ml/models/{model_name}/model", }
Nota
Se non model_name
è caricato, API dovrebbe restituire 404.
Scarica il modello API
Indica alla SageMaker piattaforma di indicare al contenitore 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 model_name
devono essere recuperate dal contenitore quando questo restituisce una risposta. API
DELETE /models/{model_name}
Nota
Se non model_name
è caricato, API dovrebbe restituire 404.
Invoke Model API
Effettua una richiesta di previsione dal particolare model_name
fornito. La InvokeEndpoint
richiesta SageMaker Runtime supporta X-Amzn-SageMaker-Target-Model
una nuova intestazione che accetta il percorso relativo del modello specificato per la chiamata. Il SageMaker sistema costruisce il percorso assoluto del modello combinando il prefisso fornito come parte della CreateModel
API chiamata 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 non model_name
è caricato, API dovrebbe restituire 404.
Inoltre, in alcuni GPU casi, in caso di InvokeEndpoint
errore a causa della mancanza di memoria o di altre risorse, API dovrebbe restituire un codice di HTTP stato 507 a SageMaker, che avvia quindi lo scaricamento dei modelli non utilizzati da recuperare.