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 fundamentación y 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 le solicita a los modelos de PaliGemma datos de texto e imagen, los datos de imagen siempre se deben proporcionar primero y, luego, los datos de la instrucción de texto. 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 de la siguiente manera:
"cap {lang}\n"
: Es un subtítulo corto muy sin procesar (solo es compatible con PT)."caption {lang}\n"
: Subtítulos cortos"describe {lang}\n"
: Son subtítulos más largos y descriptivos (solo compatibles con PT)."ocr"
: Reconocimiento óptico de caracteres (solo es compatible con PT)"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 (solo se admite en PT)"detect {object} ; {object}\n"
: Ubica los objetos enumerados en una imagen y muestra los cuadros de límite de esos objetos."segment {object} ; {object}\n"
: Ubica el área que ocupan los objetos enumerados 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.
Instrucción con lenguaje natural
Aunque se recomienda la sintaxis de la sección anterior, los modelos mixtos también admiten lenguaje natural para muchas de las tareas. Por ejemplo, "describe esta imagen brevemente" o "¿qué es este texto?" seguirán funcionando, incluso si no se solicita la sintaxis exacta.
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.