Escribir prompts efectivos para LLMs
Requiere algún experimento pero
Aún así, existen algunos enfoques comunes para escribir buenos prompts de manera que los modelos de lenguaje no se confundan al intentar entender lo que deseas.
Cómo mejorar el rendimiento de modelos de lenguaje usando técnicas de ingeniería de prompts
La ingeniería de prompts es una técnica poderosa utilizada en el procesamiento del lenguaje natural (NLP) para mejorar el rendimiento de los modelos de lenguaje proporcionándoles contexto adicional, orientación e información sobre la tarea en cuestión. Este artículo te guiará a través de varios métodos para crear prompts efectivos que puedan ayudar a tu modelo de NLP a generar salidas más precisas, relevantes y diversas.
Crear prompts efectivos
1. Sé claro y conciso
- Objetivo: Asegurar que tu prompt sea fácilmente comprensible para el modelo de lenguaje.
- Implementación: Evita usar jerga o términos técnicos que puedan confundir al modelo. Mantén las instrucciones directas y al punto.
2. Usa ejemplos específicos
- Objetivo: Ayudar al modelo a comprender mejor qué tipo de salida se espera.
- Implementación: Incluye ejemplos específicos en tu prompt, como configuraciones, personajes o detalles de la trama para tareas de generación de historias.
3. Varía los prompts
- Objetivo: Permitir que el modelo aprenda más sobre la tarea y produzca salidas diversas.
- Implementación: Experimenta con diferentes estilos, tonos y formatos para ver cómo responde el modelo.
4. Prueba y refina
- Objetivo: Validar la efectividad del prompt y hacer ajustes necesarios.
- Implementación: Después de crear un conjunto de prompts, pruébalos en tu modelo de lenguaje. Analiza los resultados y refina los prompts según la retroalimentación o métricas de rendimiento.
5. Usa retroalimentación
- Objetivo: Mejorar continuamente la calidad y relevancia de tus prompts.
- Implementación: Incorpora la retroalimentación del usuario o insights de otras fuentes para mejorar la efectividad de los prompts con el tiempo.
Instrucciones explícitas para mejores resultados
Ejemplo:
- Prompt: Explica las últimas novedades en modelos de lenguaje grandes para mí.
- Instrucciones: Siempre cite tus fuentes, nunca anteriores a 2020.
Estilización para estudiantes de nivel elemental
Explicación: Presenta conceptos complejos usando un lenguaje simple y ejemplos comprensibles adecuados para redes educativas infantiles.
Guías de formateo
Ejemplo:
{
"role": "sentiment_classifier",
"instructions": [
"Para cada mensaje, proporcione el porcentaje de sentimiento positivo, neutral y negativo.",
"Ejemplos: 'Me gustó' -> 70% positivo, 30% neutral; 'Podría ser mejor' -> 0% positivo, 50% neutral, 50% negativo"
],
"examples": [
{
"message": "Creí que estaba bien",
"sentimiento": [25%, 50%, 25%]
},
{
"message": "Me encantó!",
"sentimiento": [100%, 0%, 0%]
}
]
}
Prompts basados en roles
Ejemplo:
- Prompt: Eres un guía turístico virtual que actualmente está guiando a los turistas por la Torre Eiffel en un recorrido nocturno. Describe la Torre Eiffel a tu audiencia, cubriendo su historia, el número de visitantes que acuden cada año, la cantidad de tiempo que toma un recorrido completo y por qué tantas personas visitan este lugar anualmente.
Técnica de cadena de pensamiento
Ejemplo:
- Prompt: Eres un guía turístico virtual del año 1901. Tus turistas están visitando la Torre Eiffel.
- ¿Por qué fue construida?
- ¿Cuánto tiempo tomó construirla?
- ¿De dónde se obtuvieron los materiales para su construcción?
- ¿Cuál es el número anual de visitantes en la década de 1900?
- ¿Cuánto tiempo toma un recorrido completo y por qué tantas personas visitan este lugar cada año?
Consistencia interna
Ejemplo:
- Prompt: John encontró que el promedio de 15 números es 40. Si se le suma 10 a cada número, ¿cuál es el nuevo promedio?
- Instrucciones: Ejecuta el prompt varias veces y selecciona el valor más comúnmente devuelto como respuesta.
Generación con apoyo de recuperación
Ejemplo:
Dada la siguiente información sobre temperaturas en Menlo Park:
-
2023-12-11: 52 grados Fahrenheit
-
2023-12-12: 51 grados Fahrenheit
-
2023-12-13: 55 grados Fahrenheit
-
Prompt: ¿Cuál fue la temperatura en Menlo Park el 12 de diciembre de 2023?
Modelos de lenguaje asistidos por programas
Ejemplo:
- Prompt: Calcula: ((-5 + 93 * 4 - 0) * (4^4 + -7 + 0 * 5))
Limitar tokens innecesarios
Ejemplo:
- Prompt: Eres un robot que solo genera JSON.
- Instrucciones: Tu respuesta debe incluir el campo ‘zip_code’.
- Pregunta de ejemplo: ¿Cuál es el código postal de Menlo Park?
- Respuesta esperada: {“zip_code”: “94025”}
Reducir alucinaciones
Ejemplo 1:
- Prompt: Explica el concepto de computación cuántica a un estudiante de secundaria.
- Instrucciones: Proporciona explicaciones simples y evita el uso de jerga compleja.
Ejemplo 2:
- Prompt: Escribe un correo electrónico a tu jefe solicitando una reunión sobre el progreso del proyecto.
- Instrucciones: Usa un lenguaje profesional, mantén un tono formal e incluye detalles específicos sobre el estado del proyecto.
Ejemplo 3:
- Prompt: Genera un poema sobre la naturaleza.
- Instrucciones: Enfócate en el lenguaje descriptivo e imágenes relacionadas con elementos naturales.
Conclusión
Siguiendo estas pautas para la ingeniería de prompts, puedes mejorar significativamente el rendimiento de tus modelos de NLP. Ya sea a través de instrucciones claras, ejemplos específicos o prompts basados en roles, cada técnica juega un papel crucial en guiar al modelo hacia salidas más precisas y relevantes.
Enlaces útiles
- Prueba: Cómo Ollama está utilizando el rendimiento de los núcleos de CPU de Intel y núcleos eficientes
- Cómo Ollama maneja solicitudes en paralelo
- Comparación de velocidad de LLM
- Comparación de capacidad de resumen de LLM
- Detección de falacias lógicas con LLM
- Meta / llama3: https://llama.meta.com/docs/overview
- Mover la carpeta de modelos de Ollama a una ubicación diferente
- Comparación de LLM: Mistral Small, Gemma 2, Qwen 2.5, Mistral Nemo, LLama3 y Phi
- Hoja de trucos de Conda
- Hoja de trucos de Ollama
- Hoja de trucos de Docker
- Hoja de trucos de Markdown