As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Para lidar com vários modelos, seu contêiner deve suportar um conjunto APIs que permita que a Amazon SageMaker AI se comunique com o contêiner para carregar, listar, obter e descarregar modelos conforme necessário. O model_name
é usado no novo conjunto de APIs como o principal parâmetro de entrada. Espera-se que o contêiner do cliente acompanhe os modelos carregados usando model_name
como chave de mapeamento. Além disso, o model_name
é um identificador opaco e não é necessariamente o valor do parâmetro TargetModel
passado para a API InvokeEndpoint
. O TargetModel
valor original na InvokeEndpoint
solicitação é passado para o contêiner APIs como um X-Amzn-SageMaker-Target-Model
cabeçalho que pode ser usado para fins de registro.
nota
Atualmente, endpoints de vários modelos para instâncias com suporte de GPU são compatíveis somente com o contêiner NVIDIA Triton Inference Server da SageMaker AI. Esse contêiner já implementa o contrato definido abaixo. Os clientes podem usar esse contêiner diretamente com seus endpoints de GPU multimodelo, sem nenhum trabalho adicional.
Você pode configurar o seguinte APIs em seus contêineres para endpoints multimodelo suportados por CPU.
Tópicos
API para carregar modelo
Instrui o contêiner a carregar um modelo específico presente no campo url
do corpo na memória do contêiner do cliente e a manter o controle dele com o model_name
atribuído. Depois que um modelo é carregado, o contêiner deve estar pronto para atender a solicitações de inferência usando esse 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
já estiver carregado, a API deverá retornar 409. Sempre que um modelo não puder ser carregado devido à falta de memória ou a qualquer outro recurso, essa API deve retornar um código de status HTTP 507 para a SageMaker IA, que então inicia o descarregamento de modelos não utilizados para recuperação.
API para listar modelo
Retorna a lista de modelos carregados na memória do contêiner do 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",
},
....
]
}
Essa API também oferece apoio à paginação.
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 Inicialmente, a IA pode chamar a API List Models sem fornecer um valor paranext_page_token
. Se um campo nextPageToken
for retornado como parte da resposta, ele será fornecido como o valor para next_page_token
em uma chamada subsequente da List Models. Se um nextPageToken
não for retornado, significa que não há mais modelos para retornar.
API para obter modelo
Essa é uma API de leitura simples na entidade model_name
.
GET /models/{model_name} HTTP/1.1
Accept: application/json
{
"modelName" : "{model_name}",
"modelUrl" : "/opt/ml/models/{model_name}/model",
}
nota
Se model_name
não estiver carregado, a API retornará 404.
API para descarregar modelo
Instrui a plataforma de SageMaker IA a instruir o contêiner do cliente a descarregar um modelo da memória. Isso inicia a remoção de um modelo candidato conforme determinado pela plataforma ao iniciar o processo de carregamento de um novo modelo. Os recursos provisionados em model_name
deverão ser recuperados pelo contêiner quando essa API retornar uma resposta.
DELETE /models/{model_name}
nota
Se model_name
não estiver carregado, a API retornará 404.
API para invocar modelo
Faz uma solicitação de predição do model_name
específico fornecido. A InvokeEndpoint
solicitação do SageMaker AI Runtime é compatível X-Amzn-SageMaker-Target-Model
com um novo cabeçalho que segue o caminho relativo do modelo especificado para invocação. O sistema de SageMaker IA constrói o caminho absoluto do modelo combinando o prefixo fornecido como parte da chamada da CreateModel
API com o caminho relativo do modelo.
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 model_name
não estiver carregado, a API retornará 404.
Além disso, em instâncias de GPU, se InvokeEndpoint
falhar devido à falta de memória ou de outros recursos, essa API deve retornar um código de status HTTP 507 para a SageMaker IA, que então inicia o descarregamento de modelos não utilizados para recuperação.