En este instructivo, usarás Model Garden para implementar el modelo abierto Gemma 2B en un extremo de Vertex AI respaldado por GPU. Debes implementar un modelo en un extremo antes de que se pueda usar para entregar predicciones en línea. La implementación de un modelo asocia recursos físicos con el modelo para que pueda entregar predicciones en línea con baja latencia.
Después de implementar el modelo Gemma 2B, infieres el modelo entrenado con PredictionServiceClient
para obtener predicciones en línea. Las predicciones en línea son solicitudes síncronas realizadas en un
modelo que se implementa en un extremo.
Objetivos
En este instructivo, se muestra cómo completar las siguientes tareas:
- Usa Model Garden para implementar el modelo abierto Gemma 2B en un extremo con copia de seguridad de GPU
- Usa
PredictionServiceClient
para obtener predicciones en línea
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.
Antes de comenzar
Para realizar este instructivo, debes hacer lo siguiente:
- Configura un proyecto de Google Cloud y habilita la API de Vertex AI
- En tu máquina local, haz lo siguiente:
- Instala, inicializa y autentica con Google Cloud CLI
- Instala el SDK para tu idioma
Configura un proyecto de Google Cloud
Configura tu proyecto de Google Cloud y habilita la API de 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.
Configura la CLI de Google Cloud
En tu máquina local, configura Google Cloud CLI.
-
Instala y, luego, inicializa Google Cloud CLI.
-
Si ya instalaste gcloud CLI, ejecuta este comando para asegurarte de que los componentes de
gcloud
estén actualizados.gcloud components update
-
Para autenticarte con gcloud CLI, ejecuta este comando para generar un archivo local de credenciales predeterminadas de la aplicación (ADC). El flujo web que inicia el comando se usa para proporcionar tus credenciales de usuario.
gcloud auth application-default login
Para obtener más información, consulta Configuración de autenticación de gcloud CLI y configuración de ADC.
Configura el SDK para tu lenguaje de programación
Para configurar el entorno que se usa en este instructivo, debes instalar el SDK de Vertex AI para tu lenguaje y la biblioteca de Protocol Buffers. Las muestras de código usan funciones de la biblioteca de Protocol Buffers para convertir el diccionario de entrada al formato JSON que espera la API.
En tu máquina local, haz clic en una de las siguientes pestañas para instalar el SDK de tu lenguaje de programación.
Python
En tu máquina local, haz clic en una de las siguientes pestañas para instalar el SDK para tu lenguaje de programación.
Ejecuta este comando para instalar y actualizar el SDK de Vertex AI para Python.
pip3 install --upgrade "google-cloud-aiplatform>=1.64"
Ejecuta este comando para instalar la biblioteca de Protocol Buffers para Python.
pip3 install --upgrade "profobuf>=5.28"
Node.js
Ejecuta el siguiente comando para instalar o actualizar el SDK de aiplatform
para Node.js:
npm install @google-cloud/aiplatform
Java
Para agregar google-cloud-aiplatform
como dependencia, agrega el código apropiado para tu entorno.
Maven con BOM
Agrega el siguiente código HTML a tu 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 sin BOM
Agrega lo siguiente a tu 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 sin BOM
Agrega lo siguiente a tu build.gradle
:
implementation 'com.google.cloud:google-cloud-aiplatform:1.1.0'
Go
Ejecuta los siguientes comandos para instalar estos paquetes de Go.
- La biblioteca cliente de Go
aiplatform
- Compatibilidad de Go con Protocol Buffers
- Extensiones de la API de Google para Go (gax-go)
go get cloud.google.com/go/aiplatform go get google.golang.org/protobuf go get github.com/googleapis/gax-go/v2
Implementa Gemma con Model Garden
Implementas el modelo Gemma 2B en un tipo de máquina optimizado para aceleradores de Compute Engine g2-standard-12
. Esta máquina tiene un acelerador de GPU NVIDIA L4 conectado.
En este instructivo, implementarás el modelo abierto Gemma 2B ajustado por instrucciones con la tarjeta de modelo en Model Garden. La versión específica del modelo es gemma2-2b-it
. -it
significa ajuste de instrucciones.
El modelo Gemma 2B tiene un tamaño de parámetro más bajo, lo que significa que tiene requisitos de recursos más bajos y más flexibilidad de implementación.
En la consola de Google Cloud, ve a la página Model Garden.
Haz clic en la tarjeta de modelo Gemma 2.
Haz clic en Implementar para abrir el panel Implementar modelo.
En el panel Deploy model, especifica estos detalles.
En Entorno de implementación, haz clic en Vertex AI.
En la sección Implementar modelo, haz lo siguiente:
En ID del recurso, elige
gemma-2b-it
.Para Nombre del modelo y Nombre del extremo, acepta los valores predeterminados. Por ejemplo:
- Nombre del modelo:
gemma2-2b-it-1234567891234
- Nombre del extremo:
gemma2-2b-it-mg-one-click-deploy
Toma nota del nombre del extremo. La necesitarás para encontrar el ID de extremo que se usa en las muestras de código.
- Nombre del modelo:
En la sección Configuración de la implementación, haz lo siguiente:
Acepta la opción predeterminada para la configuración Básica.
En Región, acepta el valor predeterminado o elige una región de la lista. Anota la región. La necesitarás para los ejemplos de código.
En Especificaciones de la máquina, elige la instancia con copia de seguridad de GPU:
1 NVIDIA_L4 g2-standard-12
.
Haz clic en Implementar. Cuando finalice la implementación, recibirás un correo electrónico con detalles sobre tu nuevo extremo. También puedes ver los detalles del extremo haciendo clic en Predicción en línea > Extremos y seleccionando tu región.
Inferencia de Gemma 2B con PredictionServiceClient
Después de implementar Gemma 2B, usa PredictionServiceClient
para obtener predicciones en línea para la instrucción: "¿Por qué el cielo es azul?".
Parámetros de código
Las muestras de código de PredictionServiceClient
requieren que actualices lo siguiente.
PROJECT_ID
: Para encontrar el ID de tu proyecto, sigue estos pasos.Ve a la página Bienvenida en la consola de Google Cloud.
En el selector de proyectos de la parte superior de la página, selecciona tu proyecto.
El nombre, el número y el ID del proyecto aparecen después del encabezado Te damos la bienvenida.
ENDPOINT_REGION
: Es la región en la que implementaste el extremo.ENDPOINT_ID
: Para encontrar el ID de tu extremo, búscalo en la consola o ejecuta el comandogcloud ai endpoints list
. Necesitarás el nombre y la región del extremo del panel Implementar modelo.Console
Para ver los detalles del extremo, haz clic en Predicción en línea > extremos y selecciona tu región. Toma nota del número que aparece en la columna
ID
.gcloud
Para ver los detalles del extremo, ejecuta el comando
gcloud ai endpoints list
.gcloud ai endpoints list \ --region=ENDPOINT_REGION \ --filter=display_name=ENDPOINT_NAME
El resultado se verá de la siguiente manera.
Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
Código de muestra
En el código de muestra de tu idioma, actualiza PROJECT_ID
, ENDPOINT_REGION
y ENDPOINT_ID
. Luego, ejecuta tu código.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Go.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Realiza una limpieza
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Borra el proyecto
- 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.
Borra los recursos individuales
Si conservas tu proyecto, borra los recursos que se usaron en este instructivo:
- Anula la implementación del modelo y borra el extremo
- Borra el modelo de Model Registry
Anula la implementación del modelo y borra el extremo
Usa uno de los siguientes métodos para anular la implementación de un modelo y borrar el extremo.
Console
En la consola de Google Cloud, haz clic en Predicción en línea y, luego, haz clic en Extremos.
En la lista desplegable Región, elige la región en la que implementaste tu extremo.
Haz clic en el nombre del extremo para abrir la página de detalles. Por ejemplo:
gemma2-2b-it-mg-one-click-deploy
En la fila del modelo
Gemma 2 (Version 1)
, haz clic en Acciones y, luego, en Anular la implementación del modelo en el extremo.En el cuadro de diálogo Anular la implementación del modelo desde el extremo, haz clic en Anular la implementación.
Haz clic en el botón Atrás para volver a la página Extremos.
Al final de la fila
gemma2-2b-it-mg-one-click-deploy
, haz clic en Acciones y, luego, selecciona Borrar extremo.En el mensaje de confirmación, haz clic en Confirmar.
gcloud
Para anular la implementación del modelo y borrar el extremo con Google Cloud CLI, sigue estos pasos.
En estos comandos, reemplaza lo siguiente:
- PROJECT_ID por el nombre del proyecto
- LOCATION_ID por la región en la que implementaste el modelo y el extremo
- ENDPOINT_ID por el ID del extremo
- DEPLOYED_MODEL_NAME con el nombre visible del modelo
- DEPLOYED_MODEL_ID por el ID del modelo
Ejecuta el comando
gcloud ai endpoints list
para obtener el ID del extremo. Este comando enumera los IDs de los extremos de todos los extremos de tu proyecto. Anota el ID del extremo que se usa en este instructivo.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_ID
El resultado se verá de la siguiente manera. En el resultado, el ID se llama
ENDPOINT_ID
.Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
Para obtener el ID del modelo, ejecuta el comando
gcloud ai models describe
. Anota el ID del modelo que implementaste en este instructivo.gcloud ai models describe DEPLOYED_MODEL_NAME \ --project=PROJECT_ID \ --region=LOCATION_ID
El resultado abreviado se ve de la siguiente manera. En el resultado, el ID se llama
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 ...
Anula la implementación del modelo desde el extremo. Necesitarás el ID del extremo y el ID del modelo de los comandos anteriores.
gcloud ai endpoints undeploy-model ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID \ --deployed-model-id=DEPLOYED_MODEL_ID
Este comando no produce resultados.
Ejecuta el comando
gcloud ai endpoints delete
para borrar el extremo.gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID
Cuando se te solicite, escribe
y
para confirmar. Este comando no produce resultados.
Borra el modelo
Console
Ve a la página Model Registry desde la sección Vertex AI en la consola de Google Cloud.
En la lista desplegable Región, elige la región en la que implementaste tu modelo.
Al final de la fila
gemma2-2b-it-1234567891234
, haz clic en Acciones.Selecciona Borrar modelo.
Cuando borras el modelo, todas las versiones y evaluaciones de modelo asociadas se borran de tu proyecto de Google Cloud.
En el mensaje de confirmación, haz clic en Borrar.
gcloud
Para borrar el modelo con Google Cloud CLI, proporciona el nombre y la región de visualización del modelo al comando gcloud ai models delete
.
gcloud ai models delete DEPLOYED_MODEL_NAME \
--project=PROJECT_ID \
--region=LOCATION_ID
Reemplaza DEPLOYED_MODEL_NAME por el nombre visible del modelo. Reemplaza PROJECT_ID por el nombre de tu proyecto. Reemplaza LOCATION_ID por la región en la que implementaste el modelo.
¿Qué sigue?
- Obtén más información sobre los modelos abiertos de Gemma.
- Lee las Condiciones de Uso de Gemma.
- Obtén más información sobre los modelos abiertos.
- Obtén información para implementar un modelo ajustado.
- Obtén información para implementar Gemma 2 en Google Kubernetes Engine con la inferencia de Textgen de HuggingFace (TGI).
- Obtén más información sobre
PredictionServiceClient
en tu lenguaje preferido: Python, Node.js, Java o Go.