Ajustar modelos de base disponíveis ao público com a função JumpStartEstimator - Amazon SageMaker

Ajustar modelos de base disponíveis ao público com a função JumpStartEstimator

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

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

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

    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, indicando os dados de treinamento a serem usados no ajuste.

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

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

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

Este exemplo usa o modelo de base GPT-J 6B, que é adequado para diversos casos de uso de geração de texto, incluindo respostas a perguntas, reconhecimento de entidades nomeadas, resumos e muito mais. Para obter mais informações sobre os casos de uso do modelo, consulte Modelos de base disponíveis.

Você também pode especificar versões do modelo ou tipos de instância ao criar seu JumpStartEstimator. Para obter mais informações sobre a função JumpStartEstimator e seus parâmetros, consulte JumpStartEstimator.

Verificar os tipos de instância padrão

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

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ê consegue visualizar todos os tipos de instância compatíveis com um determinado modelo JumpStart com o método instance_types.retrieve().

Verificar hiperparâmetros padrão

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

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 hiperparâmetros disponíveis, consulte Hiperparâmetros de ajuste normalmente aceitos.

Verificar 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))