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
-
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
-
Inizializza una sessione. SageMaker
sm_client = boto3.client(
'sagemaker'
) session = Session(sagemaker_client=sm_client) session.get_caller_identity_arn() -
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"
-
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" } ] } -
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 -
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
-
È 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, consultarenotebook_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) -
È 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.
ValidationException
quando si chiama l'CreateModel
operazione: 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 Denied
o 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.