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
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
Primeiro, encontre o ID do modelo de sua escolha nos algoritmos integrados com tabela de modelos pré-treinada
. 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)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
} )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 Facepredictor = estimator.deploy()
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.
Primeiro, encontre o ID do modelo de sua escolha nos algoritmos integrados com tabela de modelos pré-treinada
. 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)Use o
deploy
método para implantar automaticamente seu modelo para inferência. Neste exemplo, usamos o modelo FLAN-T5 XL da. Hugging Facepredictor = my_model.deploy()
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