Modelos de Llama


Los modelos de Llama en Vertex AI ofrecen modelos completamente administrados y sin servidores como APIs. Para usar un modelo de Llama en Vertex AI, envía una solicitud directamente al extremo de API de Vertex AI. Debido a que los modelos de Llama usan una API administrada, no es necesario aprovisionar ni administrar la infraestructura.

Puedes transmitir tus respuestas para reducir la percepción de latencia del usuario final. Una respuesta transmitida usa eventos enviados por el servidor (SSE) para transmitir la respuesta de forma incremental.

Modelos de Llama disponibles

Meta ofrece los siguientes modelos de Llama para usar en Vertex AI. Para acceder a un modelo de Llama, ve a su tarjeta de modelo de Model Garden.

Llama 3.2

Llama 3.2 permite a los desarrolladores compilar e implementar los modelos y las aplicaciones de IA generativa más recientes que usan las capacidades más recientes de Llama, como el razonamiento de imágenes. Llama 3.2 también está diseñado para ser más accesible para las aplicaciones integradas en el dispositivo.

Ir a la tarjeta de modelo de Llama 3.2

No se aplican cargos durante el período de vista previa. Si necesitas un servicio listo para producción, usa los modelos de Llama alojados por el cliente.

Consideraciones

Cuando usas llama-3.2-90b-vision-instruct-maas, no hay restricciones cuando envías instrucciones de solo texto. Sin embargo, si incluyes una imagen en la instrucción, esta debe estar al comienzo y solo puedes incluir una. Por ejemplo, no puedes incluir texto y, luego, una imagen.

Llama 3.1

Llama 3.1 es un modelo de lenguaje de regresión automática que usa una arquitectura de transformador optimizada. Las versiones ajustadas usan el ajuste fino supervisado (SFT) y el aprendizaje por refuerzo con retroalimentación humana (RLHF) para alinearse con las preferencias de las personas en cuanto a utilidad y seguridad.

Llama 3.1 405b está disponible de forma general. Se te cobra a medida que usas el modelo (pago por uso). Para conocer los precios del pago por uso, consulta los precios del modelo Llama en la página de precios de Vertex AI.

Los otros modelos de Llama 3.1 están en versión preliminar. No se aplican cargos por los modelos de versión preliminar. Si necesitas un servicio listo para producción, usa los modelos de Llama alojados por el cliente.

Ir a la tarjeta de modelo de Llama 3.1

Usa modelos de Llama

Cuando envíes solicitudes para usar los modelos de Llama, usa los siguientes nombres de modelos:

  • Para Llama 3.2 90B (versión preliminar), usa llama-3.2-90b-vision-instruct-maas.
  • Para Llama 3.1 405b (GA), usa llama-3.1-405b-instruct-maas.
  • Para Llama 3.1 70B (versión preliminar), usa llama-3.1-70b-instruct-maas.
  • Para Llama 3.1 8B (versión preliminar), usa llama-3.1-8b-instruct-maas.

Te recomendamos que uses las versiones de modelos que incluyen un sufijo que comienza con un símbolo @ debido a las posibles diferencias entre las versiones de modelos. Si no especificas una versión del modelo, siempre se usa la versión más reciente, lo que puede afectar de forma inadvertida tus flujos de trabajo cuando cambia una versión del modelo.

Antes de comenzar

Para usar modelos de Llama con Vertex AI, debes realizar los siguientes pasos. La API de Vertex AI (aiplatform.googleapis.com) debe estar habilitada para usar Vertex AI. Si ya tienes un proyecto existente con la API de Vertex AI habilitada, puedes usar ese proyecto en lugar de crear uno nuevo.

Asegúrate de tener los permisos necesarios para habilitar y usar modelos de socios. Para obtener más información, consulta Otorga los permisos necesarios.

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

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

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Ve a una de las siguientes tarjetas de modelo de Model Garden y, luego, haz clic en habilitar:

Realiza una llamada de transmisión a un modelo de Llama

En el siguiente ejemplo, se realiza una llamada de transmisión a un modelo de Llama.

REST

Después de configurar tu entorno, puedes usar REST para probar una instrucción de texto. En el siguiente ejemplo, se envía una solicitud al extremo del modelo de publicador.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Una región que admite modelos de Llama.
  • MODEL: El nombre del modelo que deseas usar.
  • ROLE: El rol asociado a un mensaje. Puedes especificar un user o un assistant. El primer mensaje debe usar el rol user. Los modelos funcionan con giros user y assistant alternados. Si el mensaje final usa el rol assistant, el contenido de la respuesta continúa inmediatamente desde el contenido de ese mensaje. Puedes usar esto para restringir parte de la respuesta del modelo.
  • CONTENT: Es el contenido, como el texto, del mensaje user o assistant.
  • MAX_OUTPUT_TOKENS: Cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene casi cuatro caracteres. 100 tokens corresponden a casi 60 u 80 palabras.

    Especifica un valor más bajo para las respuestas más cortas y un valor más alto para las respuestas potencialmente más largas.

  • STREAM: Un valor booleano que especifica si la respuesta se transmite o no. Transmite tu respuesta para reducir la percepción de latencia del usuario final. Configúralo como true para transmitir la respuesta y false para devolverla de una sola vez.
  • ENABLE_LLAMA_GUARD: Un valor booleano que especifica si se debe habilitar Llama Guard en tus entradas y salidas. De forma predeterminada, Llama Guard está habilitado y marca las respuestas si determina que no son seguras.

Método HTTP y URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

Cuerpo JSON de la solicitud:

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": true,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Realiza una llamada unaria a un modelo de Llama

En el siguiente ejemplo, se realiza una llamada unaria a un modelo de Llama.

REST

Después de configurar tu entorno, puedes usar REST para probar una instrucción de texto. En el siguiente ejemplo, se envía una solicitud al extremo del modelo de publicador.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION: Una región que admite modelos de Llama.
  • MODEL: El nombre del modelo que deseas usar.
  • ROLE: El rol asociado a un mensaje. Puedes especificar un user o un assistant. El primer mensaje debe usar el rol user. Los modelos funcionan con giros user y assistant alternados. Si el mensaje final usa el rol assistant, el contenido de la respuesta continúa inmediatamente desde el contenido de ese mensaje. Puedes usar esto para restringir parte de la respuesta del modelo.
  • CONTENT: Es el contenido, como el texto, del mensaje user o assistant.
  • MAX_OUTPUT_TOKENS: Cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene casi cuatro caracteres. 100 tokens corresponden a casi 60 u 80 palabras.

    Especifica un valor más bajo para las respuestas más cortas y un valor más alto para las respuestas potencialmente más largas.

  • STREAM: Un valor booleano que especifica si la respuesta se transmite o no. Transmite tu respuesta para reducir la percepción de latencia del usuario final. Configúralo como true para transmitir la respuesta y false para devolverla de una sola vez.
  • ENABLE_LLAMA_GUARD: Un valor booleano que especifica si se debe habilitar Llama Guard en tus entradas y salidas. De forma predeterminada, Llama Guard está habilitado y marca las respuestas si determina que no son seguras.

Método HTTP y URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

Cuerpo JSON de la solicitud:

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": false,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

Respuestas marcadas

De forma predeterminada, Llama Guard está habilitado en todas las predicciones que realizas con los modelos de Llama 3.1. Llama Guard ayuda a proteger las respuestas, ya que verifica las entradas y las salidas. Si Llama Guard determina que no son seguras, marca la respuesta.

Si quieres inhabilitar Llama Guard, modifica la configuración de seguridad del modelo. Para obtener más información, consulta el campo model_safety_settings en el ejemplo de transmisión o unario.

Usa Vertex AI Studio

En el caso de los modelos Llama, puedes usar Vertex AI Studio para crear prototipos y probar modelos de IA generativa con rapidez en la consola de Google Cloud. A modo de ejemplo, puedes usar Vertex AI Studio para comparar las respuestas del modelo de Llama con otros modelos compatibles, como Gemini de Google.

Para obtener más información, consulta Guía de inicio rápido: Envía instrucciones de texto a Gemini con Vertex AI Studio.

Disponibilidad y cuotas de la región del modelo de Llama

En el caso de los modelos de Llama, se aplica una cuota para cada región en la que el modelo está disponible. La cuota se especifica en consultas por minuto (QPM).

En las siguientes tablas, se indican las regiones compatibles, las cuotas predeterminadas y la longitud máxima de contexto para cada modelo de Llama:

Llama 3.2 90B (versión preliminar)

Región Sistema de cuotas Longitud de contexto compatible
us-central1 30 QPM 128,000 tokens

Llama 3.1 405B (GA)

Región Sistema de cuotas Longitud de contexto compatible
us-central1 60 QPM 128,000 tokens

Llama 3.1 70B (versión preliminar)

Región Sistema de cuotas Longitud de contexto compatible
us-central1 60 QPM 128,000 tokens

Llama 3.1 8B (versión preliminar)

Región Sistema de cuotas Longitud de contexto compatible
us-central1 60 QPM 128,000 tokens

Si quieres aumentar tus cuotas para IA generativa en Vertex AI, puedes usar la consola de Google Cloud para solicitar un aumento de la cuota. Para obtener más información sobre las cuotas, consulta Trabaja con cuotas.