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
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
En primer lugar, busque el identificador del modelo que desee en la tabla de algoritmos integrados con modelos previamente
entrenados. 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)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
} )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 Facepredictor = estimator.deploy()
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.
En primer lugar, busque el identificador del modelo que desee en la tabla de algoritmos integrados con modelos previamente entrenados
. 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)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 Facepredictor = my_model.deploy()
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