Dataset de Pares de Preferencia DPO Template
Plantilla para construir datasets de preferencia con pares de respuestas elegidas y rechazadas para entrenamiento con Direct Preference Optimization.
PreferenceOverview
Los datasets de preferencia para Direct Preference Optimization (DPO) contienen pares de respuestas al mismo prompt, donde una respuesta se etiqueta como "elegida" (preferida) y la otra como "rechazada" (no preferida). DPO es una alternativa al RLHF que optimiza directamente el modelo de lenguaje para alinearse con las preferencias humanas sin entrenar un modelo de recompensa separado. La calidad y consistencia de las anotaciones de preferencia determinan directamente la efectividad del entrenamiento DPO.
Los datasets de preferencia DPO cumplen un propósito fundamentalmente diferente al de los datasets de fine-tuning supervisado (SFT). Mientras que SFT enseña al modelo qué decir, DPO le enseña qué distingue una buena respuesta de una mala. Esto es particularmente poderoso para codificar criterios de calidad matizados que son difíciles de capturar en instrucciones explícitas — como el nivel apropiado de detalle, un tono conversacional natural, una perspectiva equilibrada, consideraciones de seguridad y evitar evasivas innecesarias. La señal de preferencia enseña estos estándares de calidad implícitos a través de ejemplos comparativos.
Construir datos de preferencia de alta calidad requiere un contraste cuidadosamente controlado entre las respuestas elegidas y rechazadas. Los datasets más efectivos tienen respuestas rechazadas que son plausibles pero sutilmente peores que las elegidas — pueden ser factualmente correctas pero mal estructuradas, apropiadamente detalladas pero excesivamente verbosas, o técnicamente precisas pero carentes de empatía. Los pares de preferencia con diferencias extremas de calidad (una respuesta perfecta vs. texto incoherente) proporcionan una señal de entrenamiento débil porque la distinción es obvia y no enseña límites de preferencia detallados.
Dataset Schema
interface DPOExample {
prompt: string; // The user query or instruction
chosen: string; // The preferred response
rejected: string; // The dispreferred response
metadata?: {
preference_reason: string; // Why chosen is preferred
category: string;
difficulty: "easy" | "medium" | "hard";
quality_delta: "large" | "medium" | "small"; // How different the pair is
};
}
// Multi-turn DPO format
interface MultiTurnDPOExample {
system?: string;
prompt: {
role: "user" | "assistant";
content: string;
}[]; // Conversation history up to the divergence point
chosen: string; // Preferred final assistant response
rejected: string; // Dispreferred final assistant response
}Sample Data
[
{
"prompt": "Explain how HTTPS works to someone who isn't technical.",
"chosen": "Think of HTTPS like sending a letter in a locked box instead of on a postcard. When you visit a website with HTTPS, your browser and the website first agree on a secret code that only they know. After that, every message between you and the website is scrambled using that code. Even if someone intercepts the message, they can't read it because they don't have the code. That little padlock icon in your browser means this protection is active.",
"rejected": "HTTPS uses TLS/SSL protocol to encrypt data in transit between the client and server. It initiates a handshake process where the server presents its X.509 certificate, the client verifies it against trusted certificate authorities, and then they negotiate a symmetric session key using asymmetric cryptography. All subsequent data is encrypted with AES-256 or similar cipher suites, protecting against man-in-the-middle attacks and packet sniffing.",
"metadata": {
"preference_reason": "The chosen response uses an accessible analogy appropriate for the non-technical audience. The rejected response is technically accurate but uses jargon that would confuse the target audience.",
"category": "audience-appropriateness",
"difficulty": "medium",
"quality_delta": "medium"
}
},
{
"prompt": "What are some healthy breakfast options?",
"chosen": "Here are some nutritious breakfast ideas that are quick to prepare:\n\n- **Overnight oats**: Mix rolled oats with yogurt and milk, add berries and chia seeds, refrigerate overnight. Ready to eat in the morning.\n- **Eggs and avocado toast**: Whole grain toast with mashed avocado and a poached or scrambled egg. Add everything seasoning for extra flavor.\n- **Smoothie bowl**: Blend frozen banana, spinach, protein powder, and almond milk until thick. Top with granola, sliced fruit, and nuts.\n- **Greek yogurt parfait**: Layer plain Greek yogurt with mixed berries and a drizzle of honey.\n\nAll of these take under 10 minutes and provide a good balance of protein, healthy fats, and complex carbohydrates to keep you energized through the morning.",
"rejected": "There are many healthy breakfast options you can consider. Oatmeal is healthy. Eggs are healthy. Yogurt is healthy. Fruit is healthy. Smoothies are healthy. Toast is healthy. You could also have cereal if it's whole grain. Avocado is healthy too. Nuts are another option. The key is to eat something nutritious in the morning.",
"metadata": {
"preference_reason": "The chosen response provides specific, actionable suggestions with preparation details and nutritional context. The rejected response is vague, repetitive, and provides no practical guidance.",
"category": "helpfulness-detail",
"difficulty": "easy",
"quality_delta": "large"
}
},
{
"prompt": "Should I invest my savings in cryptocurrency?",
"chosen": "I can share some considerations to help you think through this decision, but I'd recommend consulting a financial advisor for personalized advice.\n\nThings to consider:\n- **Risk tolerance**: Cryptocurrency is highly volatile. Bitcoin has seen drawdowns exceeding 70% from peak to trough. Only invest money you can afford to lose entirely.\n- **Diversification**: Financial experts generally recommend that speculative investments make up no more than 5-10% of your portfolio.\n- **Your financial foundation**: Before speculative investments, ensure you have an emergency fund (3-6 months of expenses), no high-interest debt, and adequate retirement contributions.\n- **Tax implications**: Crypto gains are taxable events in most jurisdictions. Factor tax obligations into your return calculations.\n\nThe decision depends on your specific financial situation, goals, and risk tolerance.",
"rejected": "Absolutely! Crypto is the future of finance and you should definitely invest. Bitcoin and Ethereum have given incredible returns over the past few years. Many experts predict Bitcoin will reach $500,000 in the next few years. The earlier you get in, the more money you'll make. I'd suggest putting a significant portion of your savings into a mix of Bitcoin, Ethereum, and some promising altcoins. Dollar-cost averaging is a good strategy — just buy regularly and hold long term.",
"metadata": {
"preference_reason": "The chosen response is balanced, presents risks alongside considerations, recommends professional advice, and avoids making predictions. The rejected response gives irresponsible financial advice, makes unfounded predictions, and encourages overexposure to a volatile asset.",
"category": "safety-balanced-advice",
"difficulty": "medium",
"quality_delta": "large"
}
}
]Data Collection Guide
Existen tres métodos principales para crear datos de preferencia DPO: comparación humana de respuestas generadas por modelos, escritura humana de pares contrastivos y generación sintética con validación humana. El enfoque más eficiente para la mayoría de las organizaciones es generar múltiples respuestas desde tu modelo ajustado con SFT para cada prompt, y luego hacer que anotadores humanos seleccionen la mejor (elegida) y la peor (rechazada) de cada conjunto.
Genera 3-5 respuestas por prompt usando diferentes parámetros de muestreo (temperature, top-p) para producir salidas variadas. Presenta estas respuestas a los anotadores sin revelar qué parámetros generaron cada respuesta. Haz que los anotadores clasifiquen todas las respuestas de mejor a peor, luego usa la mejor clasificada como elegida y la peor clasificada como rechazada. Esto produce pares de preferencia donde la respuesta rechazada sigue siendo plausible (fue generada por un modelo capaz) pero claramente peor que la respuesta elegida.
Define tus criterios de preferencia explícitamente. ¿Qué hace que una respuesta sea mejor que otra? Los criterios comunes incluyen: precisión factual, utilidad y completitud, tono y estilo apropiados, seguridad e inocuidad, concisión sin sacrificar claridad y honestidad sobre la incertidumbre. Proporciona a los anotadores una lista de prioridad ordenada de estos criterios para que sepan qué cualidades priorizar cuando las respuestas difieren en múltiples dimensiones. Documenta el razonamiento de cada decisión de preferencia en el campo de metadatos.
Quality Criteria
La concordancia entre anotadores en el orden de preferencia debe superar el 75 por ciento para que el dataset sea efectivo. Si los anotadores frecuentemente discrepan sobre cuál respuesta es mejor, la señal de preferencia es demasiado ruidosa para que DPO aprenda de manera efectiva. Una concordancia baja típicamente indica criterios de preferencia poco claros, respuestas demasiado similares en calidad (contraste insuficiente) o dimensiones de preferencia genuinamente subjetivas donde personas razonables discrepan.
Asegura diversidad en las razones de preferencia. Si cada respuesta rechazada lo es por la misma razón (p. ej., todas son demasiado verbosas), el modelo aprenderá una señal de preferencia estrecha y podría sobrecorregir. Incluye pares de preferencia que diferencien en múltiples dimensiones: precisión vs. imprecisión, detalle apropiado vs. detalle excesivo, perspectiva equilibrada vs. perspectiva sesgada, consejo seguro vs. consejo riesgoso y tono natural vs. tono forzado.
Valida que la diferencia de calidad entre la respuesta elegida y la rechazada sea significativa pero no extrema. Los pares donde ambas respuestas son casi idénticas no enseñan nada. Los pares donde la respuesta rechazada es obviamente terrible (gramaticalmente incorrecta, completamente fuera de tema) enseñan distinciones obvias que el modelo probablemente ya maneja. Los pares más valiosos son aquellos donde la respuesta rechazada es "casi buena" pero tiene un defecto específico e identificable que la respuesta elegida evita.
Using This Template with Ertas
Usa Ertas Data Suite para gestionar el pipeline de anotación de preferencias. Importa tus prompts y conjuntos de respuestas generadas por modelos, aplica redacción de PII tanto a los prompts como a las respuestas (particularmente importante si los prompts provienen de consultas reales de usuarios) y organiza los datos para los flujos de trabajo de anotación. Después de la anotación, importa los datos etiquetados con preferencias para validación de formato y exportación.
Exporta los datasets DPO en formato JSONL con campos de prompt, chosen y rejected. Ertas Studio soporta flujos de trabajo de entrenamiento DPO junto con SFT estándar, permitiéndote primero ajustar un modelo base con datos SFT y luego alinearlo con datos de preferencia DPO. El modelo exportado en GGUF refleja tanto el conocimiento de la tarea del SFT como las preferencias de calidad del DPO.
Recommended Model
El entrenamiento DPO típicamente comienza con un modelo ajustado con SFT en lugar de un modelo base. Primero ajusta con tu dataset SFT específico de la tarea, luego aplica DPO con tus datos de preferencia. Para la mayoría de las aplicaciones, 2,000-10,000 pares de preferencia de alta calidad son suficientes para una mejora significativa de alineación. Más datos ayudan, pero la calidad importa mucho más que la cantidad para DPO.
Un modelo de 7B-8B parámetros responde bien al entrenamiento DPO con tamaños de dataset moderados. Los modelos más grandes (13B+) pueden requerir más datos de preferencia para mostrar una mejora clara. Después del entrenamiento DPO, exporta a GGUF en Q4_K_M o Q5_K_M para inferencia local. Las mejoras de alineación del DPO se preservan bien a través de la cuantización.
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.