Estrategias Zero-Shot, One-Shot y Few-Shot
Exploración de la capacidad de los LLMs para aprender tareas nuevas mediante ejemplos dentro del contexto del prompt.
Estrategias de Aprendizaje en el Contexto (In-Context Learning)
Una de las capacidades más sorprendentes de los modelos de lenguaje modernos es su capacidad para aprender sin necesidad de reentrenamiento, simplemente observando ejemplos dentro del prompt. Esta capacidad se divide en tres categorías principales.
1. Zero-Shot Prompting
El prompting de disparo cero consiste en dar una instrucción al modelo sin ningún ejemplo previo de la tarea. Se apoya enteramente en el conocimiento pre-entrenado del modelo.
Ejemplo:
Extrae los nombres de las empresas mencionadas en el siguiente texto: 'Apple anunció nuevos iPhone, mientras que Microsoft lanzó una nueva versión de Windows'.
Ventajas: Es rápido y ahorra espacio en la ventana de contexto. Limitaciones: Puede fallar en formatos muy estrictos o tareas altamente especializadas.
2. One-Shot Prompting
Se utiliza cuando el modelo necesita una guía visual del formato de salida. Ayuda a reducir la ambigüedad.
Ejemplo:
Convierte lenguaje natural a JSON.
Entrada: El perro corre por el campo.
Salida: {"sujeto": "perro", "accion": "correr", "lugar": "campo"}
Entrada: El astronauta viaja hacia Marte.
Salida:
3. Few-Shot Prompting
Proporcionar múltiples ejemplos (generalmente entre 2 y 8) es la técnica más robusta para asegurar que el modelo siga patrones complejos. Es especialmente útil cuando el lenguaje es técnico o el estilo de respuesta debe ser idiosincrásico.
Consideraciones para Few-Shot:
- Consistencia: Los ejemplos deben seguir el mismo patrón estrictamente.
- Distribución: Si estás clasificando, proporciona ejemplos de todas las categorías posibles para evitar sesgos.
- Orden: El orden de los ejemplos puede influir en la respuesta final; es recomendable poner los más relevantes al final.
¿Cuándo usar cada una?
- Usa Zero-Shot para tareas comunes como resúmenes, traducciones simples o chat general.
- Usa One-Shot cuando tengas un formato de salida específico (como un esquema XML o JSON).
- Usa Few-Shot cuando el modelo falle consistentemente en las anteriores, o cuando trabajes con lógica compleja y razonamiento matemático simple.
Es fundamental recordar que cada ejemplo añadido consume tokens de la ventana de contexto. Por lo tanto, el objetivo es encontrar el número mínimo de ejemplos que garantice la máxima precisión.
Tarjeta práctica
Todo lo necesario para entender, aprender y aplicar este tema.
La ingeniería de prompts se basa en la capacidad de los LLMs para realizar In-Context Learning. Esto significa que el modelo puede ajustar su comportamiento basándose exclusivamente en las instrucciones y ejemplos proporcionados en la ventana de chat, sin necesidad de reentrenamiento.
Conceptos Clave
- Zero-Shot (Cero ejemplos): Es cuando le pides a la IA que realice una tarea sin darle ejemplos previos. Funciona gracias a que el modelo ya ha 'visto' conceptos similares en su entrenamiento masivo. Es ideal para tareas estándar como resúmenes o traducciones directas.
- One-Shot (Un ejemplo): Proporcionas un único par de ejemplo/respuesta antes de la tarea real. Esto ayuda a definir el formato y el tono que deseas, reduciendo la ambigüedad significativamente.
- Few-Shot (Pocos ejemplos): Ofreces entre 2 y 10 ejemplos. Es la estrategia más robusta para tareas complejas, clasificación de sentimientos bajo criterios específicos o extracción de datos en formatos JSON personalizados.
¿Por qué importa?
Dominar estas técnicas permite reducir el error de alucinación, asegurar que la salida sea procesable por otros sistemas y habilitar al modelo para resolver problemas lógicos que fallarían con una instrucción simple. Se aplica en la creación de clasificadores de tickets de soporte, generadores de código con estilos específicos y asistentes que deben imitar una voz de marca particular.