Creare un'istanza di blocchi note gestiti con un contenitore personalizzato

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

Panoramica

Puoi aggiungere un container personalizzato da utilizzare con di blocchi note gestiti. Il contenitore personalizzato sarà quindi disponibile come kernel locale su cui puoi eseguire il file del notebook.

Requisiti per i container personalizzati

I blocchi note gestiti di Vertex AI Workbench supportano degli attuali container di deep learning immagini container.

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

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

  • Usa un'immagine container Docker con almeno una kernelspec Jupyter valida. Questo kernelspec esposto consente ai blocchi note gestiti da Vertex AI Workbench di caricare l'immagine del contenitore come kernel. Se l'immagine del contenitore include un'installazione di JupyterLab o Jupyter Notebook, l'installazione includerà il kernelspec per impostazione predefinita. Se l'immagine del contenitore non contiene il kernelspec, puoi installarlo direttamente.

  • L'immagine del container Docker deve supportare sleep infinity.

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

Il testo Dockerfile di esempio seguente crea un'immagine Docker personalizzata un generatore di poesie che si basa su un'immagine Ubuntu e include l'ultima versione 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.

In che modo un container personalizzato diventa un kernel nei notebook gestiti

Per ogni immagine container personalizzata fornita, la tua istanza di blocchi note gestiti identifica il kernel Jupyter disponibile sull'immagine container all'avvio dell'istanza. Il kernelspec viene visualizzato come kernel locale nell'interfaccia di JupyterLab. Quando il kernelspec è selezionato, il gestore dei kernel dei notebook gestiti esegue il contenitore personalizzato come kernel e avvia una sessione Jupyter su quel kernel.

Come vengono aggiornati i kernel dei container personalizzati

Vertex AI Workbench esegue il pull dell'immagine container più recente per il tuo kernel:

  • Quando crei l'istanza.

  • Quando esegui l'upgrade dell'istanza.

  • Quando avvii l'istanza.

Il kernel del contenitore personalizzato non persiste quando l'istanza viene interrotta, quindi ogni volta che l'istanza viene avviata, Vertex AI Workbench estrae la versione più recente dell'immagine del contenitore.

Se l'istanza è in esecuzione quando viene rilasciata una nuova versione di un contenitore, il kernel dell'istanza non viene aggiornato finché non la interrompi e la riavvii.

Disponibilità delle immagini container personalizzate

Le immagini dei contenitori di Deep Learning Containers sono disponibili per tutti gli utenti. Quando utilizzi un'immagine container di Deep Learning Containers, devi concedere ruoli specifici all'account di servizio della tua istanza in modo che possa caricare l'immagine container di 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, deve trovarsi in Artifact Registry e deve essere pubblicamente disponibile.

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

Aggiungere un container personalizzato durante la creazione di un'istanza

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

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

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

    Vai a Blocchi note 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 il percorso di un'immagine container Docker. Ad esempio: utilizzare un'immagine container TensorFlow 2.12 con acceleratori Container di deep learning 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. Quindi, sulla scheda Artifact Registry in cui è archiviata l'immagine container, modifica il progetto al progetto 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 è pronta per l'uso, Vertex AI Workbench attiva Apri il link JupyterLab.

Concedi le autorizzazioni alle immagini container di Deep Learning Containers

Se non usi un'immagine container Deep Learning Containers, ignora questa sezione.

Per assicurarti che l'account di servizio della tua istanza abbia i necessari autorizzazioni per caricare un container Deep Learning Containers di Artifact Registry, chiedi all'amministratore di concedere all'account di servizio dell'istanza i seguenti ruoli IAM sulla tua istanza:

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 fornire l'account di servizio dell'istanza le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

Configurare un file del blocco note da eseguire nel contenitore personalizzato

Per aprire JupyterLab, creare un nuovo file del blocco note e configurarlo per l'esecuzione sul kernel del tuo contenitore 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 > Notebook.

  6. Nella finestra di dialogo Seleziona kernel, seleziona il kernel per l'immagine container personalizzata che vuoi utilizzare, e fai clic su Seleziona. Le immagini dei contenitori più grandi potrebberebbero richiedere del tempo per essere visualizzate come kernel. Se il kernel che ti interessa non è ancora disponibile, riprova tra qualche minuto. Puoi modificare il kernel ogni volta che vuoi eseguire il file del notebook su un kernel diverso.

    Si apre il nuovo file del blocco note.

Passaggi successivi