Dans ce tutoriel, vous allez utiliser Model Garden pour déployer le modèle ouvert Gemma 2B sur un point de terminaison Vertex AI compatible avec les GPU. Vous devez déployer un modèle sur un point de terminaison avant de pouvoir utiliser ce modèle pour diffuser des prédictions en ligne. Le déploiement d'un modèle associe des ressources physiques au modèle afin qu'il puisse diffuser des prédictions en ligne avec une faible latence.
Après avoir déployé le modèle Gemma 2B, vous inférez le modèle entraîné à l'aide de PredictionServiceClient
pour obtenir des prédictions en ligne. Les prédictions en ligne sont des requêtes synchrones adressées à un modèle déployé sur un point de terminaison.
Objectifs
Ce tutoriel vous explique comment effectuer les tâches suivantes :
- Déployer le modèle ouvert Gemma 2B sur un point de terminaison compatible avec les GPU à l'aide de Model Garden
- Utiliser
PredictionServiceClient
pour obtenir des prédictions en ligne
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
Pour suivre ce tutoriel, vous devez:
- Configurer un Google Cloud projet et activer l'API Vertex AI
- Sur votre ordinateur local :
- Installer, initialiser et authentifier avec la Google Cloud CLI
- Installer le SDK pour votre langue
Configurer un Google Cloud projet
Configurez votre Google Cloud projet et activez 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.
Configurer Google Cloud CLI
Sur votre ordinateur local, configurez Google Cloud CLI.
-
Installez et initialisez Google Cloud CLI.
-
Si vous avez déjà installé gcloud CLI, assurez-vous que vos composants
gcloud
sont à jour en exécutant cette commande.gcloud components update
-
Pour vous authentifier avec la gcloud CLI, générez un fichier local d'identifiants par défaut de l'application (ADC) en exécutant cette commande. Le flux Web lancé par la commande permet de fournir vos identifiants utilisateur.
gcloud auth application-default login
Pour en savoir plus, consultez la section Configuration de l'authentification gcloud CLI et configuration ADC.
Configurer le SDK pour votre langage de programmation
Pour configurer l'environnement utilisé dans ce tutoriel, vous devez installer le SDK Vertex AI pour votre langue et la bibliothèque Protocol Buffers. Les exemples de code utilisent des fonctions de la bibliothèque Protocol Buffers pour convertir le dictionnaire d'entrée au format JSON attendu par l'API.
Sur votre ordinateur local, cliquez sur l'un des onglets suivants pour installer le SDK pour votre langage de programmation.
Python
Sur votre ordinateur local, cliquez sur l'un des onglets suivants pour installer le SDK pour votre langage de programmation.
Installez et mettez à jour le SDK Vertex AI pour Python en exécutant cette commande.
pip3 install --upgrade "google-cloud-aiplatform>=1.64"
Installez la bibliothèque Protocol Buffers pour Python en exécutant cette commande.
pip3 install --upgrade "protobuf>=5.28"
Node.js
Installez ou mettez à jour le SDK aiplatform
pour Node.js en exécutant la commande suivante.
npm install @google-cloud/aiplatform
Java
Pour ajouter google-cloud-aiplatform
en tant que dépendance, ajoutez le code approprié pour votre environnement.
Maven avec BOM
Ajoutez le code HTML suivant à votre 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 sans BOM
Ajoutez les éléments suivants à votre 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 sans BOM
Ajoutez les éléments suivants à votre build.gradle
:
implementation 'com.google.cloud:google-cloud-aiplatform:1.1.0'
Go
Installez ces paquets Go en exécutant les commandes suivantes.
- La bibliothèque cliente Go
aiplatform
- Compatibilité de Go avec Protocol Buffers
- Extensions d'API Google pour Go (gax-go)
go get cloud.google.com/go/aiplatform go get google.golang.org/protobuf go get github.com/googleapis/gax-go/v2
Déployer Gemma à l'aide de Model Garden
Vous déployez le modèle Gemma 2B sur un type de machine Compute Engine g2-standard-12
optimisé pour les accélérateurs. Cette machine est associée à un accélérateur de GPU NVIDIA L4.
Dans ce tutoriel, vous allez déployer le modèle ouvert Gemma 2B affiné par instruction à l'aide de la fiche de modèle dans Model Garden. La version spécifique du modèle est gemma2-2b-it
. -it
signifie adapté aux instructions.
Le modèle Gemma 2B présente une taille de paramètre plus faible, ce qui signifie que les besoins en ressources sont moindres et que la flexibilité de déploiement est plus importante.
Dans la console Google Cloud, accédez à la page Model Garden.
Cliquez sur la fiche de modèle Gemma 2.
Cliquez sur Déployer pour ouvrir le volet Déployer le modèle.
Dans le volet Déployer le modèle, spécifiez ces informations.
Dans le champ Environnement de déploiement, cliquez sur Vertex AI.
Dans la section Déployer le modèle:
Dans le champ ID de ressource, choisissez
gemma-2b-it
.Pour Nom du modèle et Nom du point de terminaison, acceptez les valeurs par défaut. Exemple :
- Nom du modèle:
gemma2-2b-it-1234567891234
- Nom du point de terminaison:
gemma2-2b-it-mg-one-click-deploy
Notez le nom du point de terminaison. Vous en aurez besoin pour trouver l'ID de point de terminaison utilisé dans les exemples de code.
- Nom du modèle:
Dans la section Deployment settings (Paramètres de déploiement) :
Acceptez l'option par défaut pour les paramètres Basique.
Pour Région, acceptez la valeur par défaut ou choisissez une région dans la liste. Notez la région. Vous en aurez besoin pour les exemples de code.
Pour Spécifications de la machine, choisissez l'instance compatible avec le GPU :
1 NVIDIA_L4 g2-standard-12
.
Cliquez sur Déployer. Une fois le déploiement terminé, vous recevrez un e-mail contenant des informations sur votre nouveau point de terminaison. Vous pouvez également afficher les détails du point de terminaison en cliquant sur Prédiction en ligne > Points de terminaison, puis en sélectionnant votre région.
Inférence Gemma 2B avec PredictionServiceClient
Après avoir déployé Gemma 2B, vous utilisez PredictionServiceClient
pour obtenir des prédictions en ligne pour l'invite "Pourquoi le ciel est-il bleu ?".
Paramètres de code
Les exemples de code PredictionServiceClient
nécessitent de mettre à jour les éléments suivants.
PROJECT_ID
: Pour trouver votre ID de projet, procédez comme suit.Accédez à la page Bienvenue dans la console Google Cloud.
Dans le sélecteur de projets situé en haut de la page, sélectionnez votre projet.
Le nom, le numéro et l'ID du projet s'affichent après l'en-tête Bienvenue.
ENDPOINT_REGION
: région dans laquelle vous avez déployé le point de terminaison.ENDPOINT_ID
: pour trouver votre ID de point de terminaison, affichez-le dans la console ou exécutez la commandegcloud ai endpoints list
. Vous aurez besoin du nom et de la région du point de terminaison dans le volet Déployer le modèle.Console
Pour afficher les détails du point de terminaison, cliquez sur Prédiction en ligne > Points de terminaison, puis sélectionnez votre région. Notez le nombre qui s'affiche dans la colonne
ID
.gcloud
Vous pouvez afficher les détails du point de terminaison en exécutant la commande
gcloud ai endpoints list
.gcloud ai endpoints list \ --region=ENDPOINT_REGION \ --filter=display_name=ENDPOINT_NAME
Le résultat ressemble à ceci :
Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
Exemple de code
Dans l'exemple de code pour votre langue, mettez à jour PROJECT_ID
, ENDPOINT_REGION
et ENDPOINT_ID
. Exécutez ensuite votre code.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration pour Go décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Go.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer le projet
- 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.
Supprimer des ressources individuelles
Si vous souhaitez conserver votre projet, supprimez les ressources utilisées dans ce tutoriel:
- Annuler le déploiement du modèle et supprimer le point de terminaison
- Supprimer le modèle de Model Registry
Annuler le déploiement du modèle et supprimer le point de terminaison
Utilisez l'une des méthodes suivantes pour annuler le déploiement d'un modèle et supprimer le point de terminaison.
Console
Dans la console Google Cloud, cliquez sur Prédiction en ligne, puis sur Points de terminaison.
Dans la liste déroulante Région, choisissez la région dans laquelle vous avez déployé votre point de terminaison.
Cliquez sur le nom du point de terminaison pour ouvrir la page d'informations. Exemple :
gemma2-2b-it-mg-one-click-deploy
.Sur la ligne du modèle
Gemma 2 (Version 1)
, cliquez sur Actions, puis sur Annuler le déploiement du modèle sur le point de terminaison.Dans la boîte de dialogue Annuler le déploiement du modèle sur le point de terminaison, cliquez sur Annuler le déploiement.
Cliquez sur le bouton Retour pour revenir à la page Points de terminaison.
Au bout de la ligne
gemma2-2b-it-mg-one-click-deploy
, cliquez sur Actions, puis sélectionnez Supprimer le point de terminaison.Dans l'invite de confirmation, cliquez sur Confirmer.
gcloud
Pour désinstaller le modèle et supprimer le point de terminaison à l'aide de la Google Cloud CLI, procédez comme suit.
Dans ces commandes, remplacez:
- PROJECT_ID par le nom de votre projet ;
- LOCATION_ID par la région dans laquelle vous avez déployé le modèle et le point de terminaison
- ENDPOINT_ID par l'ID du point de terminaison.
- DEPLOYED_MODEL_NAME par le nom à afficher du modèle
- DEPLOYED_MODEL_ID par l'ID du modèle
Obtenez l'ID du point de terminaison en exécutant la commande
gcloud ai endpoints list
. Cette commande liste les ID de tous les points de terminaison de votre projet. Notez l'ID du point de terminaison utilisé dans ce tutoriel.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_ID
Le résultat ressemble à ceci : Dans la sortie, l'ID est appelé
ENDPOINT_ID
.Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
Obtenez l'ID du modèle en exécutant la commande
gcloud ai models describe
. Notez l'ID du modèle que vous avez déployé dans ce tutoriel.gcloud ai models describe DEPLOYED_MODEL_NAME \ --project=PROJECT_ID \ --region=LOCATION_ID
Le résultat abrégé se présente comme suit : Dans la sortie, l'ID est appelé
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 ...
Annulez le déploiement du modèle sur le point de terminaison. Vous aurez besoin de l'ID du point de terminaison et de l'ID du modèle des commandes précédentes.
gcloud ai endpoints undeploy-model ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID \ --deployed-model-id=DEPLOYED_MODEL_ID
Cette commande n'affiche aucun résultat.
Exécutez la commande
gcloud ai endpoints delete
pour supprimer le point de terminaison.gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
Lorsque vous y êtes invité, saisissez
y
pour confirmer. Cette commande n'affiche aucun résultat.
Supprimer le modèle
Console
Accédez à la page Registre de modèles de la section Vertex AI dans la console Google Cloud.
Dans la liste déroulante Région, choisissez la région dans laquelle vous avez déployé votre modèle.
À la fin de la ligne
gemma2-2b-it-1234567891234
, cliquez sur Actions.Sélectionnez Supprimer le modèle.
Lorsque vous supprimez le modèle, toutes les versions et évaluations de modèle associées sont également supprimées de votre Google Cloud projet.
Dans l'invite de confirmation, cliquez sur Supprimer.
gcloud
Pour supprimer le modèle à l'aide de Google Cloud CLI, indiquez le nom à afficher et la région du modèle à la commande gcloud ai models delete
.
gcloud ai models delete DEPLOYED_MODEL_NAME \
--project=PROJECT_ID \
--region=LOCATION_ID
Remplacez DEPLOYED_MODEL_NAME par le nom à afficher du modèle. Remplacez PROJECT_ID par le nom de votre projet. Remplacez LOCATION_ID par la région dans laquelle vous avez déployé le modèle.
Étape suivante
- En savoir plus sur les modèles ouverts Gemma
- Lisez les Conditions d'utilisation de Gemma.
- En savoir plus sur les modèles ouverts
- Découvrez comment déployer un modèle ajusté.
- Découvrez comment déployer Gemma 2 sur Google Kubernetes Engine à l'aide de l'inférence de génération de texte (TGI) HuggingFace.
- En savoir plus sur
PredictionServiceClient
dans le langage de votre choix : Python, Node.js, Java ou Go