Crea un'istanza di blocchi note gestiti con un container personalizzato

Questa pagina mostra come aggiungere un container personalizzato a un'istanza di notebook gestiti da Vertex AI Workbench come kernel su cui puoi eseguire i file notebook.

Panoramica

Puoi aggiungere un container personalizzato da utilizzare con l'istanza di notebook gestiti. Il container personalizzato è quindi disponibile come kernel locale su cui puoi eseguire il file notebook.

Requisiti per i container personalizzati

I notebook gestiti da Vertex AI Workbench supportano qualsiasi delle attuali immagini container Deep Learning Containers.

Per creare un'immagine container personalizzata, puoi modificare una delle immagini container Deep Learning Containers per creare un'immagine container derivata.

Per creare un'immagine container personalizzata da zero, assicurati che l'immagine container soddisfi i seguenti requisiti:

  • Utilizza un'immagine container Docker con almeno una specifica del kernel Jupyter valida. Questa specifica del kernel esposta consente ai blocchi note gestiti da Vertex AI Workbench di caricare l'immagine container come kernel. Se l'immagine container include un'installazione di JupyterLab o Jupyter Notebook, l'installazione includerà kernelspec per impostazione predefinita. Se l'immagine del contenitore non ha la specifica del kernel, puoi installare la specifica del kernel direttamente.

  • L'immagine container Docker deve supportare sleep infinity.

  • Per utilizzare il container personalizzato con l'executor di notebook gestiti, assicurati che il container personalizzato abbia l'estensione nbexecutor.

Il seguente testo Dockerfile di esempio crea un'immagine Docker personalizzata da zero basata su un'immagine Ubuntu e include l'ultima versione di Python.

FROM --platform=linux/amd64 ubuntu:22.04

RUN apt-get -y update
RUN apt-get install -y --no-install-recommends \
python3-pip \
pipx \
git \
make \
jq

RUN pip install \
argcomplete>=1.9.4 \
poetry==1.1.14 \
jupyterlab==3.3.0

# Create a link that points to the right python bin directory
RUN ln -s /usr/bin/pythonVERSION_NUMBER /usr/bin/python

Sostituisci VERSION_NUMBER con la versione di Python che stai utilizzando.

Come un container personalizzato diventa un kernel nei notebook gestiti

Per ogni immagine container personalizzata fornita, l'istanza di blocchi note gestita identifica la specifica del kernel Jupyter disponibile nell'immagine container all'avvio dell'istanza. La specifica del kernel viene visualizzata come kernel locale nell'interfaccia di JupyterLab. Quando viene selezionata la specifica del kernel, il gestore dei kernel dei notebook gestiti esegue il container personalizzato come kernel e avvia una sessione Jupyter su quel kernel.

Come vengono aggiornati i kernel dei container personalizzati

Vertex AI Workbench estrae l'immagine container più recente per il kernel:

  • Quando crei l'istanza.

  • Quando esegui l'upgrade dell'istanza.

  • Quando avvii l'istanza.

Il kernel del container personalizzato non viene mantenuto quando l'istanza viene arrestata, quindi ogni volta che l'istanza viene avviata, Vertex AI Workbench recupera l'ultima versione dell'immagine container.

Se l'istanza è in esecuzione quando viene rilasciata una nuova versione di un container, il kernel dell'istanza non viene aggiornato finché non arresti e avvii l'istanza.

Disponibilità dell'immagine container personalizzata

Le immagini container di Deep Learning Containers sono disponibili per tutti gli utenti. Quando utilizzi un'immagine container Deep Learning Containers, devi concedere ruoli specifici al account di servizio della tua istanza in modo che l'istanza possa caricare l'immagine container Deep Learning Containers come kernel. Scopri di più sulle autorizzazioni richieste e su come concederle nella sezione Autorizzazioni.

Se vuoi utilizzare la tua immagine container personalizzata, questa deve trovarsi in Artifact Registry e deve essere disponibile pubblicamente.

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 Artifact Registry 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 Artifact Registry APIs.

    Enable the APIs

  8. Aggiungere un container personalizzato durante la creazione di un'istanza

    Per aggiungere un container personalizzato a un'istanza di notebook gestiti, l'immagine del container personalizzato deve essere specificata al momento della creazione dell'istanza.

    Per aggiungere un container personalizzato durante la creazione di un'istanza di notebook gestiti, completa i seguenti passaggi.

    1. Nella console Google Cloud , vai alla pagina Blocchi note gestiti.

      Vai a Notebook gestiti

    2. Fai clic su  Crea nuova.

    3. Nel campo Nome, inserisci un nome per l'istanza.

    4. Fai clic sull'elenco Regione e seleziona una regione per l'istanza.

    5. Nella sezione Ambiente, seleziona Fornisci immagini Docker personalizzate.

    6. Aggiungi un'immagine container Docker in uno dei seguenti modi:

      • Inserisci un percorso dell'immagine container Docker. Ad esempio, per utilizzare un'immagine container TensorFlow 2.12 con acceleratori di Deep Learning Containers, inserisci us-docker.pkg.dev/deeplearning-platform-release/gcr.io/tf-cpu.2-12.py310.
      • Fai clic su Seleziona per aggiungere un'immagine container Docker da Artifact Registry. Poi, nella scheda Artifact Registry in cui è archiviata l'immagine container, cambia il progetto con quello che include l'immagine container e seleziona l'immagine container.
    7. Completa il resto della finestra di dialogo Crea istanza in base alle tue esigenze.

    8. Fai clic su Crea.

    9. Vertex AI Workbench avvia automaticamente l'istanza. Quando l'istanza è pronta per l'uso, Vertex AI Workbench attiva un link Apri JupyterLab.

    Concedere le autorizzazioni alle immagini container di Deep Learning Containers

    Se non utilizzi un'immagine container Deep Learning Containers, salta questa sezione.

    Per assicurarti che il account di servizio della tua istanza disponga delle autorizzazioni necessarie per caricare un'immagine container Deep Learning Containers da Artifact Registry, chiedi all'amministratore di concedereaccount di servizioount della tua istanza i seguenti ruoli IAM sulla tua istanza:

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

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

    Configura un file blocco note da eseguire nel tuo container personalizzato

    Per aprire JupyterLab, creare un nuovo file del notebook e configurarlo per l'esecuzione sul kernel del container personalizzato, completa i seguenti passaggi.

    1. Fai clic su Apri JupyterLab accanto al nome dell'istanza di blocchi note gestiti.

    2. Nella finestra di dialogo Autentica il blocco note gestito, fai clic sul pulsante per ricevere un codice di autenticazione.

    3. Scegli un account e fai clic su Consenti. Copia il codice di autenticazione.

    4. Nella finestra di dialogo Autentica il blocco note gestito, incolla il codice di autenticazione e fai clic su Autentica.

      L'istanza di blocco note gestita apre JupyterLab.

    5. Seleziona File > Nuovo > Blocco note.

    6. Nella finestra di dialogo Seleziona kernel, seleziona il kernel per l'immagine container personalizzata che vuoi utilizzare, quindi fai clic su Seleziona. Le immagini container più grandi potrebbero richiedere un po' di tempo per essere visualizzate come kernel. Se il kernel che vuoi non è ancora presente, riprova tra qualche minuto. Puoi cambiare il kernel ogni volta che vuoi eseguire il file del notebook su un kernel diverso.

      Si apre il nuovo file del notebook.

    Passaggi successivi