In questo tutorial viene utilizzato Model Garden per eseguire il deployment del modello aperto Gemma 2B in un endpoint Vertex AI supportato da GPU. Devi eseguire il deployment di un modello in un endpoint prima di poterlo utilizzare per fornire previsioni online. Il deployment di un modello associa risorse fisiche al modello in modo che possa fornire previsioni online a bassa latenza.
Dopo aver eseguito il deployment del modello Gemma 2B, esegui l'inferenza del modello addestrato utilizzando PredictionServiceClient
per ottenere previsioni
online. Le previsioni online sono richieste sincrone effettuate a un
modello di cui è stato eseguito il deployment in un endpoint.
Obiettivi
Questo tutorial mostra come eseguire le seguenti attività:
- Esegui il deployment del modello aperto Gemma 2B in un endpoint supportato da GPU utilizzando Model Garden
- Utilizza
PredictionServiceClient
per ottenere previsioni online
Costi
In questo documento, utilizzi i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per ulteriori informazioni, vedi Pulizia.
Prima di iniziare
Questo tutorial richiede di:
- Configura un progetto Google Cloud e abilita l'API Vertex AI
- Sulla macchina locale:
- Installa, inizializza ed esegui l'autenticazione con Google Cloud CLI
- Installa l'SDK per la tua lingua
Configurare un progetto Google Cloud
Configura il progetto Google Cloud e abilita l'API Vertex AI.
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
Installa e inizializza Google Cloud CLI.
-
Se hai già installato gcloud CLI, assicurati che i componenti
gcloud
siano aggiornati eseguendo questo comando.gcloud components update
-
Per l'autenticazione con l'interfaccia alla gcloud CLI, genera un file Credenziali predefinite dell'applicazione (ADC) locale eseguendo questo comando. Il flusso web avviato dal comando viene utilizzato per fornire le credenziali utente.
gcloud auth application-default login
Per ulteriori informazioni, consulta Configurazione dell'autenticazione dell'interfaccia a riga di comando gcloud e configurazione di ADC.
Installa e aggiorna l'SDK Vertex AI per Python eseguendo questo comando.
pip3 install --upgrade "google-cloud-aiplatform>=1.64"
Installa la libreria Protocol Buffers per Python eseguendo questo comando.
pip3 install --upgrade "protobuf>=5.28"
- La libreria client Go
aiplatform
- Supporto di Go per i buffer di protocollo
- Estensioni API Google per Go (gax-go)
Configura Google Cloud CLI
Sulla tua macchina locale, configura Google Cloud CLI.
Configura l'SDK per il tuo linguaggio di programmazione
Per configurare l'ambiente utilizzato in questo tutorial, installa l'SDK Vertex AI per il tuo linguaggio e la libreria Protocol Buffers. Gli esempi di codice utilizzano funzioni della libreria Protocol Buffers per convertire il dizionario di input nel formato JSON previsto dall'API.
Sulla tua macchina locale, fai clic su una delle seguenti schede per installare l'SDK per il tuo linguaggio di programmazione.
Python
Sulla tua macchina locale, fai clic su una delle seguenti schede per installare l'SDK per il tuo linguaggio di programmazione.
Node.js
Installa o aggiorna l'SDK aiplatform
per Node.js eseguendo questo comando.
npm install @google-cloud/aiplatform
Java
Per aggiungere google-cloud-aiplatform
come dipendenza, aggiungi il codice appropriato per
il tuo ambiente.
Maven con BOM
Aggiungi il seguente codice HTML al tuo pom.xml
:
<dependencyManagement> <dependencies> <dependency> <artifactId>libraries-bom</artifactId> <groupId>com.google.cloud</groupId> <scope>import</scope> <type>pom</type> <version>26.34.0</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> </dependencies>
Maven senza BOM
Aggiungi quanto segue al tuo
pom.xml
:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> <version>5.28</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.11.0</version> </dependency>
Gradle senza BOM
Aggiungi quanto segue a build.gradle
:
implementation 'com.google.cloud:google-cloud-aiplatform:1.1.0'
Vai
Installa questi pacchetti Go eseguendo i seguenti comandi.
go get cloud.google.com/go/aiplatform go get google.golang.org/protobuf go get github.com/googleapis/gax-go/v2
Esegui il deployment di Gemma utilizzando Model Garden
Esegui il deployment del modello Gemma 2B in un tipo di macchina ottimizzata per l'acceleratore Compute Engine g2-standard-12
. A questa macchina è collegato un acceleratore GPU NVIDIA L4.
In questo tutorial, esegui il deployment del modello aperto Gemma 2B ottimizzato per le istruzioni utilizzando la scheda del modello in Model Garden. La versione specifica del modello è gemma2-2b-it
. -it
sta per ottimizzato per le istruzioni.
Il modello Gemma 2B ha dimensioni dei parametri inferiori, il che significa requisiti di risorse inferiori e maggiore flessibilità di implementazione.
Nella console Google Cloud , vai alla pagina Model Garden.
Fai clic sulla scheda del modello Gemma 2.
Fai clic su Esegui il deployment per aprire il riquadro Esegui il deployment del modello.
Nel riquadro Esegui il deployment del modello, specifica questi dettagli.
Per Ambiente di deployment, fai clic su Vertex AI.
Nella sezione Esegui il deployment del modello:
In ID risorsa, scegli
gemma-2b-it
.Per Nome modello e Nome endpoint, accetta i valori predefiniti. Ad esempio:
- Nome modello:
gemma2-2b-it-1234567891234
- Nome endpoint:
gemma2-2b-it-mg-one-click-deploy
Prendi nota del nome dell'endpoint. Ti servirà per trovare l'ID endpoint utilizzato negli esempi di codice.
- Nome modello:
Nella sezione Impostazioni di deployment:
Accetta l'opzione predefinita per le impostazioni di base.
Per Regione, accetta il valore predefinito o scegli una regione dall'elenco. Prendi nota della regione. Ti servirà per gli esempi di codice.
Per Specifica macchina, scegli l'istanza supportata dalla GPU:
1 NVIDIA_L4 g2-standard-12
.
Fai clic su Esegui il deployment. Al termine del deployment, ricevi un'email contenente i dettagli del nuovo endpoint. Puoi anche visualizzare i dettagli dell'endpoint facendo clic su Previsione online > Endpoint e selezionando la tua regione.
Inferenza di Gemma 2B con PredictionServiceClient
Dopo aver eseguito il deployment di Gemma 2B, utilizzi PredictionServiceClient
per
ottenere previsioni online per il prompt: "Perché il cielo è blu?"
Parametri di codice
Gli esempi di codice PredictionServiceClient
richiedono di aggiornare quanto segue.
PROJECT_ID
: Per trovare l'ID progetto, segui questi passaggi.Vai alla pagina Benvenuto nella console Google Cloud .
Seleziona il tuo progetto dal selettore dei progetti nella parte superiore della pagina.
Il nome, il numero e l'ID progetto vengono visualizzati dopo l'intestazione Benvenuto.
ENDPOINT_REGION
: la regione in cui hai eseguito il deployment dell'endpoint.ENDPOINT_ID
: per trovare l'ID endpoint, visualizzalo nella console o esegui il comandogcloud ai endpoints list
. Avrai bisogno del nome e della regione dell'endpoint dal riquadro Esegui il deployment del modello.Console
Puoi visualizzare i dettagli dell'endpoint facendo clic su Online prediction > Endpoints e selezionando la tua regione. Prendi nota del numero visualizzato nella colonna
ID
.gcloud
Puoi visualizzare i dettagli dell'endpoint eseguendo il comando
gcloud ai endpoints list
.gcloud ai endpoints list \ --region=ENDPOINT_REGION \ --filter=display_name=ENDPOINT_NAME
L'output è simile al seguente.
Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
Codice di esempio
Nel codice campione per la tua lingua, aggiorna PROJECT_ID
,
ENDPOINT_REGION
e ENDPOINT_ID
. Poi esegui il codice.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Node.js.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Java.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Go.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Esegui la pulizia
Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina il progetto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Elimina singole risorse
Se mantieni il progetto, elimina le risorse utilizzate in questo tutorial:
- Annulla il deployment del modello ed elimina l'endpoint
- Elimina il modello dal registro dei modelli
Annulla il deployment del modello ed elimina l'endpoint
Utilizza uno dei seguenti metodi per annullare il deployment di un modello ed eliminare l'endpoint.
Console
Nella console Google Cloud , fai clic su Previsione online, quindi su Endpoint.
Nell'elenco a discesa Regione, scegli la regione in cui hai eseguito il deployment dell'endpoint.
Fai clic sul nome dell'endpoint per aprire la pagina dei dettagli. Ad esempio
gemma2-2b-it-mg-one-click-deploy
.Nella riga del modello
Gemma 2 (Version 1)
, fai clic su Azioni e poi su Annulla il deployment del modello nell'endpoint.Nella finestra di dialogo Annulla il deployment del modello nell'endpoint, fai clic su Annulla il deployment.
Fai clic sul pulsante Indietro per tornare alla pagina Endpoint.
Alla fine della riga
gemma2-2b-it-mg-one-click-deploy
, fai clic su Azioni e poi seleziona Elimina endpoint.Nel prompt di conferma, fai clic su Conferma.
gcloud
Per annullare il deployment del modello ed eliminare l'endpoint utilizzando Google Cloud CLI, segui questi passaggi.
In questi comandi, sostituisci:
- PROJECT_ID con il nome del progetto
- LOCATION_ID con la regione in cui hai eseguito il deployment del modello e dell'endpoint
- ENDPOINT_ID con l'ID endpoint
- DEPLOYED_MODEL_NAME con il nome visualizzato del modello
- DEPLOYED_MODEL_ID con l'ID modello
Recupera l'ID endpoint eseguendo il comando
gcloud ai endpoints list
. Questo comando elenca gli ID endpoint per tutti gli endpoint del tuo progetto. Prendi nota dell'ID dell'endpoint utilizzato in questo tutorial.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_ID
L'output è simile al seguente. Nell'output, l'ID è chiamato
ENDPOINT_ID
.Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
Recupera l'ID modello eseguendo il comando
gcloud ai models describe
. Prendi nota dell'ID del modello che hai implementato in questo tutorial.gcloud ai models describe DEPLOYED_MODEL_NAME \ --project=PROJECT_ID \ --region=LOCATION_ID
L'output abbreviato è simile al seguente. Nell'output, l'ID è chiamato
deployedModelId
.Using endpoint [https://us-central1-aiplatform.googleapis.com/] artifactUri: [URI removed] baseModelSource: modelGardenSource: publicModelName: publishers/google/models/gemma2 ... deployedModels: - deployedModelId: '1234567891234567891' endpoint: projects/12345678912/locations/us-central1/endpoints/12345678912345 displayName: gemma2-2b-it-12345678912345 etag: [ETag removed] modelSourceInfo: sourceType: MODEL_GARDEN name: projects/123456789123/locations/us-central1/models/gemma2-2b-it-12345678912345 ...
Annulla il deployment del modello dall'endpoint. Avrai bisogno dell'ID endpoint e dell'ID modello dei comandi precedenti.
gcloud ai endpoints undeploy-model ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID \ --deployed-model-id=DEPLOYED_MODEL_ID
Questo comando non produce alcun output.
Esegui il comando
gcloud ai endpoints delete
per eliminare l'endpoint.gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
Quando richiesto, digita
y
per confermare. Questo comando non produce alcun output.
Eliminare il modello
Console
Vai alla pagina Model Registry dalla sezione Vertex AI della console Google Cloud .
Nell'elenco a discesa Regione, scegli la regione in cui hai eseguito il deployment del modello.
Alla fine della riga
gemma2-2b-it-1234567891234
, fai clic su Azioni.Seleziona Elimina modello.
Quando elimini il modello, tutte le versioni e le valutazioni associate vengono eliminate dal tuo progetto Google Cloud .
Nel prompt di conferma, fai clic su Elimina.
gcloud
Per eliminare il modello utilizzando Google Cloud CLI, fornisci il nome visualizzato e la regione del modello al comando gcloud ai models delete
.
gcloud ai models delete DEPLOYED_MODEL_NAME \
--project=PROJECT_ID \
--region=LOCATION_ID
Sostituisci DEPLOYED_MODEL_NAME con il nome visualizzato del modello. Sostituisci PROJECT_ID con il nome del tuo progetto. Sostituisci LOCATION_ID con la regione in cui hai eseguito il deployment del modello.
Passaggi successivi
- Scopri di più sui modelli open di Gemma.
- Leggi i Termini di servizio di Gemma.
- Scopri di più sui modelli aperti.
- Scopri come eseguire il deployment di un modello ottimizzato.
- Scopri come eseguire il deployment di Gemma 2 su Google Kubernetes Engine utilizzando HuggingFace Textgen Inference (TGI).
- Scopri di più su
PredictionServiceClient
nel tuo linguaggio preferito: Python, Node.js, Java o Go.