

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á.

# Ajustar modelos de hub selecionado
<a name="jumpstart-curated-hubs-fine-tune"></a>

No hub privado e selecionado de modelos, você pode executar tarefas de treinamento de ajuste fino usando suas referências de modelo. As referências do modelo apontam para um JumpStart modelo disponível publicamente no hub público de SageMaker IA, mas você pode ajustar o modelo em seus próprios dados para seu caso de uso específico. Após o trabalho de ajuste fino, você tem acesso aos pesos do modelo que podem ser usados ou implantados em um endpoint.

Você pode ajustar modelos de hub selecionados em apenas algumas linhas de código usando o SDK do Python SageMaker. Para obter mais informações gerais sobre o ajuste fino de JumpStart modelos disponíveis publicamente, consulte. [Modelos de base e hiperparâmetros para ajuste](jumpstart-foundation-models-fine-tuning.md)

## Pré-requisitos
<a name="jumpstart-curated-hubs-fine-tune-prereqs"></a>

Para ajustar uma referência de JumpStart modelo em seu hub organizado, faça o seguinte:

1. Certifique-se de que a função do IAM do seu usuário tenha a `TrainHubModel` permissão de SageMaker IA anexada. Para ter mais informações, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no *AWS Guia do usuário do IAM*.

   Você deve anexar uma política como a do seguinte exemplo ao perfil do IAM do usuário.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "sagemaker:TrainHubModel",
               "Resource": "arn:aws:sagemaker:*:111122223333:hub/*"
           }
       ]
   }
   ```

------
**nota**  
Se seu hub selecionado for compartilhado entre contas e o respectivo conteúdo pertencer a outra conta, `HubContent` (o recurso de referência do modelo) deverá ter uma política do IAM baseada em recursos que também conceda a permissão `TrainHubModel` à conta solicitante, conforme mostrado no exemplo a seguir.  

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowCrossAccountSageMakerAccess",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": [
                   "sagemaker:TrainHubModel"
               ],
               "Resource": [
                   "arn:aws:sagemaker:*:111122223333:hub/*"
               ]
           }
       ]
   }
   ```

1. Tenha um hub privado com curadoria com uma referência de modelo a um JumpStart modelo que você deseja ajustar. Para ter mais informações sobre como criar um hub privado, consulte [Criar um hub de modelo privado](jumpstart-curated-hubs-admin-guide-create.md). Para saber como adicionar JumpStart modelos disponíveis publicamente ao seu hub privado, consulte[Adicionar modelos a um hub privado](jumpstart-curated-hubs-admin-guide-add-models.md).
**nota**  
O JumpStart modelo escolhido deve ser ajustável. Para verificar se um modelo é ajustável, consulte [Built-in Algorithms with pre-trained Model Table](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html).

1. Tenha um conjunto de dados de treinamento que você deseja usar para ajustar o modelo. O conjunto de dados deve estar no formato de treinamento apropriado para o modelo que você deseja ajustar.

## Ajustar uma referência de modelo do hub selecionado
<a name="jumpstart-curated-hubs-fine-tune-pysdk"></a>

O procedimento a seguir mostra como ajustar uma referência de modelo em seu hub privado com curadoria usando o SDK do Python SageMaker .

1. Verifique se você tem a versão mais recente (pelo menos`2.242.0`) do SDK do SageMaker Python instalada. Para obter mais informações, consulte [Usar a versão 2.x do SDK do SageMaker Python](https://sagemaker.readthedocs.io/en/stable/v2.html).

   ```
   !pip install --upgrade sagemaker
   ```

1. Importe os módulos AWS SDK para Python (Boto3) e os que você precisará do SDK do SageMaker Python.

   ```
   import boto3
   from sagemaker.jumpstart.estimator import JumpStartEstimator
   from sagemaker.session import Session
   ```

1. Inicialize uma sessão do Boto3, um cliente de SageMaker IA e uma sessão do SDK do Python SageMaker .

   ```
   sagemaker_client = boto3.Session(region_name=<AWS-region>).client("sagemaker")
   sm_session = Session(sagemaker_client=sagemaker_client)
   ```

1. Crie um `JumpStartEstimator` e forneça o ID do JumpStart modelo, o nome do seu hub que contém a referência do modelo e sua sessão do SDK do SageMaker Python. Para obter uma lista de modelos IDs, consulte a [tabela de algoritmos integrados com modelos pré-treinados](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html).

   Opcionalmente, é possível especificar os campos `instance_type` e `instance_count` ao criar o estimador. Do contrário, a tarefa de treinamento usará o tipo e contagem de instância padrão e do modelo que você está usando.

   Opcionalmente, você também pode especificar o `output_path` para o local do Amazon S3 onde deseja armazenar os pesos do modelo ajustado. Se você não especificar o`output_path`, então usa um bucket SageMaker AI Amazon S3 padrão para a região em sua conta, nomeado com o seguinte formato:. `sagemaker-<region>-<account-id>`

   ```
   estimator = JumpStartEstimator(
       model_id="meta-textgeneration-llama-3-2-1b",
       hub_name=<your-hub-name>,
       sagemaker_session=sm_session, # If you don't specify an existing session, a default one is created for you
       # Optional: specify your desired instance type and count for the training job
       # instance_type = "ml.g5.2xlarge"
       # instance_count = 1
       # Optional: specify a custom S3 location to store the fine-tuned model artifacts
       # output_path: "s3://<output-path-for-model-artifacts>"
   )
   ```

1. Crie um dicionário com a chave `training` em que você especifica o local do seu conjunto de dados de ajuste fino. Este exemplo aponta para um URI do Amazon S3. Se você tiver outras considerações, como usar o modo local ou vários canais de dados de treinamento, consulte [ JumpStartEstimator.fit ()](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.jumpstart.estimator.JumpStartEstimator.fit) na documentação do SDK do SageMaker Python para obter mais informações.

   ```
   training_input = {
       "training": "s3://<your-fine-tuning-dataset>"
   }
   ```

1. Chame o método `fit()` do estimador e passe seus dados de treinamento e sua aceitação do EULA (se aplicável).
**nota**  
O exemplo a seguir define `accept_eula=False.` Você deve alterar manualmente o valor para `True` para aceitar o EULA.

   ```
   estimator.fit(inputs=training_input, accept_eula=False)
   ```

Seu trabalho de ajuste fino deve começar agora.

Você pode verificar seu trabalho de ajuste fino visualizando seus trabalhos de treinamento, no console de SageMaker IA ou usando a [ListTrainingJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html)API.

Você pode acessar seus artefatos de modelo ajustados no Amazon S3 `output_path` que foram especificados no `JumpStartEstimator` objeto (o bucket AI Amazon SageMaker S3 padrão para a região ou um caminho personalizado do Amazon S3 que você especificou, se aplicável).