Refinamiento de modelos de centros seleccionados - Amazon SageMaker AI

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.

Refinamiento de modelos de centros seleccionados

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

Requisitos previos

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 en la AWSGuí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.

    JSON
    { "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/*" ] } ] }
  2. 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. 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

    nota

    El JumpStart modelo que elija debe poder ajustarse con precisión. Puede verificar si un modelo es refinable consultando Built-in Algorithms with Pre-trained Models Table.

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

Refinamiento de una referencia de modelo de un centro seleccionado

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ínimo2.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.

    !pip install --upgrade sagemaker
  2. 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
  3. 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)
  4. 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 modelos IDs, consulta la tabla de algoritmos integrados con modelos previamente entrenados.

    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 eloutput_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>" )
  5. 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 () en la documentación del SDK de SageMaker Python para obtener más información.

    training_input = { "training": "s3://<your-fine-tuning-dataset>" }
  6. 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 API. ListTrainingJobs

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