

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Fine-tune modelos centrales seleccionados
<a name="jumpstart-curated-hubs-fine-tune"></a>

En su centro de modelos seleccionado y privado, puede ejecutar trabajos de entrenamiento de refinamiento mediante sus referencias de modelos. Las referencias a los modelos apuntan a un JumpStart modelo disponible públicamente en el centro público de SageMaker IA, pero puedes ajustar el modelo a partir de tus propios datos para tu caso de uso específico. Después del trabajo de refinamiento, tendrá acceso a los pesos del modelo que puede utilizar o implementar en un punto de conexión.

Puede ajustar los modelos centrales seleccionados en solo unas pocas líneas de código con el SDK de SageMaker Python. Para obtener más información general sobre cómo ajustar los modelos disponibles JumpStart públicamente, consulte. [Modelos fundacionales e hiperparámetros para el refinamiento](jumpstart-foundation-models-fine-tuning.md)

## Requisitos previos
<a name="jumpstart-curated-hubs-fine-tune-prereqs"></a>

Para afinar la referencia de un JumpStart modelo en su centro seleccionado, haga lo siguiente:

1. Asegúrese de que el rol de IAM de su usuario tenga el permiso de SageMaker IA `TrainHubModel` adjunto. Para obtener más información, consulta [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *AWS Guía del usuario de IAM*.

   Debe asociar una política como la del siguiente ejemplo al rol de IAM de su usuario.

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

****  

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

------
**nota**  
Si el centro seleccionado se comparte entre cuentas y el contenido del centro es propiedad de otra cuenta, asegúrese de que el suyo `HubContent` (el recurso de referencia del modelo) tenga una política de IAM basada en recursos que también otorgue el permiso `TrainHubModel` a la cuenta solicitante, como se muestra en el siguiente ejemplo.  

****  

   ```
   {
       "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. Disponga de un centro privado con una referencia a un JumpStart modelo que desee ajustar. Para obtener más información sobre cómo crear un centro privado, consulte [Creación de un centro privado de modelos](jumpstart-curated-hubs-admin-guide-create.md). Para obtener información sobre cómo añadir JumpStart modelos disponibles públicamente a tu centro privado, consulta. [Adición de modelos a un centro privado](jumpstart-curated-hubs-admin-guide-add-models.md)
**nota**  
El JumpStart modelo que elija debe poder ajustarse con precisión. [Puede comprobar si un modelo se puede ajustar con precisión consultando la tabla de algoritmos con modelos. Built-in Pre-trained ](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html)

1. Tenga un conjunto de datos de entrenamiento que desee utilizar para refinar el modelo. El conjunto de datos debe tener el formato de entrenamiento apropiado para el modelo que desea refinar.

## Fine-tune una referencia de modelo hub seleccionada
<a name="jumpstart-curated-hubs-fine-tune-pysdk"></a>

El siguiente procedimiento le muestra cómo ajustar una referencia de modelo en su centro privado seleccionado mediante el SDK de SageMaker Python.

1. Asegúrese de tener instalada la última versión (como mínimo`2.242.0`) del SDK de SageMaker Python. Para obtener más información, consulte [Usar la versión 2.x del SDK de SageMaker Python](https://sagemaker.readthedocs.io/en/stable/v2.html).

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

1. Importa los módulos AWS SDK para Python (Boto3) y los que necesitarás del SDK de SageMaker Python.

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

1. Inicialice una sesión de Boto3, un cliente de SageMaker IA y una sesión del SDK de SageMaker Python.

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

1. Crea `JumpStartEstimator` y proporciona el ID del JumpStart modelo, el nombre de tu hub que contiene la referencia del modelo y tu sesión del SDK de SageMaker Python. Para obtener una lista de los ID de los modelos, consulta la [tabla de Built-in algoritmos con Pre-trained modelos](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html).

   También puede especificar los campos `instance_type` y `instance_count` al crear el estimador. Si no lo hace, el trabajo de entrenamiento utilizará el tipo y el recuento de instancia predeterminados para el modelo que utilice.

   También puede especificar `output_path` en la ubicación de Amazon S3 donde desea almacenar las ponderaciones del modelo de ajuste fino. Si no especificas el`output_path`, utiliza un bucket Amazon S3 de SageMaker IA predeterminado para la región de tu cuenta, denominado con el siguiente 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. Cree un diccionario con la clave `training` en la que especifique la ubicación de su conjunto de datos de refinamiento. En este ejemplo se apunta a un URI de Amazon S3. Si tienes otras consideraciones, como usar el modo local o varios canales de datos de entrenamiento, consulta [ JumpStartEstimator.fit()](https://sagemaker.readthedocs.io/en/stable/api/training/estimators.html#sagemaker.jumpstart.estimator.JumpStartEstimator.fit) en la documentación del SDK de SageMaker Python para obtener más información.

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

1. Llame al método `fit()` del estimador y envíe sus datos de entrenamiento y su aceptación del EULA (si corresponde).
**nota**  
En el siguiente ejemplo se establece `accept_eula=False.` Debe cambiar el valor manualmente a `True` para aceptar el EULA.

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

Su trabajo de refinamiento debería comenzar ahora.

Puedes comprobar tu trabajo de ajuste viendo tus trabajos de formación, ya sea en la consola de SageMaker IA o mediante la [ListTrainingJobs](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html)API.

Puede acceder a sus artefactos de modelo ajustados en el Amazon S3 `output_path` que se especificó en el `JumpStartEstimator` objeto (ya sea el bucket Amazon S3 de SageMaker IA predeterminado para la región o una ruta de Amazon S3 personalizada que especificó, si corresponde).