Crea un modello di runtime

Questa pagina mostra come creare un modello di runtime in Colab Enterprise.

Per eseguire il codice nel notebook, utilizzi una risorsa di calcolo chiamata runtime. Puoi utilizzare il runtime predefinito o un runtime creato da un modello di runtime. Creando un modello di runtime, puoi configurarlo per ottimizzare le prestazioni, il costo e altre caratteristiche di un runtime in base alle tue esigenze.

Scopri di più sui runtime e sui modelli di runtime.

Prima di iniziare

  1. Accedi al tuo Google Cloud account. 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 senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI, Dataform, and Compute Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI, Dataform, and Compute Engine APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare un modello di runtime in Colab Enterprise, chiedi all'amministratore di concederti il ruolo IAM Colab Enterprise Admin (roles/aiplatform.colabEnterpriseAdmin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea il modello di runtime

Per creare un modello di runtime, puoi utilizzare la Google Cloud console, Google Cloud CLI, l'API REST o Terraform.

Console

Per creare un modello di runtime:

  1. Nella Google Cloud console, vai alla pagina Modelli di runtime di Colab Enterprise.

    Vai a Modelli di runtime

  2. Fai clic su  Nuovo modello.

    Viene visualizzata la finestra di dialogo Crea nuovo modello di runtime.

Informazioni di base del runtime

  1. Nella sezione Informazioni di base del runtime, inserisci un Nome visualizzato.

  2. Nel menu Regione, seleziona la regione in cui vuoi il modello di runtime.

  3. (Facoltativo) Aggiungi una Descrizione di modello di runtime.

  4. (Facoltativo) Per aggiungere un'etichetta, fai clic su  Aggiungi etichetta, quindi inserisci una coppia Chiave e Valore. Per aggiungere altre etichette, ripeti questo passaggio.

  5. Fai clic su Continua.

Configura elaborazione

  1. Nella sezione Configura elaborazione , nel menu Tipo di macchina, seleziona un tipo di macchina. Per informazioni sui tipi di macchine, consulta la guida alle risorse e al confronto per le famiglie di macchine.

    Se selezioni un tipo di macchina con GPU, seleziona il Tipo di acceleratore e Numero di acceleratori. Se non riesci a selezionare il numero di GPU che vuoi, potresti dover aumentare la quota. Consulta Richiedi un aggiustamento delle quote.

  2. Nel menu Tipo di disco dati, seleziona un tipo di disco.

  3. Nel campo Dimensione del disco dati, inserisci una dimensione in GB.

  4. Nella sezione Arresto in caso di inattività:

    • Per disattivare l'arresto in caso di inattività, deseleziona Attiva l'arresto in caso di inattività.

    • Per modificare il periodo di inattività, in Tempo di inattività prima dell'arresto (minuti), modifica il numero con il numero di minuti di inattività che vuoi. Nella Google Cloud console, questa impostazione può essere impostata su qualsiasi valore intero compreso tra 10 e 1440.

  5. Fai clic su Continua.

Ambiente

  1. Nella sezione Ambiente, seleziona un Ambiente. Il valore predefinito è Ultimo (attualmente Python 3.12).

  2. (Facoltativo) Nel campo Script post-avvio, inserisci l'URI di uno script post-avvio. Per saperne di più sull'utilizzo di uno script post-avvio, consulta Utilizza uno script post-avvio.

  3. (Facoltativo) Sotto l'URL dello script post-avvio, seleziona il comportamento dello script post-avvio. Il comportamento predefinito è Esegui una volta. Per saperne di più, consulta Comportamento script di avvio-avvio.

  4. (Facoltativo) Per aggiungere una variabile di ambiente, fai clic su  Aggiungi variabile di ambiente, quindi inserisci una coppia Chiave e Valore. Per aggiungere altre variabili di ambiente, ripeti questo passaggio.

  5. Fai clic su Continua.

Networking e sicurezza

  1. Nella sezione Networking e sicurezza , nel menu Rete, seleziona una rete. Se non selezioni una rete, viene selezionata la rete predefinita.

  2. Nel menu Subnet, seleziona una subnet.

  3. Per disattivare l'accesso a internet pubblico, deseleziona Attiva l'accesso a internet pubblico.

  4. Per disattivare l'accesso alle credenziali dell'utente finale, deseleziona Attiva le credenziali dell'utente finale.

Completa la creazione del modello di runtime

Fai clic su Crea per completare la creazione del modello di runtime.

Il modello di runtime viene visualizzato nell'elenco nella scheda Modelli di runtime.

gcloud

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • DISPLAY_NAME: il nome visualizzato del modello di runtime.
  • PROJECT_ID: il tuo ID progetto.
  • REGION: la regione in cui vuoi il modello di runtime.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per il runtime.
  • ACCELERATOR_TYPE: il tipo di acceleratore hardware da utilizzare per il runtime.
  • ACCELERATOR_COUNT: il numero di acceleratori da utilizzare per il runtime.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud colab runtime-templates create --display-name="DISPLAY_NAME" \
    --project=PROJECT_ID \
    --region=REGION \
    --machine-type=MACHINE_TYPE \
    --accelerator-type=ACCELERATOR_TYPE \
    --accelerator-count=ACCELERATOR_COUNT

Windows (PowerShell)

gcloud colab runtime-templates create --display-name="DISPLAY_NAME" `
    --project=PROJECT_ID `
    --region=REGION `
    --machine-type=MACHINE_TYPE `
    --accelerator-type=ACCELERATOR_TYPE `
    --accelerator-count=ACCELERATOR_COUNT

Windows (cmd.exe)

gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ^
    --project=PROJECT_ID ^
    --region=REGION ^
    --machine-type=MACHINE_TYPE ^
    --accelerator-type=ACCELERATOR_TYPE ^
    --accelerator-count=ACCELERATOR_COUNT

Per saperne di più sul comando per la creazione di un modello di runtime dalla riga di comando, consulta la documentazione di gcloud CLI.

REST

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • REGION: la regione in cui vuoi il modello di runtime.
  • PROJECT_ID: il tuo ID progetto.
  • DISPLAY_NAME: il nome visualizzato del modello di runtime.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per il runtime.
  • ACCELERATOR_TYPE: il tipo di acceleratore hardware da utilizzare per il runtime.
  • ACCELERATOR_COUNT: il numero di acceleratori da utilizzare per il runtime.

Metodo HTTP e URL:

POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates

Corpo JSON della richiesta:

{
  "displayName": "DISPLAY_NAME",
  "machineSpec": {
    {
      "machineType": MACHINE_TYPE
      "acceleratorType": ACCELERATOR_TYPE,
      "acceleratorCount": ACCELERATOR_COUNT,
    }
  },
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, e quindi esegui il comando seguente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates" | Select-Object -Expand Content
In caso di esito positivo, il corpo della risposta contiene un'istanza di Operation.

Per saperne di più, consulta la documentazione dell'API REST notebookRuntimeTemplates.create.

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per saperne di più, consulta la documentazione di riferimento del fornitore Terraform.

L'esempio seguente utilizza la google_colab_runtime_template risorsa Terraform per creare un modello di runtime Colab Enterprise runtime.

resource "google_compute_network" "my_network" {
  name = "{{index $.Vars "network_name"}}"
  auto_create_subnetworks = false
}

resource "google_compute_subnetwork" "my_subnetwork" {
  name   = "{{index $.Vars "network_name"}}"
  network = google_compute_network.my_network.id
  region = "us-central1"
  ip_cidr_range = "10.0.1.0/24"
}

resource "google_colab_runtime_template" "{{$.PrimaryResourceId}}" {
  name        = "{{index $.Vars "runtime_template_name"}}"
  display_name = "Runtime template full"
  location    = "us-central1"
  description = "Full runtime template"
  machine_spec {
    machine_type     = "n1-standard-2"
    accelerator_type = "NVIDIA_TESLA_T4"
    accelerator_count = "1"
  }

  data_persistent_disk_spec {
    disk_type    = "pd-standard"
    disk_size_gb = 200
  }

  network_spec {
    enable_internet_access = true
    network = google_compute_network.my_network.id
    subnetwork = google_compute_subnetwork.my_subnetwork.id
  }

  labels = {
    k = "val"
  }

  idle_shutdown_config {
    idle_timeout = "3600s"
  }

  euc_config {
    euc_disabled = false
  }

  shielded_vm_config {
    enable_secure_boot = false
  }

  network_tags = ["abc", "def"]

  encryption_spec {
    kms_key_name = "{{index $.Vars "key_name"}}"
  }

  software_config {
    env {
      name    = "TEST"
      value   = 1
    }

    post_startup_script_config {
      post_startup_script = "echo 'hello world'"
      post_startup_script_url = "gs://colab-enterprise-pss-secure/secure_pss.sh"
      post_startup_script_behavior = "RUN_ONCE"
    }

    colab_image {
      release_name = "py312"
    }
  }
}

Concedi l'accesso al modello di runtime

Dopo aver creato un modello di runtime, devi concedere l'accesso a un'entità per consentirle di utilizzarlo. Un'entità può creare un runtime da un modello di runtime solo se dispone di:

  • Accesso al modello di runtime.
  • Le autorizzazioni necessarie per la creazione dei runtime.

Consulta Gestisci l'accesso a un modello di runtime template.

Utilizza Colab Enterprise in una rete VPC condiviso

Quando crei un modello di runtime o un runtime in un progetto di servizio di una rete VPC condiviso, devi concedere all'agente di servizio Vertex AI (service-SERVICE_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com) autorizzazioni specifiche nel progetto host. Queste autorizzazioni vengono utilizzate per:

  • Convalidare l'esistenza e l'accessibilità della rete e della subnet quando crei il modello di runtime.
  • Eseguire il provisioning dell'istanza VM di Compute Engine sottostante nella rete VPC condiviso quando crei un runtime.

Per assicurarti che l'agente di servizio Vertex AI disponga delle autorizzazioni necessarie per consentire l'utilizzo di un modello di runtime e di un runtime all'interno di una rete VPC condiviso, chiedi all'amministratore di concedere il Compute Network User (roles/compute.networkUser) ruolo IAM all'agente di servizio Vertex AI nel progetto host.

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'agente di servizio Vertex AI le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

Pianifica le esecuzioni dei notebook in una rete VPC condiviso

Se vuoi utilizzare lo scheduler dei notebook con un modello di runtime o un runtime in un progetto di servizio di una rete VPC condiviso, devi concedere all'agente di servizio Colab Enterprise (service-SERVICE_PROJECT_NUMBER@gcp-sa-vertex-nb.iam.gserviceaccount.com) autorizzazioni specifiche nel progetto host. Queste autorizzazioni vengono utilizzate per creare la VM di Compute Engine sottostante.

Per assicurarti che l'agente di servizio Colab Enterprise disponga delle autorizzazioni necessarie per utilizzare i notebook pianificati all'interno di una rete VPC condiviso, chiedi all'amministratore di concedere il ruolo IAM Compute Network User (roles/compute.networkUser) all'agente di servizio Colab Enterprise nel progetto host.

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'agente di servizio Colab Enterprise le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

Elimina un modello di runtime

Per eliminare un modello di runtime:

  1. Nella Google Cloud console, vai alla pagina Modelli di runtime di Colab Enterprise.

    Vai a Modelli di runtime

  2. Nel menu Regione, seleziona la regione che contiene il modello di runtime.

  3. Seleziona il modello di runtime che vuoi eliminare.

  4. Fai clic su  Elimina.

  5. Fai clic su Conferma.

Risoluzione dei problemi

Questa sezione mostra come risolvere i problemi relativi alla creazione di modelli di runtime in Colab Enterprise.

Impossibile selezionare un numero sufficiente di GPU

Durante la creazione di un modello di runtime, non puoi selezionare il numero di GPU che vuoi. Il problema potrebbe essere dovuto a una quota insufficiente.

Colab Enterprise utilizza la quota di Compute Engine per le GPU. Per saperne di più, consulta la panoramica di quote e limiti di Compute Engine.

Per risolvere questo problema, Richiedi un aggiustamento delle quote.

Passaggi successivi