Implantação e previsões do modelo de Autopilot - 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á.

Implantação e previsões do modelo de Autopilot

Depois de ajustar um modelo de linguagem grande (LLM), você pode implantar o modelo para geração de texto em tempo real configurando um endpoint para obter previsões interativas.

nota

Recomendamos executar trabalhos de inferência em tempo real ml.g5.12xlarge para obter melhores performances. Como alternativa, as ml.g5.8xlarge instâncias são adequadas para tarefas de geração de texto Falcon-7B-Instruct e -7B-Instruct. MPT

Você pode encontrar as especificidades dessas instâncias na categoria Computação acelerada na seleção de tipos de instância fornecida pela Amazon. EC2

Geração de texto em tempo real

Você pode usar SageMaker APIs para implantar manualmente seu modelo ajustado em um endpoint de inferência em tempo real do SageMaker Hosting e, em seguida, começar a fazer previsões invocando o endpoint da seguinte maneira.

nota

Como alternativa, você pode escolher a opção de implantação automática o criar seu experimento de ajuste fino no Autopilot. Para obter informações sobre como configurar a implantação automática de modelos, consulte Como habilitar a implantação automática.

Você também pode usar o SageMaker Python SDK e a JumpStartModel classe para realizar inferências com modelos ajustados pelo Autopilot. Isso pode ser feito especificando um local personalizado para o artefato do modelo no Amazon S3. Para obter informações sobre como definir seu modelo como JumpStart modelo e implantar seu modelo para inferência, consulte Implantação de baixo código com a classe. JumpStartModel

  1. Obtenha as definições do contêiner de inferência candidato

    Você pode encontrar o InferenceContainerDefinitions interior do BestCandidate objeto recuperado da resposta à DescribeAutoMLJobV2APIchamada. Uma definição de contêiner para inferência refere-se ao ambiente em contêineres projetado para implantar e executar seu modelo treinado para fazer previsões.

    O exemplo de AWS CLI comando a seguir usa o DescribeAutoMLJobV2APIpara obter as definições de contêiner recomendadas para o nome do seu trabalho.

    aws sagemaker describe-auto-ml-job-v2 --auto-ml-job-name job-name --region region
  2. Crie um SageMaker modelo

    Use as definições de contêiner da etapa anterior para criar um SageMaker modelo usando CreateModelAPIo. Veja o AWS CLI comando a seguir como exemplo. Use o CandidateName para o nome do modelo.

    aws sagemaker create-model --model-name '<your-candidate-name>' \ --primary-container '<container-definition' \ --execution-role-arn '<execution-role-arn>' --region '<region>
  3. Criar uma configuração de endpoint

    O exemplo de AWS CLI comando a seguir usa o CreateEndpointConfigAPIpara criar uma configuração de endpoint.

    nota

    Para evitar que a criação do endpoint atinja o tempo limite devido a um longo download do modelo, recomendamos configurar ModelDataDownloadTimeoutInSeconds = 3600 e ContainerStartupHealthCheckTimeoutInSeconds = 3600.

    aws sagemaker create-endpoint-config --endpoint-config-name '<your-endpoint-config-name>' \ --production-variants '<list-of-production-variants>' ModelDataDownloadTimeoutInSeconds=3600 ContainerStartupHealthCheckTimeoutInSeconds=3600 \ --region '<region>'
  4. Criar o endpoint

    O AWS CLI exemplo a seguir usa o CreateEndpointAPIpara criar o endpoint.

    aws sagemaker create-endpoint --endpoint-name '<your-endpoint-name>' \ --endpoint-config-name '<endpoint-config-name-you-just-created>' \ --region '<region>'

    Verifique o progresso da implantação do seu endpoint usando o. DescribeEndpointAPI Veja o AWS CLI comando a seguir como exemplo.

    aws sagemaker describe-endpoint —endpoint-name '<endpoint-name>' —region <region>

    Depois que EndpointStatus muda para InService, o endpoint está pronto para ser usado para inferência em tempo real.

  5. Invoque o endpoint

    O comando a seguir invoca o endpoint para inferência em tempo real. Seu prompt precisa ser codificado em bytes.

    nota

    O formato do seu prompt de entrada depende do modelo de linguagem. Para obter mais informações sobre o formato de solicitações de geração de texto, consulte Formato de solicitação para inferência em tempo real de modelos de geração de texto.

    aws sagemaker invoke-endpoint --endpoint-name '<endpoint-name>' \ --region '<region>' --body '<your-promt-in-bytes>' [--content-type] 'application/json' <outfile>

Formato de solicitação para inferência em tempo real de modelos de geração de texto

Diferentes modelos de linguagem grande (LLMs) podem ter dependências específicas de software, ambientes de execução e requisitos de hardware que influenciam o contêiner recomendado pelo Autopilot para hospedar o modelo para inferência. Além disso, cada modelo determina o formato de dados de entrada necessário e o formato esperado para previsões e saídas.

Aqui estão exemplos de entradas para alguns modelos e contêineres recomendados.

  • Para modelos Falcon com o contêiner huggingface-pytorch-tgi-inference:2.0.1-tgi1.0.3-gpu-py39-cu118-ubuntu20.04 recomendado:

    payload = { "inputs": "Large language model fine-tuning is defined as", "parameters": { "do_sample": false, "top_p": 0.9, "temperature": 0.1, "max_new_tokens": 128, "stop": ["<|endoftext|>", "</s>"] } }
  • Para todos os outros modelos com o contêiner recomendadodjl-inference:0.22.1-fastertransformer5.3.0-cu118:

    payload= { "text_inputs": "Large language model fine-tuning is defined as" }