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á.
Implantar um modelo pré-otimizado
Alguns modelos no JumpStart são pré-otimizados pelo SageMaker AI, o que significa que você pode implantar versões otimizadas desses modelos sem primeiro criar um trabalho de otimização de inferência.
Para ver a lista de modelos com opções pré-otimizadas, consulte Modelos do JumpStart pré-otimizados.
Use o procedimento a seguir para implantar um modelo do JumpStart pré-otimizado usando o Amazon SageMaker Studio.
Como implantar um modelo pré-otimizado
-
No Studio, no menu de navegação à esquerda, escolha JumpStart.
-
Na página Todos os modelos públicos, escolha um dos modelos pré-otimizados.
-
Na página de detalhes do portal, escolha Implantar.
-
Na página de implantação, alguns modelos do JumpStart exigem que você assine um contrato de licença de usuário final (EULA) para continuar. Se solicitado, analise os termos da licença na seção Contrato de licença. Se os termos forem aceitáveis para seu caso de uso, marque a caixa de seleção Aceito o EULA e li os termos e condições.
Para ter mais informações, consulte Contratos de licença de usuário final.
-
Em Nome do endpoint e Contagem de instâncias inicial, aceite os valores padrão ou defina valores personalizados.
-
Em Tipo de instância, mantenha o valor padrão. Do contrário, você não poderá implantar uma configuração pré-otimizada.
-
Em Models (Modelos), expanda a configuração do modelo. O Studio mostra uma tabela que apresenta as configurações pré-otimizadas que você pode escolher. Cada opção tem métricas de latência e throughput. Escolha a opção que melhor atenda às necessidades da sua aplicação.
-
Escolha Implantar.
Você pode implantar um modelo pré-otimizado usando o SageMaker AI Python SDK em seu projeto. Primeiro, defina uma instância Model usando a classe ModelBuilder. Em seguida, você use o método set_deployment_config() para definir a configuração pré-otimizada que deseja implantar. Depois, use o método build() para criar o modelo. Por fim, use o método deploy() para implantá-lo em um endpoint de inferência.
Para ter mais informações sobre as classes e os métodos usados nos exemplos a seguir, consulte APIs
Como configurar o projeto
-
No código da sua aplicação, importe as bibliotecas necessárias. O exemplo a seguir importa o SDK para Python (Boto3). Ele também importa os módulos do SageMaker AI Python SDK que você usa para definir e trabalhar com modelos:
import boto3 from sagemaker.serve.builder.model_builder import ModelBuilder from sagemaker.serve.builder.schema_builder import SchemaBuilder from sagemaker.session import Session -
Inicialize uma sessão do SageMaker AI. O seguinte exemplo usa a classe
Session():sagemaker_session = Session()
Como definir seu modelo
-
Crie uma instância
SchemaBuildere forneça amostras de entrada e saída. Você deve fornecer essa instância para a classeModelBuilderao definir um modelo. Com ela, o SageMaker AI gera automaticamente as funções de organização para serializar e desserializar a entrada e a saída.Para ter mais informações sobre como usar as classes
SchemaBuildereModelBuilder, consulte Crie um modelo na Amazon SageMaker AI com ModelBuilder.O seguinte exemplo apresenta amostras de strings de entrada e saída para a classe
SchemaBuilder:response = "Jupiter is the largest planet in the solar system. It is the fifth planet from the sun." sample_input = { "inputs": "What is the largest planet in the solar system?", "parameters": {"max_new_tokens": 128, "top_p": 0.9, "temperature": 0.6}, } sample_output = [{"generated_text": response}] schema_builder = SchemaBuilder(sample_input, sample_output) -
Defina seu modelo para o SageMaker AI. O seguinte exemplo define os parâmetros para inicializar uma instância
ModelBuilder:model_builder = ModelBuilder( model="jumpstart-model-id", schema_builder=schema_builder, sagemaker_session=sagemaker_session, role_arn=sagemaker_session.get_caller_identity_arn(), )Este exemplo usa um modelo do JumpStart. Substitua
pelo ID de um modelo do JumpStart, comojumpstart-model-idmeta-textgeneration-llama-3-70b.
Como recuperar métricas de referência
-
Para determinar qual configuração pré-otimizada você deseja implantar, consulte as opções que o SageMaker AI oferece. O seguinte exemplo as exibe:
model_builder.display_benchmark_metrics()O método
display_benchmark_metrics()imprime uma tabela da seguinte forma:| Instance Type | Config Name | Concurrent Users | Latency, TTFT (P50 in sec) | Throughput (P50 in tokens/sec/user) | |:----------------|:--------------|-------------------:|-----------------------------:|--------------------------------------:| | ml.g5.48xlarge | lmi-optimized | 1 | 2.25 | 49.70 | | ml.g5.48xlarge | lmi-optimized | 2 | 2.28 | 21.10 | | ml.g5.48xlarge | lmi-optimized | 4 | 2.37 | 14.10 | . . . | ml.p4d.24xlarge | lmi-optimized | 1 | 0.10 | 137.40 | | ml.p4d.24xlarge | lmi-optimized | 2 | 0.11 | 109.20 | | ml.p4d.24xlarge | lmi-optimized | 4 | 0.13 | 85.00 | . . .Na primeira coluna, a tabela lista os tipos possíveis de instância que você pode usar para hospedar o modelo escolhido do JumpStart. Para cada tipo de instância, em
Config Name, ela lista o nome das configurações pré-otimizadas. As configurações que o SageMaker AI oferece são denominadaslmi-optimized. Para cada tipo e configuração de instância, a tabela apresenta métricas de referência. Essas métricas indicam o throughput e a latência que o modelo comportará para números diferentes de usuários simultâneos. -
Com base nas métricas de referência, escolha o tipo de instância e o nome da configuração que melhor atendam às suas necessidades de desempenho. Você usará esses valores quando criar uma configuração de implantação.
Como implantar um modelo pré-otimizado
-
Crie uma configuração de implantação. O exemplo a seguir usa uma instância
ModelBuilder. Ele passa um tipo de instância e um nome de configuração para o métodoset_deployment_config():model_builder.set_deployment_config( config_name="", instance_type="config-name", )instance-typeSubstitua
por um nome de configuração da tabela, comoconfig-namelmi-optimized. Substituapor um tipo de instância da tabela, comoinstance-typeml.p4d.24xlarge. -
Compile seu modelo. O exemplo a seguir usa o método
.build()da instânciaModelBuilder:optimized_model = model_builder.build()O método
.build()exibe uma instânciaModelimplantável. -
Implante seu modelo em um endpoint de inferência. O exemplo a seguir usa o método
.deploy()da instânciaModel:predictor = optimized_model.deploy(accept_eula=True)O método
deploy()exibe uma instânciaPredictor, que você pode usar para enviar solicitações de inferência ao modelo.
Como testar seu modelo com uma solicitação de inferência
-
Depois de implantar seu modelo em um endpoint de inferência, teste as respectivas predições. O seguinte exemplo envia uma solicitação de inferência usando a instância
:Predictorpredictor.predict(sample_input)O modelo exibe o texto que ele gera com uma resposta como a seguinte:
{'generated_text': ' Jupiter is the largest planet in the solar system. It is the fifth planet from the sun. It is a gas giant with . . .'}
Modelos do JumpStart pré-otimizados
A seguir estão os modelos do JumpStart que têm configurações pré-otimizadas.
Meta
-
Llama 3.1 70B Instruct
-
Llama 3.1 70B
-
Llama 3.1 405B Instruct FP8
-
Llama 3.1 405B FP8
-
Llama 3 8B Instruct
-
Llama 3 8B
-
Llama 3 70B Instruct
-
Llama 3 70B
-
Llama 2 70B Chat
-
Llama 2 7B Chat
-
Llama 2 13B Chat
HuggingFace
-
Mixtral 8x7B Instruct
-
Mixtral 8x7B
-
Mistral 7B Instruct
-
Mistral 7B
Modelos do JumpStart predefinidos
Para alguns modelos e configurações, o SageMaker AI oferece modelos predefinidos para instâncias específicas do AWS Inferentia e AWS Trainium. Para isso, se você criar um trabalho de otimização de compilação e escolher ml.inf2.48xlarge ou ml.trn1.32xlarge como o tipo de instância de implantação, o SageMaker AI buscará os artefatos compilados. Como o trabalho usa um modelo já compilado, ele é concluído rapidamente sem executar a compilação do zero.
Abaixo estão os modelos do JumpStart para os quais o SageMaker AI tem modelos predefinidos:
Meta
-
Llama3 8B
-
Llama3 70B
-
Llama2 7B
-
Llama2 70B
-
Llama2 13B
-
Code Llama 7B
-
Code Llama 70B
HuggingFace
-
Mistral 7B