Crea hub di modelli privati in Amazon SageMaker JumpStart - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea hub di modelli privati in Amazon SageMaker JumpStart

Crea uno o più hub di modelli privati e curati a cui gli utenti dell'organizzazione possono accedere.

I passaggi seguenti illustrano come creare un hub privato utilizzando SageMaker Python SDK.

Prerequisiti

Per creare un hub privato in Studio, è necessario disporre dei seguenti prerequisiti:

  • Un AWS account con accesso da amministratore

  • Un ruolo AWS Identity and Access Management (IAM) con accesso ad Amazon SageMaker Studio

  • Un SageMaker dominio Amazon JumpStart abilitato

Per ulteriori informazioni su come iniziare a usare Studio, consultaAmazon SageMaker Studio.

Crea un hub di modelli privato

Utilizza i seguenti passaggi per creare un hub privato. È necessario installare SageMaker Python SDK e configurare le autorizzazioni IAM necessarie prima di creare un hub modello.

Crea un hub privato
  1. Installa SageMaker Python SDK e importa i pacchetti Python necessari.

    # 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
  2. Inizializza una sessione. SageMaker

    sm_client = boto3.client('sagemaker') session = Session(sagemaker_client=sm_client) session.get_caller_identity_arn()
  3. Configura i dettagli del tuo hub privato come il nome dell'hub interno, il nome visualizzato dell'interfaccia utente e la descrizione dell'hub dell'interfaccia utente.

    Nota

    Se non specifichi un nome di bucket Amazon S3 durante la creazione dell'hub, il servizio SageMaker hub crea un nuovo bucket per tuo conto. Il nuovo bucket ha la seguente struttura di denominazione:. 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"
  4. Verifica che il tuo ruolo di amministratore IAM disponga delle autorizzazioni Amazon S3 necessarie per creare un hub privato. Se il tuo ruolo non dispone delle autorizzazioni necessarie, vai alla pagina Ruoli nella console IAM. Scegli il ruolo di amministratore, quindi scegli Aggiungi autorizzazioni nel riquadro Politiche di autorizzazione per creare una policy in linea con le seguenti autorizzazioni utilizzando l'editor 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" } ] }
  5. Crea un hub modello privato utilizzando le configurazioni della Fase 3 utilizzando. 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
  6. Verifica la configurazione del tuo nuovo hub privato con il seguente describe comando:

    hub.describe()

Aggiungi modelli a un hub privato

Dopo aver creato un hub privato, puoi aggiungere modelli consentiti. Per l'elenco completo dei JumpStart modelli disponibili, consulta la tabella degli algoritmi integrati con modelli preaddestrati nel riferimento SageMaker Python SDK.

  1. È possibile filtrare i modelli disponibili a livello di codice utilizzando il metodo. hub.list_sagemaker_public_hub_models() Facoltativamente, puoi filtrare per categorie come framework ("framework == pytorch"), attività come la classificazione delle immagini ("task == ic") e altro. Per ulteriori informazioni sui filtri, consultare notebook_utils.py. Il parametro di filtro nel hub.list_sagemaker_public_hub_models() metodo è facoltativo.

    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)
  2. È quindi possibile aggiungere i modelli filtrati specificando l'ARN del modello nel metodo. 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"))

Eliminare i modelli da un hub privato

È possibile eliminare i modelli da un hub privato specificando l'ARN del modello nel hub.delete_model_reference() metodo.

hub.delete_model_reference(model-name)

Rimuovi l'accesso all'hub SageMaker Public models

Oltre ad aggiungere un hub privato curato JumpStart in Studio, puoi anche rimuovere l'accesso all'hub SageMaker Public models per i tuoi utenti. L'hub SageMaker Public models ha accesso a tutti i modelli di JumpStart base disponibili.

Se rimuovi l'accesso all'hub SageMaker Public models e un utente ha accesso a un solo hub privato, l'utente viene indirizzato direttamente all'hub privato quando sceglie JumpStartnel riquadro di navigazione a sinistra di Studio. Se un utente ha accesso a più hub privati, viene indirizzato a una pagina del menu Hub quando sceglie JumpStartnel riquadro di navigazione a sinistra di Studio.

Rimuovi l'accesso all'hub SageMaker Public models per i tuoi utenti con la seguente politica in linea:

{ "Version": "2012-10-17", "Statement": [ { "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::jumpstart-cache-prod-REGION", "arn:aws:s3:::jumpstart-cache-prod-REGION/*" ], "Condition": { "StringNotLike": {"s3:prefix": ["*.ipynb", "*/eula.txt"]} } }, { "Action": "sagemaker:*", "Effect": "Deny", "Resource": [ "arn:aws:sagemaker:REGION:aws:hub/SageMakerPublicHub", "arn:aws:sagemaker:REGION:aws:hub-content/SageMakerPublicHub/*/*" ] } ] }

Eliminare un hub privato

Puoi eliminare un hub privato dal tuo account amministratore. Prima di eliminare un hub privato, è necessario rimuovere tutti i contenuti in quell'hub. Eliminare i contenuti e gli hub dell'hub con i seguenti comandi:

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

Risoluzione dei problemi

Risolvi i problemi di autorizzazione IAM che potrebbero sorgere durante la creazione di un hub modello privato.

ValidationExceptionquando si chiama l'CreateModeloperazione: impossibile accedere ai dati del modello

Questa eccezione si verifica quando non disponi delle autorizzazioni Amazon S3 appropriate configurate per il tuo ruolo di amministratore. Per ulteriori informazioni sulle autorizzazioni di Amazon S3 necessarie per creare un hub privato, consulta la Fase 3 del

Access Deniedo quando Forbidden si chiama create()

Ti viene negato l'accesso quando crei un hub privato se non disponi delle autorizzazioni appropriate per accedere al bucket Amazon S3 associato SageMaker all'hub Public models. Per ulteriori informazioni sulle autorizzazioni di Amazon S3 necessarie per creare un hub privato, consulta la Fase 3 del

Regioni supportate AWS

Gli hub privati curati sono attualmente generalmente disponibili nelle seguenti regioni AWS commerciali:

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

Il numero massimo predefinito di hub consentiti in una singola regione è 50.