Use modelos básicos com o SageMaker Python SDK - 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á.

Use modelos básicos com o SageMaker Python SDK

Todos os modelos JumpStart básicos estão disponíveis para implantação programática usando o SageMaker Python SDK. Modelos básicos de geração de texto disponíveis publicamente podem ser implantados usando o ID do modelo noTabela de modelos de geração de texto disponível publicamente. Modelos proprietários devem ser implantados usando as informações do pacote do modelo após a assinatura do modelo em AWS Marketplace.

As seções a seguir mostram como ajustar os modelos básicos usando a JumpStartEstimator classe e como implantar modelos usando a JumpStartModel classe, junto com utilitários adicionais do Python SDK.

Importante

Alguns modelos de base exigem aceitação explícita de um contrato de licença do usuário final (EULA). Para ter mais informações, consulte Aceitação do EULA com o SDK SageMaker Python.

Para referenciar os IDs de modelo disponíveis para todos os modelos básicos disponíveis publicamente, consulte a tabela de algoritmos integrados com modelos pré-treinados. Pesquise o nome do modelo básico de sua escolha na barra de pesquisa, altere o número de entradas mostradas usando o menu suspenso Mostrar entradas ou escolha o próximo texto destacado em azul no lado esquerdo da página para navegar pelos modelos disponíveis.

Ajuste os modelos de fundação disponíveis publicamente com a classe JumpStartEstimator

Você pode ajustar um algoritmo integrado ou um modelo pré-treinado em apenas algumas linhas de código usando o SDK. SageMaker Python

  1. Primeiro, encontre o ID do modelo de sua escolha nos algoritmos integrados com tabela de modelos pré-treinada.

  2. Usando o ID do modelo, defina seu trabalho de treinamento como um JumpStart estimador.

    from sagemaker.jumpstart.estimator import JumpStartEstimator model_id = "huggingface-textgeneration1-gpt-j-6b" estimator = JumpStartEstimator(model_id=model_id)
  3. Execute estimator.fit() em seu modelo, apontando para os dados de treinamento a serem usados no ajuste fino.

    estimator.fit( {"train": training_dataset_s3_path, "validation": validation_dataset_s3_path} )
  4. Em seguida, use o deploy método para implantar automaticamente seu modelo para inferência. Neste exemplo, usamos o modelo GPT-J 6B de. Hugging Face

    predictor = estimator.deploy()
  5. Em seguida, você pode executar a inferência com o modelo implantado usando o predict método.

    question = "What is Southern California often abbreviated as?" response = predictor.predict(question) print(response)
nota

Este exemplo usa o modelo básico GPT-J 6B, que é adequado para uma ampla variedade de casos de uso de geração de texto, incluindo respostas a perguntas, reconhecimento de entidades nomeadas, resumo e muito mais. Para obter mais informações sobre casos de uso de modelos, consulteExplore os modelos de fundação mais recentes.

Opcionalmente, você pode especificar versões do modelo ou tipos de instância ao criar seuJumpStartEstimator. Para obter mais informações sobre a JumpStartEstimator classe e seus parâmetros, consulte JumpStartEstimator.

Verifique os tipos de instância padrão

Opcionalmente, você pode incluir versões específicas do modelo ou tipos de instância ao ajustar um modelo pré-treinado usando a classe. JumpStartEstimator Todos os JumpStart modelos têm um tipo de instância padrão. Recupere o tipo de instância de treinamento padrão usando o código a seguir:

from sagemaker import instance_types instance_type = instance_types.retrieve_default( model_id=model_id, model_version=model_version, scope="training") print(instance_type)

Você pode ver todos os tipos de instância compatíveis com um determinado JumpStart modelo com o instance_types.retrieve() método.

Verifique os hiperparâmetros padrão

Para verificar os hiperparâmetros padrão usados para treinamento, você pode usar o retrieve_default() método da hyperparameters classe.

from sagemaker import hyperparameters my_hyperparameters = hyperparameters.retrieve_default(model_id=model_id, model_version=model_version) print(my_hyperparameters) # Optionally override default hyperparameters for fine-tuning my_hyperparameters["epoch"] = "3" my_hyperparameters["per_device_train_batch_size"] = "4" # Optionally validate hyperparameters for the model hyperparameters.validate(model_id=model_id, model_version=model_version, hyperparameters=my_hyperparameters)

Para obter mais informações sobre os hiperparâmetros disponíveis, consulteHiperparâmetros de ajuste fino comumente suportados.

Verifique as definições de métricas padrão

Você também pode verificar as definições de métricas padrão:

print(metric_definitions.retrieve_default(model_id=model_id, model_version=model_version))

Implemente modelos básicos disponíveis publicamente com a JumpStartModel classe

Você pode implantar um algoritmo integrado ou um modelo pré-treinado em um SageMaker endpoint em apenas algumas linhas de código usando o SageMaker Python SDK.

  1. Primeiro, encontre o ID do modelo de sua escolha nos algoritmos integrados com tabela de modelos pré-treinada.

  2. Usando o ID do modelo, defina seu modelo como um JumpStart modelo.

    from sagemaker.jumpstart.model import JumpStartModel model_id = "huggingface-text2text-flan-t5-xl" my_model = JumpStartModel(model_id=model_id)
  3. Use o deploy método para implantar automaticamente seu modelo para inferência. Neste exemplo, usamos o modelo FLAN-T5 XL da. Hugging Face

    predictor = my_model.deploy()
  4. Em seguida, você pode executar a inferência com o modelo implantado usando o predict método.

    question = "What is Southern California often abbreviated as?" response = predictor.predict(question) print(response)
nota

Este exemplo usa o modelo básico FLAN-T5 XL, que é adequado para uma ampla variedade de casos de uso de geração de texto, incluindo respostas a perguntas, resumos, criação de chatbots e muito mais. Para obter mais informações sobre casos de uso de modelos, consulteExplore os modelos de fundação mais recentes.

Para obter mais informações sobre a JumpStartModel classe e seus parâmetros, consulte JumpStartModel.

Verifique os tipos de instância padrão

Opcionalmente, você pode incluir versões específicas do modelo ou tipos de instância ao implantar um modelo pré-treinado usando a classe. JumpStartModel Todos os JumpStart modelos têm um tipo de instância padrão. Recupere o tipo de instância de implantação padrão usando o código a seguir:

from sagemaker import instance_types instance_type = instance_types.retrieve_default( model_id=model_id, model_version=model_version, scope="inference") print(instance_type)

Veja todos os tipos de instância compatíveis com um determinado JumpStart modelo com o instance_types.retrieve() método.

Use componentes de inferência para implantar vários modelos em um endpoint compartilhado

Um componente de inferência é um objeto de SageMaker hospedagem que você pode usar para implantar um ou mais modelos em um endpoint para aumentar a flexibilidade e a escalabilidade. Você deve alterar o endpoint_type para que seu JumpStart modelo seja, inference-component-based em vez do endpoint padrão baseado em modelo.

predictor = my_model.deploy( endpoint_name = 'jumpstart-model-id-123456789012', endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED )

Para obter mais informações sobre a criação de endpoints com componentes de inferência e a implantação de SageMaker modelos, consulte. Utilização compartilhada de recursos com vários modelos

Verifique os formatos de inferência de entrada e saída válidos

Para verificar os formatos de entrada e saída de dados válidos para inferência, você pode usar o retrieve_options() método das Deserializers classes Serializers e.

print(sagemaker.serializers.retrieve_options(model_id=model_id, model_version=model_version)) print(sagemaker.deserializers.retrieve_options(model_id=model_id, model_version=model_version))

Verifique o conteúdo compatível e aceite os tipos

Da mesma forma, você pode usar o retrieve_options() método para verificar o conteúdo compatível e aceitar tipos para um modelo.

print(sagemaker.content_types.retrieve_options(model_id=model_id, model_version=model_version)) print(sagemaker.accept_types.retrieve_options(model_id=model_id, model_version=model_version))

Para obter mais informações sobre utilitários, consulte APIs de utilitários.

Use modelos básicos proprietários com o SDK SageMaker Python

Modelos proprietários devem ser implantados usando as informações do pacote do modelo após a assinatura do modelo em AWS Marketplace. Para obter mais informações sobre SageMaker e AWS Marketplace, consulte Comprar e vender SageMaker algoritmos e modelos da Amazon em AWS Marketplace. Para encontrar AWS Marketplace links para os modelos proprietários mais recentes, consulte Introdução à Amazon SageMaker JumpStart.

Depois de assinar o modelo de sua escolha AWS Marketplace, você pode implantar o modelo básico usando o SageMaker Python SDK e o SDK associado ao provedor do modelo. Por exemplo, AI21 Labs, Cohere e LightOn usam os lightonsage pacotes"ai21[SM]",cohere-sagemaker, e, respectivamente.

Por exemplo, para definir um JumpStart modelo usando o Jurassic-2 Jumbo Instruct da AI21 Labs, use o código a seguir:

import sagemaker import ai21 role = get_execution_role() sagemaker_session = sagemaker.Session() model_package_arn = "arn:aws:sagemaker:us-east-1:865070037744:model-package/j2-jumbo-instruct-v1-1-43-4e47c49e61743066b9d95efed6882f35" my_model = ModelPackage( role=role, model_package_arn=model_package_arn, sagemaker_session=sagemaker_session )

Por step-by-step exemplo, encontre e execute o notebook associado ao modelo básico proprietário de sua escolha no SageMaker Studio Classic. Consulte Use modelos básicos no Amazon SageMaker Studio Classic Para mais informações. Para obter mais informações sobre o SageMaker Python SDK, consulte ModelPackage.