Esegui i file di blocco note con l'esecutore

Questa pagina descrive come utilizzare l'esecutore in un'istanza di blocchi note gestiti di Vertex AI Workbench per eseguire i file di blocco note come esecuzione una tantum e in base a una pianificazione.

Panoramica

L'esecutore consente di inviare un file blocco note (ipynb) da eseguire per l'addestramento personalizzato di Vertex AI. Puoi impostare i valori parametro per ogni esecuzione di un file blocco note. Puoi anche eseguire un file di blocco note in base a una pianificazione ricorrente. Al termine dell'esecuzione, puoi visualizzare i risultati e condividerli con altri.

Quando un file di blocco note viene inviato all'addestramento personalizzato di Vertex AI, Vertex AI crea un nuovo job di addestramento personalizzato che esegue il file del blocco note dopo il ciclo di vita di un job di addestramento.

Requisiti per il codice del blocco note eseguito dall'esecutore

Quando scrivi il codice del blocco note da eseguire nell'esecutore, tieni presente che il codice verrà eseguito in un progetto tenant separato dal progetto dell'istanza di blocchi note gestiti. Questa sezione descrive in che modo questo influisce sul codice quando viene eseguito nell'esecutore.

Assicurati che siano disponibili installazioni di pacchetti per l'esecutore

Se il tuo blocco note dipende da installazioni di pacchetti che non sono già incluse nel kernel dei blocchi note gestiti in uso, assicurati che i pacchetti siano disponibili per il codice del blocco note nell'esecutore in uno dei seguenti modi:

  • Utilizza un container personalizzato in cui è già installato il pacchetto, quindi esegui il blocco note in quel container personalizzato. Consulta i requisiti per l'utilizzo di un container personalizzato con l'esecutore.

  • Installa il pacchetto all'interno del codice del file del blocco note. Il pacchetto viene installato ogni volta che viene eseguito il file del blocco note, ma in questo modo il pacchetto è disponibile nel container selezionato durante l'esecuzione del blocco note.

Usa la selezione esplicita del progetto

Quando accedi alle risorse tramite codice eseguito dall'esecutore, quest'ultimo potrebbe non connettersi al progetto Google Cloud corretto. Se si verificano errori di autorizzazione, il problema potrebbe essere la connessione al progetto sbagliato.

Questo problema si verifica perché l'esecutore non esegue il codice direttamente nel progetto Google Cloud dell'istanza di blocchi note gestiti. Al contrario, l'esecutore esegue il codice nell'addestramento personalizzato di Vertex AI all'interno di un progetto tenant gestito da Google. Non provare quindi a dedurre un ID progetto dall'ambiente nel codice del blocco note; specifica gli ID progetto in modo esplicito.

Se non vuoi impostare come hardcoded un ID progetto nel tuo codice, puoi fare riferimento alla variabile di ambiente CLOUD_ML_PROJECT_ID. Vertex AI imposta questa variabile di ambiente in ogni container di addestramento personalizzato per contenere il numero di progetto del progetto in cui hai avviato l'addestramento personalizzato. Molti strumenti Google Cloud possono accettare un numero di progetto ovunque prendano un ID progetto.

Ad esempio, se vuoi utilizzare il client Python per Google BigQuery per accedere a una tabella BigQuery nello stesso progetto, non dedurre il progetto nel codice del blocco note:

Selezione implicita del progetto

from google.cloud import bigquery

client = bigquery.Client()

Utilizza invece codice che seleziona esplicitamente un progetto:

Selezione esplicita del progetto

import os

from google.cloud import bigquery

project_number = os.environ["CLOUD_ML_PROJECT_ID"]

client = bigquery.Client(project=project_number)

Autentica l'accesso utilizzando gli account di servizio

Per impostazione predefinita, l'istanza di blocchi note gestiti può accedere a risorse presenti nello stesso progetto. Di conseguenza, quando esegui il codice del file blocco note manualmente, queste risorse non richiedono un'autenticazione aggiuntiva. Tuttavia, poiché l'esecutore viene eseguito in un progetto tenant separato, non ha lo stesso accesso predefinito.

Inoltre, l'esecutore non può utilizzare le credenziali dell'utente finale per autenticare l'accesso alle risorse, ad esempio il comando gcloud auth login.

Per risolvere questi problemi, nel codice del file del blocco note, autentica l'accesso alle risorse tramite un account di servizio.

Quando crei un'esecuzione o una pianificazione, specifica quindi l'account di servizio.

Ad esempio, durante la creazione di un'esecuzione, completa questi passaggi:

  1. Nella finestra di dialogo Invia blocchi note a esecutore, espandi Opzioni avanzate.

  2. Nella sezione Identità e accesso API, deseleziona il segno di spunta accanto a Utilizza l'account di servizio predefinito di Vertex AI Training e inserisci l'account di servizio specifico da utilizzare.

Consulta l'elenco completo dei passaggi per la creazione di un'esecuzione.

Requisiti quando si utilizza un container personalizzato

Puoi utilizzare l'esecutore per eseguire il codice del blocco note in un container personalizzato. Il container personalizzato deve includere l'estensione nbexecutor, che consente all'esecutore di eseguire il codice del blocco note come job di addestramento personalizzato di Vertex AI. Per assicurarti che il container personalizzato abbia l'estensione nbexecutor, puoi modificare una delle immagini container di Deep Learning Containers per creare un'immagine container derivata. Le immagini di Deep Learning Containers includono l'estensione nbexecutor.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Abilita le API Notebooks and Vertex AI.

    Abilita le API

  5. Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Abilita le API Notebooks and Vertex AI.

    Abilita le API

  8. Se non l'hai ancora fatto, crea un'istanza di blocchi note gestiti.

Ruoli obbligatori

Per assicurarti che l'account di servizio dell'istanza disponga delle autorizzazioni necessarie per interagire con l'esecutore di Vertex AI Workbench, chiedi all'amministratore di concedere all'account di servizio dell'istanza i seguenti ruoli IAM sul progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

L'amministratore potrebbe anche essere in grado di concedere all'account di servizio dell'istanza le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Apri JupyterLab

Per aprire JupyterLab e preparare un file di blocco note da eseguire, completa i seguenti passaggi.

  1. Apri JupyterLab.

  2. Carica un file blocco note (ipynb), apri un file esistente o apri un nuovo file di blocco note e aggiungi al blocco note il codice che vuoi eseguire.

  3. Assicurati che il codice del file blocco note soddisfi i requisiti per l'utilizzo dell'esecutore.

Creazione di un'esecuzione

Per creare un'esecuzione che esegua il file blocco note, completa i seguenti passaggi. Questi passaggi riguardano sia la pianificazione delle esecuzioni sia la creazione di un'esecuzione una tantum.

  1. Nell'interfaccia utente JupyterLab dell'istanza di blocchi note gestiti, apri il file del blocco note che vuoi eseguire.

  2. Fai clic sul pulsante  Esegui.

  3. Nella finestra di dialogo Invia blocchi note a esecutore, inserisci un nome per l'esecuzione nel campo Nome esecuzione.

  4. Seleziona un Tipo di macchina e un Tipo di acceleratore.

  5. Seleziona un Ambiente.

  6. Nel campo Tipo, seleziona Esecuzione una tantum o seleziona Esecuzioni ricorrenti basate su pianificazione e completa la finestra di dialogo per la pianificazione delle esecuzioni.

  7. In Opzioni avanzate, seleziona la Regione in cui vuoi eseguire il blocco note.

  8. Nel campo Bucket Cloud Storage, seleziona un bucket Cloud Storage disponibile o inserisci un nome per un nuovo bucket e fai clic su Crea e seleziona. L'esecutore archivia l'output del blocco note in questo bucket Cloud Storage.

  9. (Facoltativo) Nella sezione Parametri blocco note, nella casella di testo Parametri di input, aggiungi i parametri del blocco note separati da virgole, ad esempio optimizer="SGD",learning_rate=0.01.

    Scopri di più su come utilizzare i parametri del blocco note.

  10. (Facoltativo) Nella sezione Identità e accesso API, seleziona Utilizza l'account di servizio predefinito di Vertex AI Training o deseleziona il segno di spunta e inserisci un account di servizio specifico da utilizzare.

  11. (Facoltativo) Nella sezione Networking, specifica una rete Virtual Private Cloud. L'utilizzo di una rete VPC per l'esecuzione richiede una connessione di accesso privato ai servizi.

  12. Fai clic su Invia.

    Le esecuzioni una tantum iniziano immediatamente. Le esecuzioni pianificate vengono eseguite automaticamente in base alla pianificazione impostata.

Nella pagina Vertex AI Workbench della console Google Cloud, puoi visualizzare le esecuzioni completate nella scheda Esecuzioni e le pianificazioni nella scheda Pianificazioni.

Visualizza, condividi e importa un file blocco note eseguito

Utilizzando l'interfaccia utente JupyterLab dell'istanza di blocchi note gestiti, puoi visualizzare l'output di un blocco note eseguito, condividere i risultati con altri utenti e importare il file di blocco note eseguito in JupyterLab.

Visualizza i risultati dell'esecuzione di un blocco note

Puoi visualizzare i risultati dell'esecuzione di un blocco note nella console Google Cloud o nell'interfaccia utente di JupyterLab.

Console

  1. Nella console Google Cloud, vai alla pagina Vertex AI Workbench e fai clic sulla scheda Esecuzioni.

    Vai a Esecuzioni

  2. Seleziona la Regione che contiene i risultati.

  3. Accanto all'esecuzione da visualizzare, fai clic su Visualizza risultato.

    Il risultato si apre in una nuova scheda del browser.

JupyterLab

  1. Nel menu di navigazione di JupyterLab, fai clic sul pulsante  Notebook Executor (esecutore blocco note).

  2. Fai clic sulla scheda Esecuzioni.

  3. Sotto l'esecuzione che vuoi visualizzare, fai clic su Visualizza risultato.

    Il risultato si apre in una nuova scheda del browser.

Condividi i risultati dell'esecuzione di un blocco note

Puoi condividere i risultati dell'esecuzione fornendo l'accesso al bucket Cloud Storage che contiene l'esecuzione del tuo blocco note. Fornendo questo accesso, gli utenti possono accedere anche a qualsiasi altra risorsa nello stesso bucket Cloud Storage. Per condividere i risultati dell'esecuzione, completa i seguenti passaggi.

Console

  1. Nella console Google Cloud, vai alla pagina Vertex AI Workbench e fai clic sulla scheda Esecuzioni.

    Vai a Esecuzioni

  2. Seleziona la Regione che contiene l'esecuzione.

  3. Accanto all'esecuzione che vuoi condividere, fai clic sul pulsante Condividi .

  4. Segui le indicazioni nella finestra di dialogo per concedere agli utenti l'accesso al bucket Cloud Storage che contiene l'esecuzione del tuo blocco note.

JupyterLab

  1. Nell'interfaccia utente JupyterLab della tua istanza di blocchi note gestiti, nel menu di navigazione, fai clic sul pulsante  Esecutore blocco note.

  2. Fai clic sulla scheda Esecuzioni.

  3. Accanto all'esecuzione che vuoi condividere, fai clic sul menu opzioni e seleziona Condividi il risultato dell'esecuzione.

  4. Segui le indicazioni nella finestra di dialogo per concedere agli utenti l'accesso al bucket Cloud Storage che contiene l'esecuzione del tuo blocco note.

Importa un blocco note eseguito in JupyterLab

Per importare un blocco note eseguito in JupyterLab, completa i seguenti passaggi.

  1. Nell'interfaccia utente JupyterLab della tua istanza di blocchi note gestiti, nel menu di navigazione, fai clic sul pulsante  Esecutore blocco note.

  2. Fai clic sulla scheda Esecuzioni.

  3. Seleziona la Regione che contiene il blocco note eseguito.

  4. Accanto all'esecuzione che vuoi importare, fai clic sul menu opzioni e seleziona Importa blocco note eseguito.

  5. Seleziona il kernel che vuoi aprire il blocco note.

    L'esecutore apre il file del blocco note eseguito in JupyterLab e lo archivia nel browser di file JupyterLab in una cartella denominata imported_notebook_jobs.

Visualizzare o eliminare una pianificazione

Puoi visualizzare ed eliminare le pianificazioni utilizzando la console Google Cloud o l'interfaccia utente JupyterLab della tua istanza di blocchi note gestiti.

Visualizzare una pianificazione

Visualizza una pianificazione per vedere le relative impostazioni di frequenza o i risultati delle esecuzioni del blocco note.

Console

  1. Nella console Google Cloud, vai alla pagina Vertex AI Workbench e fai clic sulla scheda Pianificazioni.

    Vai a Pianificazioni

  2. Seleziona la Regione in cui si trova la tua programmazione.

  3. Fai clic sul nome di una pianificazione per aprire la pagina Dettagli pianificazione.

  4. Accanto a un nome di esecuzione, fai clic su Visualizza risultato per aprire il file del blocco note eseguito. L'esecutore apre il risultato in una nuova scheda del browser.

JupyterLab

  1. Nell'interfaccia utente JupyterLab della tua istanza di blocchi note gestiti, nel menu di navigazione, fai clic sul pulsante  Esecutore blocco note.

  2. Fai clic sulla scheda Pianificazioni.

  3. Per visualizzare l'ultima esecuzione, fai clic su Visualizza il risultato dell'ultima esecuzione sotto l'esecuzione che vuoi visualizzare. L'esecutore apre il risultato in una nuova scheda del browser.

    Per visualizzare tutte le esecuzioni, fai clic sul nome della pianificazione. L'esecutore apre la pagina Dettagli pianificazione nella console Google Cloud.

  4. Accanto a un nome di esecuzione, fai clic su Visualizza risultato per aprire il file del blocco note eseguito. L'esecutore apre il risultato in una nuova scheda del browser.

Elimina una pianificazione

L'eliminazione di una pianificazione non elimina le esecuzioni generate da questa pianificazione.

Console

  1. Nella console Google Cloud, vai alla pagina Vertex AI Workbench e fai clic sulla scheda Pianificazioni.

    Vai a Pianificazioni

  2. Seleziona la Regione in cui si trova la tua programmazione.

  3. Seleziona la pianificazione che vuoi eliminare.

  4. Fai clic su  Elimina

JupyterLab

  1. Nell'interfaccia utente JupyterLab della tua istanza di blocchi note gestiti, nel menu di navigazione, fai clic sul pulsante  Esecutore blocco note.

  2. Fai clic sulla scheda Pianificazioni.

  3. Fai clic sul nome della pianificazione da eliminare. L'esecutore apre la pagina Dettagli pianificazione nella console Google Cloud.

  4. Fai clic su  Elimina

Jobs sull'addestramento personalizzato di Vertex AI

Poiché le esecuzioni di blocchi note vengono eseguite sull'addestramento personalizzato di Vertex AI, vengono esposte come job di addestramento personalizzato in Vertex AI. Puoi visualizzare questi job di addestramento personalizzato nella console Google Cloud, nella scheda Job personalizzati della pagina Vertex AI Training. Scopri di più su come utilizzare i job di addestramento personalizzato Vertex AI.

Passaggi successivi