Esegui i file del blocco note con l'esecutore

Questa pagina descrive come utilizzare l'executor in un'istanza di Notebooks gestita da Vertex AI Workbench per eseguire i file del blocco note come esecuzione una tantum e pianificata.

Panoramica

L'esecutore consente di inviare un file blocco note (ipynb) da eseguire Addestramento personalizzato di Vertex AI. Puoi impostare i valori dei parametri per ogni esecuzione di un file blocco note. Puoi anche eseguire un file blocco note in base a una pianificazione ricorrente. Al termine dell'esecuzione, puoi visualizzarne i risultati e e condividerle con gli altri.

Quando un file del 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 seguendo il ciclo di vita di un job di addestramento.

Requisiti per il codice del blocco note eseguito dall'esecutore

Quando scrivi il codice del notebook da eseguire nell'executor, tieni presente che il codice verrà eseguito in un progetto tenant distinto dal progetto dell'istanza di notebook gestita. Questa sezione descrive in che modo questo influisce sul codice quando viene eseguito nell'executor.

Assicurati che le installazioni dei pacchetti siano disponibili per l'eseguitore

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

  • Utilizzare un container personalizzato che ha già installato il pacchetto, ed eseguirai il blocco note in quel container personalizzato. Consulta i requisiti per l'utilizzo 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 assicura che il pacchetto sia disponibile il container che selezioni quando esegui il blocco note.

Utilizza la selezione esplicita del progetto

Quando accedi alle risorse tramite il codice eseguito dall'esecutore, l'esecutore potrebbe non connettersi progetto Google Cloud. Se riscontri 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 database della tua istanza di blocchi note gestiti progetto Google Cloud. L'executore, invece, esegue il codice nell'addestramento personalizzato di Vertex AI all'interno di un progetto tenant gestito da Google. Pertanto, non tentare di dedurre un ID progetto dall'ambiente nel codice del tuo notebook, ma specifica gli ID progetto in modo esplicito.

Se non vuoi codificare un ID progetto nel 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 affinché contenga numero di progetto del progetto dove hai iniziato e addestramento personalizzato. Molti strumenti Google Cloud possono accettare un numero di progetto ovunque venga richiesto 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 tuo notebook:

Selezione implicita del progetto

from google.cloud import bigquery

client = bigquery.Client()

Utilizza invece il 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)

Autenticare l'accesso utilizzando gli account di servizio

Per impostazione predefinita, la tua istanza di blocchi note gestiti possono avere accesso a risorse esistenti nello stesso progetto. Pertanto, quando esegui manualmente il codice del file del notebook, queste risorse non richiedono un'autenticazione aggiuntiva. Tuttavia, poiché l'eseguitore 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 blocco note, l'accesso alle risorse tramite un account di servizio.

Quando crei un'esecuzione o una pianificazione, specifica 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, cancella il segno di spunta accanto Usare 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 creare un'esecuzione.

Requisiti per l'utilizzo di 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 un job di addestramento personalizzato Vertex AI. Per assicurarti che il tuo container personalizzato abbia l'estensione nbexecutor, puoi modificare una delle immagini container di Deep Learning Containers per creare dell'immagine container derivata. Immagini Deep Learning Containers includi l'estensione nbexecutor.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks and Vertex AI APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks and Vertex AI APIs.

    Enable the APIs

  8. Se non l'hai già fatto, creazione di un'istanza di blocchi note gestiti.

Ruoli obbligatori

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

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

L'amministratore potrebbe anche essere in grado di assegnare all'account di servizio della tua istanza le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

Apri JupyterLab

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

  1. Apri JupyterLab.

  2. Caricare un file blocco note (ipynb), aprire un file esistente, oppure apri un nuovo blocco note file e aggiungi il codice che vuoi eseguire al blocco note.

  3. Assicurati che il codice del file del notebook soddisfi i requisiti per l'utilizzo dell'executor.

Creazione di un'esecuzione

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

  1. Nell'istanza di blocco note gestito nell'interfaccia utente di JupyterLab, apri il file del blocco note che vuoi eseguire.

  2. Fai clic sul pulsante  Esegui.

  3. Nella finestra di dialogo Invia notebook all'eseguitore, nel campo Nome esecuzione, inserisci un nome per l'esecuzione.

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

  5. Seleziona un Ambiente.

  6. Nel campo Type (Tipo), Seleziona Esecuzione una tantum oppure seleziona Esecuzioni ricorrenti basate su pianificazione e completa la finestra di dialogo per programmare le 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 inserisci un nome per un nuovo bucket e fai clic su Crea e seleziona. L'executor archivia l'output del blocco note in questo bucket Cloud Storage.

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

    Scopri di più su come utilizzare i parametri del notebook.

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

  11. (Facoltativo) Nella sezione Networking, per specificare una rete Virtual Private Cloud. Utilizzo di una rete VPC per l'esecuzione richiede un servizio privato di accesso.

  12. Fai clic su Invia.

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

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

Visualizzare, condividere e importare un file del notebook eseguito

Utilizzando l'istanza di blocco note gestito JupyterLab, puoi visualizzare l'output di un blocco note eseguito, condividi i risultati con altri e importare il file del 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. Fai clic su Visualizza risultato accanto all'esecuzione che vuoi visualizzare.

    Il risultato si apre in una nuova scheda del browser.

JupyterLab

  1. Nel menu di navigazione di JupyterLab, fai clic sul  Esecutore blocco note.

  2. Fai clic sulla scheda Esecuzioni.

  3. Fai clic su Visualizza risultato sotto l'esecuzione che vuoi visualizzare.

    Il risultato si apre in una nuova scheda del browser.

Condividere i risultati dell'esecuzione di un notebook

Puoi condividere i risultati dell'esecuzione fornendo l'accesso al bucket Cloud Storage che contiene l'esecuzione del notebook. 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 istruzioni nella finestra di dialogo per concedere agli utenti l'accesso al bucket Cloud Storage contenente l'esecuzione del tuo blocco note.

JupyterLab

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

  2. Fai clic sulla scheda Esecuzioni.

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

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

Importa un notebook eseguito in JupyterLab

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

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

  2. Fai clic sulla scheda Esecuzioni.

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

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

  5. Seleziona il kernel con cui vuoi aprire il notebook.

    L'eseguitore apre il file del blocco note eseguito in JupyterLab e lo memorizza nel browser dei 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 dell'istanza di Notebook gestita.

Visualizzare una pianificazione

Visualizza una programmazione per vedere le impostazioni di frequenza della programmazione o per visualizzare 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 che contiene la pianificazione.

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

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

JupyterLab

  1. Nell'istanza di blocco note gestito l'interfaccia utente JupyterLab, nel menu di navigazione, fai clic sull'  Esecutore blocco note.

  2. Fai clic sulla scheda Pianificazioni.

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

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

  4. Accanto al nome di un'esecuzione, fai clic su Visualizza risultato per aprire il file del notebook eseguito. L'eseguibile apre il risultato in una nuova scheda del browser.

Elimina una pianificazione

L'eliminazione di una pianificazione non elimina le esecuzioni precedenti generati a partire da quella 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 programmazione.

  3. Seleziona la pianificazione da eliminare.

  4. Fai clic su  Elimina

JupyterLab

  1. Nell'istanza di blocco note gestito l'interfaccia utente JupyterLab, nel menu di navigazione, fai clic sull'  Esecutore blocco note.

  2. Fai clic sulla scheda Pianificazioni.

  3. Fai clic sul nome della pianificazione che vuoi eliminare. L'esecutore apre la pagina Dettagli pianificazione in la console Google Cloud.

  4. Fai clic su  Elimina

Job nell'addestramento personalizzato di Vertex AI

Poiché le esecuzioni dei notebook vengono eseguite sull'addestramento personalizzato di Vertex AI, vengono esposte come job di addestramento personalizzato in Vertex AI. Puoi visualizzare i job di addestramento personalizzato nella console Google Cloud, nella scheda Job personalizzati di la pagina Vertex AI Training. Scopri di più su come collaborare con Job di addestramento personalizzato Vertex AI.

Passaggi successivi