Questa guida descrive come configurare Vertex AI per utilizzare un servizio personalizzato nei seguenti scenari:
Quando esegui l'addestramento personalizzato, puoi configurare Vertex AI per utilizzare un account di servizio personalizzato del container di addestramento, che si tratti di container predefinito o un container personalizzato container.
Quando esegui il deployment di una risorsa
Model
con addestramento personalizzato in unEndpoint
per fornire previsioni online, puoi configurare Vertex AI per utilizzare un account di servizio personalizzato container che fornisce previsioni, che si tratti di container predefinito o un container personalizzato containerizzato.Quando crei un Ray su Vertex AI cluster, puoi impostare un account di servizio personalizzato a tutti i nodi del cluster.
Quando utilizzare un account di servizio personalizzato
Quando viene eseguito, Vertex AI agisce in genere con le autorizzazioni di un di diversi account di servizio creati da Google e gestisce per il tuo progetto Google Cloud. A concedere a Vertex AI un maggiore accesso ad altri servizi Google Cloud in determinati contesti, puoi aggiungere ruoli specifici Servizio Vertex AI agenti.
Tuttavia, la personalizzazione delle autorizzazioni degli agenti di servizio potrebbe non fornire il il controllo dell'accesso più granulare che desideri. Alcuni casi d'uso comuni includono:
- Concedere meno autorizzazioni per job e modelli Vertex AI. L'agente di servizio Vertex AI predefinito ha accesso a BigQuery e Cloud Storage.
- Consentire a diversi job di accedere a risorse diverse. Potresti voler consentire a molti utenti di avviare job in un singolo progetto, ma concedere a ogni dei job dell'utente solo a una determinata tabella BigQuery o nel bucket Cloud Storage.
Ad esempio, potresti voler personalizzare ogni addestramento personalizzato che esegui per avere accesso a vari alle risorse Google Cloud al di fuori del tuo progetto.
Inoltre, la personalizzazione delle autorizzazioni degli agenti di servizio non cambia
autorizzazioni disponibili per un container che fornisce previsioni
con addestramento personalizzato Model
.
Per personalizzare l'accesso ogni volta che esegui l'addestramento personalizzato o per personalizzare
autorizzazioni del container di previsione di un Model
con addestramento personalizzato, devi usare
un account di servizio personalizzato.
Accesso predefinito
Questa sezione descrive l'accesso predefinito disponibile per l'addestramento personalizzato
e i container di previsione delle risorse Model
con addestramento personalizzato.
Quando utilizzi un account di servizio personalizzato, esegui l'override di questo accesso per un account
CustomJob
, HyperparameterTuningJob
, TrainingPipeline
o DeployedModel
risorsa.
Container di addestramento
Quando crei un CustomJob
, un HyperparameterTuningJob
o un
TrainingPipeline
, la formazione
del container viene eseguito
Agente di servizio codice personalizzato Vertex AI del progetto Google Cloud per impostazione predefinita.
Scopri di più sulle Agente di servizio del codice personalizzato Vertex AI, che include istruzioni su come e gli concediamo l'accesso ad altre risorse Google Cloud.
Container di previsione
Quando esegui il deployment di un Model
con addestramento personalizzato in un Endpoint
, la previsione
il container viene eseguito utilizzando un account di servizio gestito da Vertex AI. Questo
è diverso dal servizio Vertex AI
agenti.
L'account di servizio utilizzato per impostazione predefinita dal container di previsione dispone dell'autorizzazione
per leggere gli artefatti del modello
reso disponibile da Vertex AI in un URI archiviato
Ambiente AIP_STORAGE_URI
variabile. Non fare affidamento
per l'account di servizio
in modo da avere altre autorizzazioni. Non puoi personalizzare
autorizzazioni dell'account di servizio.
Configura un account di servizio personalizzato
Le sezioni seguenti descrivono come configurare un account di servizio personalizzato da utilizzare
con Vertex AI e su come configurare un CustomJob
,
HyperparameterTuningJob
, TrainingPipeline
o DeployedModel
per utilizzare
l'account di servizio. Tieni presente che non puoi configurare un account di servizio personalizzato per il pull
di Artifact Registry. Vertex AI utilizza l'account di servizio predefinito
eseguire il pull delle immagini.
Configura un account di servizio personalizzato
Per configurare un account di servizio personalizzato:
Creare un servizio gestito dall'utente . La può trovarsi nello stesso progetto del tuo account di servizio di Vertex AI o in un progetto diverso.
Concedi IAM al nuovo account di servizio ruoli che forniscono accesso i servizi e le risorse Google Cloud che vuoi Vertex AI per l'addestramento personalizzato la previsione.
Facoltativo: se l'account di servizio gestito dall'utente si trova in un progetto diverso dei job di addestramento, configurare l'account di servizio gestito dall'utente in modo da poterlo collegare ai tuoi job di addestramento.
Facoltativo: se prevedi di utilizzare anche l'account di servizio gestito dall'utente per previsioni, devi concedere il ruolo Amministratore account di servizio (
roles/iam.serviceAccountAdmin
) all'agente di servizio Vertex AI del progetto in cui stai utilizzando Vertex AI:gcloud iam service-accounts add-iam-policy-binding \ --role=roles/iam.serviceAccountAdmin \ --member=serviceAccount:AI_PLATFORM_SERVICE_AGENT \ CUSTOM_SERVICE_ACCOUNT
Sostituisci quanto segue:
AI_PLATFORM_SERVICE_AGENT: l'indirizzo email del Agente di servizio Vertex AI, che ha il seguente formato:
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Per trovare l'agente di servizio Vertex AI, vai alla pagina IAM nella console Google Cloud.
CUSTOM_SERVICE_ACCOUNT: l'indirizzo email del nuovo e un account di servizio gestito dall'utente che hai creato nel primo passaggio di questa sezione.
Specifica un account di servizio personalizzato per le risorse Vertex AI
Il processo di configurazione di Vertex AI per l'utilizzo di un servizio specifico per una risorsa è chiamato collegamento dell'account di servizio delle risorse. La le seguenti sezioni descrivono come collegare l'account di servizio che hai creato nella sezione precedente a diverse risorse Vertex AI.
Collega un account di servizio a una risorsa di addestramento personalizzato
Per configurare Vertex AI in modo che utilizzi il nuovo account di servizio
durante l'addestramento personalizzato, specifica l'indirizzo email dell'account di servizio nel
Campo serviceAccount
di un messaggio CustomJobSpec
quando avvii l'addestramento personalizzato. In base al tipo di addestramento personalizzato
risorsa che stai creando, il posizionamento
di questo campo nella tua richiesta API è diverso:
Se stai creando un
CustomJob
, specifica l'indirizzo email dell'account di servizio indirizzo inCustomJob.jobSpec.serviceAccount
.Scopri di più sulla creazione di un
CustomJob
.Se crei un
HyperparameterTuningJob
, specifica il servizio l'indirizzo email dell'accountHyperparameterTuningJob.trialJobSpec.serviceAccount
.Scopri di più sulla creazione di un
HyperparameterTuningJob
.Se stai creando un
TrainingPipeline
personalizzato senza iperparametro dell'ottimizzazione, specifica l'indirizzo email dell'account di servizioTrainingPipeline.trainingTaskInputs.serviceAccount
.Se stai creando un
TrainingPipeline
personalizzato con iperparametro dell'ottimizzazione, specifica l'indirizzo email dell'account di servizioTrainingPipeline.trainingTaskInputs.trialJobSpec.serviceAccount
.
Collega un account di servizio a un container che fornisce previsioni online
Per configurare il container di previsione di un Model
con addestramento personalizzato in modo che utilizzi il tuo nuovo
account di servizio, specifica l'indirizzo email dell'account di servizio quando
esegui il deployment di Model
in un Endpoint
:
Console
Segui Deployment di un modello utilizzando console Google Cloud. Se specifichi le impostazioni del modello, seleziona l'account di servizio nella sezione Servizio Google Cloud.
gcloud
Segui Deployment di un modello utilizzando
l'API Vertex AI. Quando esegui il comando gcloud
ai endpoints deploy-model
, usa il flag --service-account
per
specifica l'indirizzo email del tuo account di servizio.
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
- ENDPOINT_ID: l'ID dell'endpoint.
- LOCATION_ID: la regione in cui stai utilizzando Vertex AI.
- MODEL_ID: l'ID del modello di cui eseguire il deployment.
-
DEPLOYED_MODEL_NAME: un nome per
DeployedModel
. Puoi utilizzare il nome visualizzatoModel
anche perDeployedModel
. -
MACHINE_TYPE: facoltativo. Le risorse macchina utilizzate per ogni nodo
e deployment continuo. L'impostazione predefinita è
n1-standard-2
. Scopri di più sui tipi di macchina. - MIN_REPLICA_COUNT: numero minimo di nodi per questo deployment. Il conteggio dei nodi può essere aumentato o diminuito in base al carico della previsione. fino al numero massimo di nodi e mai meno di questo numero.
- MAX_REPLICA_COUNT: il numero massimo di nodi per questo deployment. Il conteggio dei nodi può essere aumentato o diminuito in base al carico della previsione. fino a questo numero di nodi e mai meno del numero minimo di nodi.
- CUSTOM_SERVICE_ACCOUNT: l'indirizzo email dell'account di servizio
. Ad esempio:
SA_NAME@PROJECT_ID.iam.gserviceaccount.com
.
Esegui la gcloud ai endpoint deploy-model :
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID \ --region=LOCATION \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --machine-type=MACHINE_TYPE \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100 \ --service-account=CUSTOM_SERVICE_ACCOUNT
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID ` --region=LOCATION ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --machine-type=MACHINE_TYPE ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100 ` --service-account=CUSTOM_SERVICE_ACCOUNT
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID ^ --region=LOCATION ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --machine-type=MACHINE_TYPE ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100 ^ --service-account=CUSTOM_SERVICE_ACCOUNT
API
Segui Deployment di un modello utilizzando
l'API Vertex AI. Quando invii
projects.locations.endpoints.deployModel
richiesta, imposta
deployedModel.serviceAccount
all'indirizzo email dell'account di servizio.
Accedi ai servizi Google Cloud nel tuo codice
Se configuri Vertex AI per utilizzare un account di servizio personalizzato seguendo le istruzioni nelle sezioni precedenti, il container di addestramento o il tuo container di previsione possa accedere a qualsiasi servizio le risorse a cui ha accesso l'account di servizio.
Per accedere ai servizi Google Cloud, scrivi il tuo formato o la pubblicazione di previsioni per utilizzare l'impostazione predefinita dell'applicazione di credenziali (ADC) e dati espliciti specifica l'ID o il numero di progetto della risorsa a cui vuoi accedere. Scopri di più su come scrivere il codice per accedere ad altri servizi Google Cloud Google Cloud.
Passaggi successivi
- Scopri di più sul controllo dell'accesso per Vertex AI.
- Scopri di più sulle autorizzazioni IAM specifiche e sulle le operazioni che supportano.