Instrucción del sistema y de PaliGemma

En esta página, se describen el formato de las instrucciones del sistema y las instrucciones del sistema para los modelos de PaliGemma. Estas variantes de modelos de Gemma usan el mismo formato general que los modelos de Gemma foundation y también admiten una sintaxis especial para tareas específicas relacionadas con las imágenes.

Formato de la instrucción

Los modelos de PaliGemma usan el mismo formato de instrucción que los modelos de la fundación de Gemma en los que se basan. Sin embargo, los modelos de PaliGemma también admiten una sintaxis de tareas especial, que se describe en la siguiente sección. Para obtener más información sobre el formato de las instrucciones de Gemma, consulta Instrucciones del sistema y de la instrucción de Gemma.

Orden de los datos de imagen y texto

Cuando se solicitan modelos de PaliGemma con datos de texto e imagen, los datos de imagen siempre se deben proporcionar primero y, luego, los datos de instrucciones de texto después. Por lo general, invertir el orden de los datos de las instrucciones de imagen y texto, o mezclarlos, generará respuestas inutilizables.

Sintaxis de la tarea de instrucción

Los modelos de PaliGemma se entrenan con patrones y sintaxis de instrucciones específicas para tareas como la identificación de objetos y la creación de leyendas de imágenes. Puedes usar esta sintaxis de tarea de instrucción para solicitar un comportamiento específico de los modelos de PaliGemma, como sigue:

  • "cap {lang}\n": Es un subtítulo corto muy sin procesar (de WebLI-alt).
  • "caption {lang}\n": Subtítulos cortos y atractivos, similares a COCO
  • "describe {lang}\n": Son subtítulos más largos y descriptivos.
  • "ocr": Reconocimiento óptico de caracteres
  • "answer {lang} {question}\n": Respuesta a preguntas sobre el contenido de la imagen
  • "question {lang} {answer}\n": Generación de preguntas para una respuesta determinada
  • "detect {object} ; {object}\n": Ubica los objetos enumerados en una imagen y muestra los cuadros de límite de esos objetos.
  • "segment {object}\n": Ubica el área que ocupa el objeto en una imagen para crear una segmentación de imagen para ese objeto.

Las opciones {lang} son para los códigos de idioma. Con esta opción, PaliGemma admite el reconocimiento de 34 idiomas diferentes para las instrucciones de tareas. Puedes encontrar la lista de idiomas admitidos en GitHub.

Para ver ejemplos de código detallados que muestran cómo usar esta sintaxis, consulta el instructivo Genera resultados de PaliGemma con Keras.

Comandos de instrucciones por lotes

Puedes proporcionar más de un comando de instrucción dentro de un solo mensaje como un lote de instrucciones. Cada comando de instrucción debe terminar con un carácter \n. En el siguiente ejemplo, se muestra cómo estructurar el texto de la instrucción para proporcionar varias instrucciones.

prompts = [
    'answer en where is the cow standing?\n',
    'answer en what color is the cow?\n',
    'describe en\n',
    'detect cow\n',
    'segment cow\n',
]
images = [cow_image, cow_image, cow_image, cow_image, cow_image]
outputs = paligemma.generate(
    inputs={
        "images": images,
        "prompts": prompts,
    }
)
for output in outputs:
    print(output)

Instrucciones del sistema

Los modelos de PaliGemma no admiten instrucciones del sistema adicionales más allá de las instrucciones del sistema de Gemma de los modelos de base en los que se basan.