

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.

# Guía de administración para centros de modelos privados en Amazon SageMaker JumpStart
<a name="jumpstart-curated-hubs-admin-guide"></a>

Los administradores pueden realizar acciones en relación con los centros de modelos seleccionados a los que pueden acceder los usuarios de su organización. Estas acciones son: crear, añadir, eliminar y administrar el acceso a centros privados. Esta página también ofrece información sobre las regiones de AWS compatibles para centros privados seleccionados, así como los requisitos previos necesarios para utilizar centros de modelos privados seleccionados. 

## AWS Regiones compatibles
<a name="jumpstart-curated-hubs-admin-guide-regions"></a>

Actualmente, los centros privados seleccionados están disponibles de forma general en las siguientes regiones AWS comerciales:
+ us-east-1
+ us-east-2
+ us-west-2
+ eu-west-1
+ eu-central-1
+ ap-northeast-1
+ ap-northeast-2
+ ap-south-1
+ ap-southeast-1
+ ap-southeast-2
+ il-central-1 (solo SDK)

El número máximo predeterminado de centros que se permiten en una sola región es de 50.

## Requisitos previos
<a name="jumpstart-curated-hubs-admin-guide-prerequisites"></a>

Para utilizar un centro seleccionado en Studio debe cumplir los siguientes requisitos previos:
+ Una AWS cuenta con acceso de administrador
+ Un rol AWS Identity and Access Management (IAM) con acceso a Amazon Studio SageMaker 
+ Un dominio de Amazon SageMaker AI con JumpStart activado
+ Si sus usuarios intentan usar modelos propietarios, deben tener suscripciones a esos modelos en AWS Marketplace.
+ AWS las cuentas que implementan modelos propietarios deben tener suscripciones a esos modelos en AWS Marketplace.

Para obtener más información sobre cómo empezar a utilizar Studio, consulte [Amazon SageMaker Studio](studio-updated.md).

# Creación de un centro privado de modelos
<a name="jumpstart-curated-hubs-admin-guide-create"></a>

Siga los siguientes pasos para crear un centro privado que gestione el control de acceso de los modelos básicos previamente JumpStart entrenados para su organización. Debe instalar el SDK de SageMaker Python y configurar los permisos de IAM necesarios antes de crear un hub de modelos.

**Creación de un centro privado**

1. Instale el SDK de SageMaker Python e importe los paquetes de Python necesarios.

   ```
   # Install the SageMaker Python SDK
   !pip3 install sagemaker --force-reinstall --quiet
   
   # Import the necessary Python packages
   import boto3
   from sagemaker import Session
   from sagemaker.jumpstart.hub.hub import Hub
   ```

1. Inicialice una sesión de SageMaker IA.

   ```
   sm_client = boto3.client('sagemaker')
   session = Session(sagemaker_client=sm_client)
   session.get_caller_identity_arn()
   ```

1. Configure los detalles del centro privado, como el nombre del centro interno, el nombre para mostrar de la IU y la descripción del centro de la IU.
**nota**  
Si no especificas un nombre de bucket de Amazon S3 al crear tu hub, el servicio de SageMaker hub crea un nuevo bucket en tu nombre. El nuevo bucket tiene la siguiente estructura de nomenclatura: `sagemaker-hubs-REGION-ACCOUNT_ID`.

   ```
   HUB_NAME="Example-Hub"
   HUB_DISPLAY_NAME="Example Hub UI Name"
   HUB_DESCRIPTION="A description of the example private curated hub."
   REGION="us-west-2"
   ```

1. Compruebe que su rol de IAM **Administrador** tenga los permisos de Amazon S3 necesarios para crear un centro privado. Si su rol no tiene los permisos necesarios, vaya a la página **Roles** de la consola de IAM. Elija el rol **Administrador** y, a continuación, elija **Agregar permisos** en el panel **Política de permisos** para crear una política insertada con los siguientes permisos mediante el editor de JSON:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject",
                   "s3:GetObjectTagging"
               ],
               "Resource": [
                   "arn:aws:s3:::jumpstart-cache-prod-REGION",
                   "arn:aws:s3:::jumpstart-cache-prod-REGION/*"
               ],
               "Effect": "Allow"
           }
       ]
   }
   ```

------

1. Cree un centro privado de modelos con las configuraciones del **paso 3** utilizando`hub.create()`. 

   ```
   hub = Hub(hub_name=HUB_NAME, sagemaker_session=session)
   
   try:
   # Create the private hub
     hub.create(
         description=HUB_DESCRIPTION,
         display_name=HUB_DISPLAY_NAME
     )
     print(f"Successfully created Hub with name {HUB_NAME} in {REGION}")
   # Check that no other hubs with this internal name exist
   except Exception as e:
     if "ResourceInUse" in str(e):
       print(f"A hub with the name {HUB_NAME} already exists in your account.")
     else:
       raise e
   ```

1. Verifique la configuración del nuevo centro privado con el siguiente comando `describe`:

   ```
   hub.describe()
   ```

# Adición de modelos a un centro privado
<a name="jumpstart-curated-hubs-admin-guide-add-models"></a>

Después de crear un centro privado, puede añadir modelos incluidos en la lista de permitidos. Para ver la lista completa de JumpStart modelos disponibles, consulta la [tabla de algoritmos integrados con modelos previamente entrenados](https://sagemaker.readthedocs.io/en/stable/doc_utils/pretrainedmodels.html) en la referencia del SDK de SageMaker Python.

1. Puede filtrar los modelos disponibles mediante programación utilizando el método `hub.list_sagemaker_public_hub_models()`. Si lo desea, puede filtrar por categorías, como framework (`"framework == pytorch"`), tareas como la clasificación de imágenes (`"task == ic"`), etc. Para obtener más información acerca de los filtros, consulte [https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/jumpstart/notebook_utils.py](https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/jumpstart/notebook_utils.py). El parámetro de filtro del método `hub.list_sagemaker_public_hub_models()` es opcional. 

   ```
   filter_value = "framework == meta"
   response = hub.list_sagemaker_public_hub_models(filter=filter_value)
   models = response["hub_content_summaries"]
   while response["next_token"]:
       response = hub.list_sagemaker_public_hub_models(filter=filter_value, next_token=response["next_token"])
       models.extend(response["hub_content_summaries"])
   
   print(models)
   ```

1. A continuación, puede añadir los modelos filtrados especificando el ARN del modelo en el método `hub.create_model_reference()`.

   ```
   for model in models:
       print(f"Adding {model.get('hub_content_name')} to Hub")
       hub.create_model_reference(model_arn=model.get("hub_content_arn"), model_name=model.get("hub_content_name"))
   ```

# Actualización de recursos en un centro privado
<a name="jumpstart-curated-hubs-update"></a>

Puede actualizar los recursos de su centro privado para realizar cambios en sus metadatos. Los recursos que puede actualizar incluyen referencias de modelos a modelos de Amazon, SageMaker JumpStart modelos personalizados, cuadernos, conjuntos de datos y. JsonDoc

Al actualizar el modelo, la libreta, los conjuntos de datos o JsonDoc los recursos, puedes actualizar la descripción del contenido, el nombre para mostrar, las palabras clave y el estado del soporte. Al actualizar las referencias de JumpStart modelos a los modelos, solo puedes actualizar el campo que especifica la versión mínima del modelo que te gustaría usar.
+ «Actualizar los recursos del modelo o del portátil» para incluir DataSet/JsonDoc. En el comando CLI, DataSets/JsonDocs debe agregarse al hub-content-type argumento.

Siga la sección específica del recurso que desea actualizar.

## Actualización de los recursos de modelos o cuadernos
<a name="jumpstart-curated-hubs-update-model-notebook"></a>

Para actualizar un modelo o un recurso de bloc de notas, usa la [UpdateHubContent](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateHubContent.html)API.

Con esta API, puede actualizar los siguientes campos de metadatos válidos:
+ `HubContentDescription`: la descripción del recurso.
+ `HubContentDisplayName`: el nombre para mostrar del recurso.
+ `HubContentMarkdown`: la descripción del recurso, en formato Markdown.
+ `HubContentSearchKeywords`: las palabras clave del recurso que permiten realizar búsquedas.
+ `SupportStatus`: el estado actual del recurso.

En su solicitud, incluya un cambio en uno o varios de los campos anteriores. Si intenta actualizar cualquier otro campo, como el tipo de contenido del centro, recibirá un error.

------
#### [ AWS SDK para Python (Boto3) ]

En el siguiente ejemplo, se muestra cómo se puede utilizar AWS SDK para Python (Boto3) para enviar una [ UpdateHubContent](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateHubContent.html)solicitud.

**nota**  
La `HubContentVersion` que especifique en la solicitud significa que los metadatos de la versión específica están actualizados. Para encontrar todas las versiones disponibles del contenido de tu hub, puedes usar la [ ListHubContentVersions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListHubContentVersions.html)API.

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

sagemaker_client.update_hub_contents(
    HubName=<hub-name>,
    HubContentName=<resource-content-name>,
    HubContentType=<"Model"|"Notebook">,
    HubContentVersion='1.0.0', # specify the correct version that you want to update
    HubContentDescription=<updated-description-string>
)
```

------
#### [ AWS CLI ]

En el siguiente ejemplo, se muestra cómo puedes AWS CLI utilizarla para enviar una [ update-hub-content](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-hub-content.html)solicitud.

```
aws sagemaker update-hub-content \
--hub-name <hub-name> \
--hub-content-name <resource-content-name> \
--hub-content-type <"Model"|"Notebook"> \
--hub-content-version "1.0.0" \
--hub-content-description <updated-description-string>
```

------

## Actualización de referencias del modelo
<a name="jumpstart-curated-hubs-update-model-reference"></a>

Para actualizar una referencia de modelo a un JumpStart modelo, usa la [ UpdateHubContentReference](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateHubContentReference.html)API.

Solo puede actualizar el campo `MinVersion` para las referencias del modelo.

------
#### [ AWS SDK para Python (Boto3) ]

En el siguiente ejemplo, se muestra cómo se puede utilizar AWS SDK para Python (Boto3) para enviar una [ UpdateHubContentReference](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateHubContentReference.html)solicitud.

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

update_response = sagemaker_client.update_hub_content_reference(
    HubName=<hub-name>,
    HubContentName=<model-reference-content-name>,
    HubContentType='ModelReference',
    MinVersion='1.0.0'
)
```

------
#### [ AWS CLI ]

El siguiente ejemplo muestra cómo se puede utilizar AWS CLI para enviar una [ update-hub-content-reference](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-hub-content-reference.html)solicitud.

```
aws sagemaker update-hub-content-reference \
 --hub-name <hub-name> \
 --hub-content-name <model-reference-content-name> \
 --hub-content-type "ModelReference" \
 --min-version "1.0.0"
```

------

# Uso compartido entre cuentas para centros de modelos privados con AWS Resource Access Manager
<a name="jumpstart-curated-hubs-ram"></a>

Tras crear un hub de modelos privado, puedes compartir el hub con las cuentas necesarias mediante AWS Resource Access Manager (AWS RAM). 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). En la siguiente página se ofrece información detallada sobre los permisos administrados relacionados con centros privados en AWS RAM. Para obtener información sobre cómo crear un recurso compartido en él AWS RAM, consulte[Configuración del uso compartido de centros entre cuentas](jumpstart-curated-hubs-ram-setup.md).

## Permisos administrados para centros privados seleccionados
<a name="jumpstart-curated-hubs-ram-permissions"></a>

Los permisos de acceso disponibles son lectura, lectura y uso y acceso total. El nombre del permiso, la descripción y la lista de APIs datos específicos disponibles para cada permiso se muestran a continuación:
+ Permiso de lectura (`AWS RAMPermissionSageMaker AIHubRead`): el privilegio de lectura permite a las cuentas consumidoras de recursos leer el contenido de los centros compartidos y ver los detalles y los metadatos. 
  + `DescribeHub`: recupera detalles sobre un centro y su configuración.
  + `DescribeHubContent`: recupera detalles sobre un modelo disponible en un centro específico.
  + `ListHubContent`: muestra todos los modelos disponibles en un centro.
  + `ListHubContentVersions`: muestra la versión de todos los modelos disponibles en un centro.
+ Permiso de lectura y uso (`AWS RAMPermissionSageMaker AIHubReadAndUse`): el privilegio de lectura y uso permite a las cuentas consumidoras de recursos leer el contenido de los centros compartidos e implementar los modelos disponibles para inferencia. 
  + `DescribeHub`: recupera detalles sobre un centro y su configuración.
  + `DescribeHubContent`: recupera detalles sobre un modelo disponible en un centro específico.
  + `ListHubContent`: muestra todos los modelos disponibles en un centro.
  + `ListHubContentVersions`: muestra la versión de todos los modelos disponibles en un centro.
  + `DeployHubModel`: permite acceder para implementar los modelos del centro de peso abierto disponibles para inferencia
+ Permiso de acceso completo (`AWS RAMPermissionSageMaker AIHubFullAccessPolicy`): el privilegio de acceso completo permite a las cuentas consumidoras de recursos leer el contenido de los centros compartidos, añadir y eliminar contenido de los centros e implementar los modelos disponibles para inferencia. 
  + `DescribeHub`: recupera detalles sobre un centro y su configuración.
  + `DescribeHubContent`: recupera detalles sobre un modelo disponible en un centro específico.
  + `ListHubContent`: muestra todos los modelos disponibles en un centro.
  + `ListHubContentVersions`: muestra la versión de todos los modelos disponibles en un centro.
  + `ImportHubContent`: importa contenido del centro. 
  + `DeleteHubContent`: elimina contenido del centro.
  + `CreateHubContentReference`: Crea una referencia de contenido central que comparte un modelo desde el centro de **modelos públicos** de SageMaker IA con un centro privado 
  + `DeleteHubContentReference`: Elimine una referencia de contenido del hub que comparta un modelo del hub de **modelos públicos** de SageMaker IA a un hub privado 
  + `DeployHubModel`: permite acceder para implementar los modelos del centro de peso abierto disponibles para inferencia

No se requieren permisos `DeployHubModel` para los modelos patentados.

# Configuración del uso compartido de centros entre cuentas
<a name="jumpstart-curated-hubs-ram-setup"></a>

SageMaker usa [AWS Resource Access Manager (AWS RAM)](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html) para ayudarte a compartir de forma segura tus centros privados entre cuentas. Configura el uso compartido de centros entre cuentas siguiendo las siguientes instrucciones, junto con las instrucciones [para compartir tus AWS recursos](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-create) de la Guía del *AWS RAM usuario*.

**Creación de un recurso compartido**

1. Seleccione **Crear un recurso compartido** a través de la [consola de AWS RAM](https://console.aws.amazon.com/ram/home).

1. **Al especificar los detalles del recurso compartido, elige el SageMaker tipo de recurso de los Hubs y selecciona otro hub privado que quieras compartir.** Al compartir un centro con cualquier otra cuenta, también se comparte todo su contenido de forma implícita. 

1. Asocie permisos a recursos compartidos. Para obtener más información sobre permisos administrados, consulte [Permisos administrados para centros privados seleccionados](jumpstart-curated-hubs-ram.md#jumpstart-curated-hubs-ram-permissions).

1. Use la AWS cuenta IDs para especificar las cuentas a las que desea conceder acceso a sus recursos compartidos.

1. Revise la configuración del recurso compartido y seleccione **Crear recurso compartido**. La asociación del recurso y la entidad principal puede tardar unos minutos en completarse.

Para obtener más información, consulte [Compartir sus AWS recursos](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html) en la *Guía del AWS Resource Access Manager usuario*.

Una vez establecidas las asociaciones de recursos compartidos y entidades principales, las cuentas de AWS especificadas reciben una invitación para unirse al recurso compartido. Las AWS cuentas deben aceptar la invitación para acceder a cualquier recurso compartido.

Para obtener más información sobre cómo aceptar una invitación para compartir recursos AWS RAM, consulte [Uso de AWS recursos compartidos](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-shared.html) en la *Guía del AWS Resource Access Manager usuario*.

# Eliminación de modelos de un centro privado
<a name="jumpstart-curated-hubs-admin-guide-delete-models"></a>

Puede eliminar modelos de un centro privado utilizado por su organización especificando el ARN del modelo en el método `hub.delete_model_reference()`. De este modo se elimina el acceso al modelo desde el centro privado.

```
hub.delete_model_reference(model-name)
```

# Restrinja el acceso a modelos JumpStart cerrados
<a name="jumpstart-curated-hubs-gated-model-access"></a>

Amazon SageMaker JumpStart proporciona acceso a modelos de base propietarios y disponibles públicamente. Hay determinados modelos cerrados en buckets privados de Amazon S3 que requieren que haya aceptado el EULA (acuerdo de licencia de usuario final) del modelo para poder acceder a ellos. 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).

El comportamiento predeterminado actual es que, si un usuario acepta el EULA de un modelo, puede acceder al modelo y crear [trabajos de entrenamiento de refinamiento](jumpstart-foundation-models-use-python-sdk-estimator-class.md). Sin embargo, si es administrador y desea restringir el acceso de refinamiento a estos modelos cerrados, puede establecer una política que deniegue los permisos para utilizar la acción `CreateTrainingJob` siempre que la solicitud se dirija a un modelo cerrado.

El siguiente es un ejemplo de política AWS Identity and Access Management (IAM) que un administrador puede añadir a la función de IAM de un usuario:

```
{
    "Effect": "Deny",
    "Action": "sagemaker:CreateTrainingJob",
    "Resource": "*",
    "Condition": {
        "Bool": {
            "sagemaker:DirectGatedModelAccess": "true"
        }
    }
}
```

Si quiere conceder a los usuarios acceso a modelos específicos sin proporcionar acceso ilimitado a los modelos cerrados, configure un centro seleccionado y añada los modelos específicos al centro. Para obtener más información, consulte [Centros privados seleccionados para el control de acceso modelo básico en JumpStart](jumpstart-curated-hubs.md).

# Elimine el acceso al centro de modelos SageMaker **públicos**
<a name="jumpstart-curated-hubs-admin-guide-remove-public-hub"></a>

Además de añadir un centro privado seleccionado JumpStart en Studio, también puedes eliminar el acceso de tus usuarios al centro de **modelos SageMaker públicos**. El centro de **modelos SageMaker públicos** ofrece acceso a todos los modelos JumpStart básicos disponibles. 

Si eliminas el acceso al centro de **modelos SageMaker públicos** y un usuario solo tiene acceso a un centro privado, el usuario accederá directamente a ese centro privado cuando lo desee **JumpStart**en el panel de navegación izquierdo de Studio. Si un usuario tiene acceso a varios centros privados, accederá a la página de menú de los **centros** que elija **JumpStart**en el panel de navegación izquierdo de Studio.

Elimine el acceso al centro de **modelos SageMaker públicos** para sus usuarios con la siguiente política integrada: 

**nota**  
Puede especificar los buckets de Amazon S3 adicionales a los que desee que acceda el centro en la siguiente política. Asegúrese de sustituir *`REGION`* por la región del centro.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "s3:*",
            "Effect": "Deny",
            "NotResource": [
                "arn:aws:s3:::jumpstart-cache-prod-us-east-1/*.ipynb",
                "arn:aws:s3:::jumpstart-cache-prod-us-east-1/*eula*",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Action": "sagemaker:*",
            "Effect": "Deny",
            "Resource": [
                "arn:aws:sagemaker:us-east-1:aws:hub/SageMakerPublicHub",
                "arn:aws:sagemaker:us-east-1:aws:hub-content/SageMakerPublicHub/*/*"
            ]
        }
    ]
}
```

------

# Eliminación de un centro privado
<a name="jumpstart-curated-hubs-admin-guide-delete"></a>

Puede eliminar un centro privado de su cuenta de administrador. Antes de eliminar un centro privado, primero debe eliminar el contenido de ese centro. Elimine el contenido del centro y los centros con los siguientes comandos: 

```
# List the model references in the private hub
response = hub.list_models()
models = response["hub_content_summaries"]
while response["next_token"]:
    response = hub.list_models(next_token=response["next_token"])
    models.extend(response["hub_content_summaries"])

# Delete all model references in the hub
for model in models:
    hub.delete_model_reference(model_name=model.get('HubContentName'))

# Delete the private hub
hub.delete()
```

# Resolución de problemas
<a name="jumpstart-curated-hubs-admin-guide-troubleshooting"></a>

En las siguientes secciones se proporciona información sobre los problemas de permisos de IAM que pueden surgir al crear un centro privado de modelos, así como sobre la forma de resolverlos.

**`ValidationException` al llamar a la operación `CreateModel`: no se ha podido acceder a los datos del modelo**

Esta excepción se produce cuando no tiene configurados los permisos de Amazon S3 adecuados para su rol de **Administrador**. Para obtener más información sobre los permisos de Amazon S3 necesarios para crear un centro privado, consulte el **paso 3** de [Creación de un centro privado de modelos](jumpstart-curated-hubs-admin-guide-create.md).

**`Access Denied` o `Forbidden` al llamar a `create()`**

Se le deniega el acceso al crear un hub privado si no tiene los permisos adecuados para acceder al bucket de Amazon S3 asociado al hub de **modelos SageMaker públicos**. Para obtener más información sobre los permisos de Amazon S3 necesarios para crear un centro privado, consulte el **paso 3** de [Creación de un centro privado de modelos](jumpstart-curated-hubs-admin-guide-create.md).