Utilice modelos de base con el SageMaker Python SDK - Amazon SageMaker

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.

Utilice modelos de base con el SageMaker Python SDK

Todos los JumpStart modelos básicos están disponibles para su implementación mediante programación mediante el. SageMaker Python SDK Los modelos básicos de generación de texto disponibles públicamente se pueden implementar utilizando el ID de modelo que aparece en. Tabla modelo de generación de texto disponible públicamente Los modelos patentados deben implementarse utilizando la información del paquete del modelo después de suscribirse al modelo en AWS Marketplace.

Las siguientes secciones muestran cómo ajustar los modelos básicos utilizando la JumpStartEstimator clase y cómo implementar modelos utilizando la JumpStartModel clase, junto con utilidades adicionales PythonSDK.

importante

Algunos modelos básicos requieren la aceptación explícita de un acuerdo de licencia para el usuario final (). EULA Para obtener más información, consulte EULAaceptación con el SageMaker Python SDK.

Para consultar el modelo disponible IDs para todos los modelos básicos disponibles públicamente, consulte la tabla de algoritmos integrados con modelos previamente entrenados. Busca el nombre del modelo base que prefieras en la barra de búsqueda, cambia el número de entradas que se muestran en el menú desplegable Mostrar entradas o selecciona el siguiente texto resaltado en azul en la parte izquierda de la página para navegar por los modelos disponibles.

Ajuste los modelos de base disponibles públicamente con la clase JumpStartEstimator

Puede ajustar con precisión un algoritmo integrado o un modelo previamente entrenado en tan solo unas pocas líneas de código utilizando el. SageMaker Python SDK

  1. En primer lugar, busque el identificador del modelo que desee en la tabla de algoritmos integrados con modelos previamente entrenados.

  2. Con el ID del modelo, defina su trabajo de entrenamiento como JumpStart estimador.

    from sagemaker.jumpstart.estimator import JumpStartEstimator model_id = "huggingface-textgeneration1-gpt-j-6b" estimator = JumpStartEstimator(model_id=model_id)
  3. Ejecuta estimator.fit() tu modelo, apuntando a los datos de entrenamiento para usarlos para ajustarlos con precisión.

    estimator.fit( {"train": training_dataset_s3_path, "validation": validation_dataset_s3_path} )
  4. A continuación, utilice el deploy método para implementar automáticamente el modelo con fines de inferencia. En este ejemplo, utilizamos el modelo GPT -J 6B de. Hugging Face

    predictor = estimator.deploy()
  5. A continuación, puede realizar una inferencia con el modelo desplegado mediante el método. predict

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

En este ejemplo, se utiliza el modelo básico GPT -J 6B, que es adecuado para una amplia gama de casos de uso de la generación de texto, como la respuesta a preguntas, el reconocimiento de entidades con nombre, el resumen, etc. Para obtener más información sobre los casos de uso del modelo, consulte. Exploración de los modelos fundacionales más recientes

Si lo desea, puede especificar las versiones del modelo o los tipos de instancia al crear suJumpStartEstimator. Para obtener más información sobre la JumpStartEstimator clase y sus parámetros, consulte JumpStartEstimator.

Compruebe los tipos de instancia predeterminados

Si lo desea, puede incluir versiones de modelos o tipos de instancias específicos al ajustar un modelo previamente entrenado con la clase. JumpStartEstimator Todos los JumpStart modelos tienen un tipo de instancia predeterminado. Recupera el tipo de instancia de entrenamiento predeterminado mediante el siguiente 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)

Con el instance_types.retrieve() método, puedes ver todos los tipos de instancias compatibles con un JumpStart modelo determinado.

Comprueba los hiperparámetros predeterminados

Para comprobar los hiperparámetros predeterminados utilizados para el entrenamiento, puede utilizar el retrieve_default() método de la hyperparameters clase.

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 obtener más información sobre los hiperparámetros disponibles, consulte. Hiperparámetros de ajuste fino comúnmente admitidos

Compruebe las definiciones de métricas predeterminadas

También puedes comprobar las definiciones de métricas predeterminadas:

print(metric_definitions.retrieve_default(model_id=model_id, model_version=model_version))

Implemente modelos básicos disponibles públicamente con la JumpStartModel clase

Puede implementar un algoritmo integrado o un modelo previamente entrenado en un SageMaker punto final con solo unas pocas líneas de código utilizando el SageMaker PythonSDK.

  1. En primer lugar, busque el identificador del modelo que desee en la tabla de algoritmos integrados con modelos previamente entrenados.

  2. Con el ID del modelo, defina su modelo como JumpStart modelo.

    from sagemaker.jumpstart.model import JumpStartModel model_id = "huggingface-text2text-flan-t5-xl" my_model = JumpStartModel(model_id=model_id)
  3. Utilice el deploy método para implementar automáticamente el modelo para la inferencia. En este ejemplo, utilizamos el modelo FLAN -T5 XL de. Hugging Face

    predictor = my_model.deploy()
  4. A continuación, puede realizar una inferencia con el modelo implementado mediante el método. predict

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

En este ejemplo, se utiliza el modelo básico FLAN -T5 XL, que es adecuado para una amplia gama de casos de uso de la generación de texto, como la respuesta a preguntas, la síntesis, la creación de chatbots, etc. Para obtener más información sobre los casos de uso del modelo, consulte. Exploración de los modelos fundacionales más recientes

Para obtener más información sobre la JumpStartModel clase y sus parámetros, consulte JumpStartModel.

Compruebe los tipos de instancia predeterminados

Si lo desea, puede incluir versiones de modelos o tipos de instancias específicos al implementar un modelo previamente entrenado con la JumpStartModel clase. Todos los JumpStart modelos tienen un tipo de instancia predeterminado. Recupera el tipo de instancia de despliegue predeterminado mediante el siguiente código:

from sagemaker import instance_types instance_type = instance_types.retrieve_default( model_id=model_id, model_version=model_version, scope="inference") print(instance_type)

Consulta todos los tipos de instancias compatibles para un JumpStart modelo determinado con el instance_types.retrieve() método.

Usa componentes de inferencia para implementar varios modelos en un punto final compartido

Un componente de inferencia es un objeto de SageMaker alojamiento que puede utilizar para implementar uno o más modelos en un punto final a fin de aumentar la flexibilidad y la escalabilidad. Debe cambiarlo endpoint_type para que su JumpStart modelo sea el punto final predeterminado basado en el modelo, inference-component-based en lugar del punto final predeterminado.

predictor = my_model.deploy( endpoint_name = 'jumpstart-model-id-123456789012', endpoint_type = EndpointType.INFERENCE_COMPONENT_BASED )

Para obtener más información sobre la creación de puntos finales con componentes de inferencia y la implementación de SageMaker modelos, consulte. Utilización de recursos compartidos con varios modelos

Compruebe los formatos de inferencia de entrada y salida válidos

Para comprobar los formatos de entrada y salida de datos válidos para la inferencia, puede utilizar el retrieve_options() método de las clases Serializers yDeserializers.

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

Comprueba el contenido compatible y acepta los tipos

Del mismo modo, puede utilizar el retrieve_options() método para comprobar el contenido compatible y aceptar los tipos de un 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 obtener más información sobre las utilidades, consulte Utilidad APIs.

Utilice modelos básicos patentados con SageMaker Python SDK

Los modelos patentados deben implementarse utilizando la información del paquete del modelo después de suscribirse al modelo en AWS Marketplace. Para obtener más información sobre SageMaker y AWS Marketplace, consulte Comprar y vender SageMaker algoritmos y modelos de Amazon en AWS Marketplace. Para encontrar AWS Marketplace enlaces a los modelos propietarios más recientes, consulta Cómo empezar con Amazon SageMaker JumpStart.

Tras suscribirse al modelo de su elección AWS Marketplace, podrá implementar el modelo básico utilizando el proveedor del modelo SageMaker Python SDK y el SDK asociado al mismo. Por ejemplo, AI21 Labs, Cohere y LightOn utilizan los lightonsage paquetes "ai21[SM]"cohere-sagemaker, y, respectivamente.

Por ejemplo, para definir un JumpStart modelo con Jurassic-2 Jumbo Instruct de AI21 Labs, utilice el siguiente código:

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 ejemplo, busque y ejecute el bloc de notas asociado al modelo básico propietario que prefiera en Studio Classic. SageMaker Para obtener más información, consulte Usa modelos de base en Amazon SageMaker Studio Classic. Para obtener más información sobre SageMaker PythonSDK, consulte ModelPackage.