Recomendações compiladas com o Neo - Amazon SageMaker

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á.

Recomendações compiladas com o Neo

No recomendador de inferência, você pode compilar seu modelo com o Neo e obter recomendações de endpoints para seu modelo compilado. SageMaker O Neo é um serviço que pode otimizar seu modelo para uma plataforma de hardware de destino (ou seja, um tipo de instância ou ambiente específico). Otimizar um modelo com o Neo pode melhorar a performance do seu modelo hospedado.

Para estruturas e contêineres compatíveis com NEO, o recomendador de inferência sugere automaticamente recomendações otimizadas para NEO. Para ser elegível para a compilação do Neo, sua opinião deve atender aos seguintes pré-requisitos:

  • Você está usando um XGBoost contêiner SageMaker próprio DLCou próprio.

  • Você está usando uma versão do framework suportada pelo Neo. Para as versões da estrutura suportadas pelo Neo, consulte Instâncias de nuvem a documentação do SageMaker Neo.

  • O Neo exige que você forneça um formato de dados de entrada correto para seu modelo. Você pode especificar essa forma de dados como DataInputConfig na InferenceSpecification ao criar um pacote de modelo. Para obter informações sobre as formas de dados corretas para cada estrutura, consulte Preparar modelo para compilação na documentação do SageMaker Neo.

    O exemplo a seguir mostra como especificar o DataInputConfig campo noInferenceSpecification, onde data_input_configuration é uma variável que contém a forma de dados em formato de dicionário (por exemplo,{'input':[1,1024,1024,3]}).

    "InferenceSpecification": { "Containers": [ { "Image": dlc_uri, "Framework": framework.upper(), "FrameworkVersion": framework_version, "NearestModelName": model_name, "ModelInput": {"DataInputConfig": data_input_configuration}, } ], "SupportedContentTypes": input_mime_types, # required, must be non-null "SupportedResponseMIMETypes": [], "SupportedRealtimeInferenceInstanceTypes": supported_realtime_inference_types, # optional }

Se essas condições forem atendidas em sua solicitação, o recomendador de inferência executará cenários para versões compiladas e não compiladas do seu modelo, oferecendo várias combinações de recomendações para você escolher. Você pode comparar as configurações das versões compiladas e não compiladas da mesma recomendação de inferência e determinar qual delas é mais adequada ao seu caso de uso. As recomendações são classificadas por custo por inferência.

Para obter as recomendações de compilação do Neo, você não precisa fazer nenhuma configuração adicional além de garantir que sua entrada atenda aos requisitos anteriores. O Inference Recommender executa automaticamente a compilação do Neo em seu modelo se sua entrada atender aos requisitos, e você recebe uma resposta que inclui recomendações do Neo.

Se você encontrar erros durante a compilação do Neo, consulteSolucionar erros de compilação do Neo.

A tabela a seguir é um exemplo de uma resposta que você pode obter de um trabalho do recomendador de inferência que inclui recomendações para modelos compilados. Se o campo InferenceSpecificationName for None, a recomendação é um modelo não compilado. A última linha, na qual o valor do InferenceSpecificationNamecampo estáneo-00011122-2333-4445-5566-677788899900, é para um modelo compilado com o Neo. O valor no campo é o nome do trabalho Neo usado para compilar e otimizar seu modelo.

EndpointName InstanceType InitialInstanceCount EnvironmentParameters CostPerHour CostPerInference MaxInvocations ModelLatency InferenceSpecificationName

sm-epc-example-00011122

ml.c5.9xlarge

1

[]

1.836

9.15E-07

33456

7

Nenhum

sm-epc-example-1112233

ml.c5.2xlarge

1

[]

0,408

2.11E-07

32211

21

Nenhum

sm-epc-example-22233344

ml.c5.xlarge

1

[]

0,204

1.86E-07

18276

92

Nenhum

sm-epc-example-33344455

ml.c5.xlarge

1

[]

0,204

1.60E-07

21286

42

neo-00011122-2333-4445-5566-677788899900

Conceitos básicos

As etapas gerais para criar um trabalho de recomendação de inferência que inclua recomendações otimizadas para Neo são as seguintes:

  • Preparar o modelo ML para compilação Para obter mais informações, consulte Preparar modelo para compilação na documentação do Neo.

  • Package seu modelo em um arquivo de modelos (arquivo .tar.gz).

  • Crie um arquivo de exemplo de carga.

  • Registre seu SageMaker modelo no Registro de Modelos.

  • Crie um trabalho de recomendação de inferência.

  • Veja os resultados do trabalho do recomendador de inferência e escolha uma configuração.

  • Depure falhas de compilação, se houver. Para obter mais informações, consulte Solucionar problemas de compilação do Neo.

Para ver um exemplo que demonstra o fluxo de trabalho anterior e como usar recomendações otimizadas para NeoXGBoost, consulte o exemplo de caderno a seguir. Para ver um exemplo que mostra como usar recomendações otimizadas para Neo TensorFlow, consulte o exemplo de caderno a seguir.