En este instructivo, usarás Model Garden para implementar el modelo abierto Gemma 2 2B en un extremo de Gemini Enterprise Agent Platform respaldado por TPU. 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 2 2B, realizas la inferencia del 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:
- Implementa el modelo abierto Gemma 2 2B en un extremo respaldado por TPU con Model Garden
- Usa
PredictionServiceClientpara obtener predicciones en línea
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
-
A
ct5lp-hightpu-1tmachine type with one TPU_V5 accelerator - Gemini Enterprise Agent Platform prediction and explanation
Para generar una estimación de costos en función del uso previsto,
usa la calculadora de precios.
Cuando completes las tareas que se describen en este documento, podrás borrar los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Realiza una limpieza.
Antes de comenzar
En este instructivo, debes hacer lo siguiente:
- Configura un Google Cloud proyecto y habilita la API de Agent Platform
- En tu máquina local, haz lo siguiente:
- Instala, inicializa y autentica Google Cloud CLI
- Instala el SDK para tu idioma
Configura un proyecto de Google Cloud
Configura tu Google Cloud proyecto y habilita la API de Agent Platform.
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
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 la gcloud CLI, ejecuta este comando para asegurarte de que tus componentes de
gcloudestén actualizados.gcloud components update
-
Para autenticarte con la 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, instala el SDK de Gemini Enterprise Agent Platform para tu lenguaje y la biblioteca de Protocol Buffers. Las muestras de código usan funciones de la biblioteca de búferes de protocolo 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 de tu lenguaje de programación.
Ejecuta este comando para instalar y actualizar el SDK de Agent Platform 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 "protobuf>=5.28"
Node.js
Instala o actualiza el SDK de aiplatform para Node.js ejecutando el siguiente comando.
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 con Go para búferes de protocolo
- Extensiones de las APIs 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 2 2B en un tipo de máquina ct5lp-hightpu-1t de Compute Engine optimizado para el entrenamiento a pequeña y mediana escala. Esta máquina tiene un acelerador de TPU v5e. Para obtener más información sobre el entrenamiento de modelos con TPU, consulta Entrenamiento de Cloud TPU v5e.
En este instructivo, implementarás el modelo abierto Gemma 2 2B ajustado por instrucciones con la ficha del modelo en Model Garden. La versión específica del modelo es gemma2-2b-it, donde -it significa ajustado según las instrucciones.
El modelo Gemma 2 2B tiene un tamaño de parámetro más bajo, lo que significa menores requisitos de recursos y más flexibilidad de implementación.
En la consola de Google Cloud , ve a la página Model Garden.
Haz clic en la ficha del modelo Gemma 2.
Haz clic en Implementar para abrir el panel Implementar modelo.
En el panel Implementar modelo, especifica estos detalles.
En Entorno de implementación, haz clic en Agent Platform.
En la sección Implementar modelo, haz lo siguiente:
En ID del recurso, elige
gemma-2b-it.En 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. Lo necesitarás para encontrar el ID del 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. Lo necesitarás para los ejemplos de código.
En Especificación de la máquina, elige la instancia respaldada por TPU:
ct5lp-hightpu-1t (1 TPU_V5_LITEPOD; ct5lp-hightpu-1t).
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 > Endpoints y seleccionando tu región.
Inferencia de Gemma 2 2B con PredictionServiceClient
Después de implementar Gemma 2 2B, usas PredictionServiceClient para obtener predicciones en línea para la instrucción: "¿Por qué el cielo es azul?".
Parámetros de código
En las muestras de código de PredictionServiceClient, debes actualizar 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 que se encuentra en 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 Bienvenido.
ENDPOINT_REGION: Es la región en la que implementaste el extremo.ENDPOINT_ID: Para encontrar el ID de tu extremo, míralo 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 > Endpoints y selecciona tu región. Toma nota del número que aparece en la columna
ID.gcloud
Puedes ver los detalles del extremo ejecutando el comando
gcloud ai endpoints list.gcloud ai endpoints list \ --region=ENDPOINT_REGION \ --filter=display_name=ENDPOINT_NAMEEl resultado se verá así:
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 lenguaje, 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. Para 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 que encontrarás en la guía de inicio rápido de Agent Platform sobre cómo usar bibliotecas cliente.
Para autenticarte en Agent Platform, configura las credenciales predeterminadas de la aplicación. Para 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 que encontrarás en la guía de inicio rápido de Agent Platform sobre cómo usar bibliotecas cliente.
Para autenticarte en Agent Platform, configura las credenciales predeterminadas de la aplicación. Para 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 que encontrarás en la guía de inicio rápido de Agent Platform sobre cómo usar bibliotecas cliente.
Para autenticarte en Agent Platform, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Limpia
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
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
Borra los recursos individuales
Si conservarás el proyecto, borra los recursos que usaste 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, 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-deployEn 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 Endpoints.
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 con el ID del extremo
- DEPLOYED_MODEL_NAME con el nombre visible del modelo
- DEPLOYED_MODEL_ID con el ID del modelo
Ejecuta el comando
gcloud ai endpoints listpara obtener el ID del extremo. Este comando enumera los IDs de los extremos de todos los extremos de tu proyecto. Toma nota del ID del extremo que se usa en este instructivo.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_IDEl resultado se verá así: En el resultado, el ID se denomina
ENDPOINT_ID.Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deployEjecuta el comando
gcloud ai models describepara obtener el ID del modelo. Anota el ID del modelo que implementaste en este instructivo.gcloud ai models describe DEPLOYED_MODEL_NAME \ --project=PROJECT_ID \ --region=LOCATION_IDEl resultado abreviado se ve de la siguiente manera: En el resultado, el ID se denomina
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_IDEste comando no produce resultados.
Ejecuta el comando
gcloud ai endpoints deletepara borrar el extremo.gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_IDCuando se te solicite, escribe
ypara confirmar. Este comando no produce resultados.
Borra el modelo
Console
Ve a la página Model Registry desde la sección Agent Platform 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 modelos 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 visible y la regió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.
- Aprende a implementar Gemma 2 en Google Kubernetes Engine con HuggingFace Textgen Inference (TGI).
- Obtén más información sobre
PredictionServiceClienten tu lenguaje preferido: Python, Node.js, Java o Go.