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 o 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.

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.

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

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.

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 (versión preliminar), usa llama3-405b-instruct-maas.
  • Para Llama 3.1 70B (versión preliminar), usa llama3-70b-instruct-maas.
  • Para Llama 3.1 8B (versión preliminar), usa llama3-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 los modelos de socios. Para obtener más información, consulta Otorga los permisos necesarios.

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

    Go to project selector

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  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. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  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 user y assistant turnos alternativos. 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: 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 uso 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:

Haz una llamada unaria a un modelo de Llama

En el siguiente ejemplo, se realiza una llamada unario 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 user y assistant turnos alternativos. 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: 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 uso 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.

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 cuota Longitud de contexto compatible
us-central1 30 QPM 128,000 tokens

Llama 3.1 405B (versión preliminar)

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

Llama 3.1 70B (versión preliminar)

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

Llama 3.1 8B (versión preliminar)

Región Sistema de cuota 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.