

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 básicos con el SDK SageMaker Python
<a name="jumpstart-foundation-models-use-python-sdk"></a>

Todos JumpStart los modelos básicos están disponibles para su implementación programática mediante el SageMaker Python SDK.

Para implementar modelos fundacionales disponibles públicamente, puede usar su ID de modelo. Puede encontrar el modelo de todos IDs los modelos básicos disponibles públicamente en la tabla de [algoritmos integrados con modelos previamente entrenados](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html). Busque el nombre de un modelo fundacional en la barra **Buscar**. Use el menú desplegable **Mostrar entradas** o los controles de paginación para navegar por los modelos disponibles.

Los modelos patentados deben implementarse utilizando la información del paquete del modelo después de suscribirse al modelo en AWS Marketplace. 

Puede encontrar la lista de modelos JumpStart disponibles en[Modelos fundacionales disponibles](jumpstart-foundation-models-latest.md).

**importante**  
Algunos modelos fundacionales requieren la aceptación explícita de un acuerdo de licencia de usuario final (EULA). Para obtener más información, consulte [Aceptación del EULA con el SDK SageMaker Python](jumpstart-foundation-models-choose.md#jumpstart-foundation-models-choose-eula-python-sdk).

En las siguientes secciones se muestra cómo refinar modelos fundacionales disponibles públicamente utilizando la clase `JumpStartEstimator`, implementar modelos fundacionales disponibles públicamente utilizando la clase `JumpStartModel` e implementar modelos fundacionales patentados utilizando la clase `ModelPackage`.

**Topics**
+ [Refinamiento de los modelos fundacionales disponibles públicamente con la clase `JumpStartEstimator`](jumpstart-foundation-models-use-python-sdk-estimator-class.md)
+ [Implementación de modelos fundacionales disponibles públicamente con la clase `JumpStartModel`](jumpstart-foundation-models-use-python-sdk-model-class.md)
+ [Implementación de modelos fundacionales patentados con la clase `ModelPackage`](jumpstart-foundation-models-use-python-sdk-proprietary.md)

# Refinamiento de los modelos fundacionales disponibles públicamente con la clase `JumpStartEstimator`
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class"></a>

**nota**  
Para obtener instrucciones sobre cómo refinar modelos fundacionales en un centro privado, consulte [Refinamiento de modelos de centros seleccionados](jumpstart-curated-hubs-fine-tune.md).

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

1. En primer lugar, busque el identificador del modelo que prefiera en la [Tabla de algoritmos integrados con modelos previamente entrenados](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html). 

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

   ```
   from sagemaker.jumpstart.estimator import JumpStartEstimator
   
   model_id = "huggingface-textgeneration1-gpt-j-6b"
   estimator = JumpStartEstimator(model_id=model_id)
   ```

1. Ejecute `estimator.fit()` en el modelo, apuntando a los datos de entrenamiento que desea usar para su refinamiento.

   ```
   estimator.fit(
       {"train": training_dataset_s3_path, "validation": validation_dataset_s3_path}
   )
   ```

1. A continuación, utilice el método `deploy` para implementar automáticamente el modelo para inferencia. En este ejemplo, utilizamos el modelo GPT-J 6B de Hugging Face.

   ```
   predictor = estimator.deploy()
   ```

1. A continuación, puede ejecutar inferencia con el modelo implementado utilizando 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 fundacional GPT-J 6B, que es adecuado para una amplia gama de casos de uso de generación de texto, como respuesta a preguntas, reconocimiento de entidades con nombre, síntesis, etc. Para obtener más información acerca de casos de uso de modelos, consulte [Modelos fundacionales disponibles](jumpstart-foundation-models-latest.md).

Si lo desea, puede especificar las versiones del modelo o tipos de instancia al crear su `JumpStartEstimator`. Para obtener más información sobre la `JumpStartEstimator ` clase y sus parámetros, consulte. [JumpStartEstimator](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.estimator.JumpStartEstimator)

## Comprobación de tipos de instancia predeterminados
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-instance-types"></a>

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

## Comprobación de hiperparámetros predeterminados
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-hyperparameters"></a>

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

```
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 hiperparámetros disponibles, consulte [Hiperparámetros de refinamiento compatibles comunes](jumpstart-foundation-models-fine-tuning.md#jumpstart-foundation-models-fine-tuning-hyperparameters).

## Comprobación de definiciones de métricas predeterminadas
<a name="jumpstart-foundation-models-use-python-sdk-estimator-class-metric-definitions"></a>

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

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

# Implementación de modelos fundacionales disponibles públicamente con la clase `JumpStartModel`
<a name="jumpstart-foundation-models-use-python-sdk-model-class"></a>

Con el SageMaker Python SDK, puede implementar un algoritmo integrado o un modelo previamente entrenado en un punto final de SageMaker IA con solo unas pocas líneas de código.

1. En primer lugar, busque el identificador del modelo que prefiera en la [Tabla de algoritmos integrados con modelos previamente entrenados](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html).

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

1. Utilice el método `deploy` para implementar automáticamente el modelo para inferencia. En este ejemplo, utilizamos el modelo FLAN-T5 XL de Hugging Face.

   ```
   predictor = my_model.deploy()
   ```

1. A continuación, puede ejecutar inferencia con el modelo implementado utilizando 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 fundacional FLAN-T5 XL, que es adecuado para una amplia gama de casos de uso de generación de texto, como respuesta a preguntas, síntesis, creación de chatbots, etc. Para obtener más información acerca de casos de uso de modelos, consulte [Modelos fundacionales disponibles](jumpstart-foundation-models-latest.md).

Para obtener más información sobre la `JumpStartModel ` clase y sus parámetros, consulte [JumpStartModel](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.jumpstart.model.JumpStartModel).

## Comprobación de tipos de instancia predeterminados
<a name="jumpstart-foundation-models-use-python-sdk-model-class-instance-types"></a>

Si lo desea, puede incluir versiones de modelos o tipos de instancias específicos al ajustar un modelo previamente entrenado con la clase `JumpStartModel`. Todos los JumpStart modelos tienen un tipo de instancia predeterminado. Recupere el tipo de instancia de implementación 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 con un JumpStart modelo determinado con el `instance_types.retrieve()` método.

## Uso de componentes de inferencia para implementar varios modelos en un punto de conexión compartido
<a name="jumpstart-foundation-models-use-python-sdk-model-class-endpoint-types"></a>

Un componente de inferencia es un objeto de alojamiento de SageMaker IA que se 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 modelos de SageMaker IA, consulte. [Utilización de recursos compartidos con varios modelos](realtime-endpoints-deploy-models.md#deployed-shared-utilization)

## Comprobación de formatos de inferencia de entrada y salida válidos
<a name="jumpstart-foundation-models-use-python-sdk-model-class-input-output"></a>

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

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

## Comprobación de contenido compatible y aceptación de tipos
<a name="jumpstart-foundation-models-use-python-sdk-model-class-content-types"></a>

Del mismo modo, puede utilizar el método `retrieve_options()` para comprobar contenido compatible y aceptar tipos para 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](https://sagemaker.readthedocs.io/en/stable/api/utility/index.html)

# Implementación de modelos fundacionales patentados con la clase `ModelPackage`
<a name="jumpstart-foundation-models-use-python-sdk-proprietary"></a>

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 la SageMaker IA AWS Marketplace, consulte [Compra y venta de algoritmos y modelos de Amazon SageMaker AI en AWS Marketplace](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-marketplace.html). Para encontrar AWS Marketplace enlaces a los modelos propietarios más recientes, consulta [Cómo empezar con Amazon SageMaker JumpStart](https://aws.amazon.com/sagemaker/jumpstart/getting-started/?sagemaker-jumpstart-cards.sort-by=item.additionalFields.priority&sagemaker-jumpstart-cards.sort-order=asc&awsf.sagemaker-jumpstart-filter-product-type=product-type%23foundation-model&awsf.sagemaker-jumpstart-filter-text=*all&awsf.sagemaker-jumpstart-filter-vision=*all&awsf.sagemaker-jumpstart-filter-tabular=*all&awsf.sagemaker-jumpstart-filter-audio-tasks=*all&awsf.sagemaker-jumpstart-filter-multimodal=*all&awsf.sagemaker-jumpstart-filter-RL=*all&sagemaker-jumpstart-cards.q=proprietary&sagemaker-jumpstart-cards.q_operator=AND).

Tras suscribirse al modelo de su elección AWS Marketplace, podrá implementar el modelo básico mediante el SageMaker Python SDK y el SDK asociado al proveedor del modelo. 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](jumpstart-foundation-models-use-studio.md). Para obtener más información sobre el SageMaker Python SDK, consulte [https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.model.ModelPackage](https://sagemaker.readthedocs.io/en/stable/api/inference/model.html#sagemaker.model.ModelPackage).