Direct Preference Optimization (DPO) (ES)
Direct Preference Optimization (DPO) es un método para alinear grandes modelos de lenguaje (LLM) con las preferencias humanas, propuesto como una alternativa más simple y estable al Aprendizaje por Refuerzo con Retroalimentación Humana (RLHF). El método fue presentado en 2023 por un grupo de investigadores de la Universidad de Stanford, liderado por Rafael Rafailov[1].
La diferencia clave de DPO es que optimiza directamente el modelo de lenguaje para que coincida con las preferencias humanas, evitando el entrenamiento explícito de un modelo de recompensa (reward model) por separado y la compleja etapa de aprendizaje por refuerzo (RL), lo que hace que el proceso de ajuste de los LLM sea significativamente más simple, rápido y estable[2].
Antecedentes: Limitaciones de RLHF
El método estándar de Reinforcement Learning from Human Feedback (RLHF) consta de tres etapas principales:
- Supervised Fine-Tuning (SFT): Ajuste fino supervisado del modelo con ejemplos de alta calidad.
- Entrenamiento del modelo de recompensa: Creación de un modelo separado que aprende a asignar una "calificación" a las respuestas basándose en comparaciones por pares proporcionadas por humanos (por ejemplo, la respuesta A es mejor que la respuesta B).
- Optimización de la política mediante RL: Reentrenamiento del modelo principal utilizando algoritmos de RL (como PPO) para que genere respuestas que maximicen la calificación del modelo de recompensa.
A pesar de su eficacia, RLHF es un proceso complejo, costoso e inestable. Es susceptible a problemas como el reward hacking (cuando el modelo "engaña" al modelo de recompensa) y requiere un ajuste cuidadoso de numerosos hiperparámetros[1]. DPO fue desarrollado para superar estas limitaciones.
Principio de funcionamiento de DPO
El método DPO reemplaza el pipeline multietapa de RLHF con una única fase de entrenamiento, que puede considerarse como un ajuste fino supervisado.
- Recopilación de datos de preferencias. Al igual que en RLHF, se recopila un conjunto de datos donde para cada consulta `x` hay dos respuestas: una preferida (`y_w`, winning) y una rechazada (`y_l`, losing).
- Optimización directa. En lugar de entrenar un modelo de recompensa, DPO utiliza directamente estos datos para actualizar el propio modelo de lenguaje. El objetivo de la optimización es aumentar la probabilidad de generar la respuesta preferida `y_w` y, al mismo tiempo, disminuir la probabilidad de generar la respuesta rechazada `y_l`.
Matemáticamente, esto se reduce a minimizar una función de pérdida basada en la regresión logística aplicada a la diferencia de las probabilidades logarítmicas de las respuestas. Para evitar que el modelo "olvide" su conocimiento inicial, DPO, al igual que RLHF, utiliza un modelo de referencia (reference model, generalmente la versión SFT) para la regularización, evitando que se desvíe demasiado de la distribución de respuestas original[2].
Ventajas en comparación con RLHF
- Simplicidad y estabilidad: DPO elimina la necesidad de entrenar un modelo de recompensa por separado y la compleja configuración del RL. El proceso se vuelve más simple, predecible y menos propenso a errores[3].
- Eficiencia y velocidad: La eliminación de dos etapas reduce significativamente los costos computacionales (horas de GPU) y el tiempo necesario para ajustar el modelo. Según algunas estimaciones, DPO es entre un 50% y un 60% más económico que RLHF[4].
- Calidad de los resultados: Los experimentos han demostrado que DPO no es inferior a RLHF en calidad y, en algunas tareas, como el control del tono de la respuesta, incluso lo supera. Los modelos entrenados con DPO muestran una mejor alineación con las preferencias humanas[1].
- Ausencia de degradación de habilidades básicas: El ajuste con DPO tiene un impacto mínimo en las capacidades generales del modelo (por ejemplo, conocimiento factual o lógica), a diferencia de RLHF, que a veces puede deteriorar las métricas de base[5].
Aplicación y difusión
Gracias a su eficiencia y simplicidad, DPO ha ganado rápidamente una amplia adopción. Ha sido implementado en bibliotecas de código abierto líderes como Hugging Face TRL y OpenRLHF.
Muchos modelos abiertos exitosos han sido ajustados con DPO, incluyendo Zephyr-7B y TÜLU 2. Estos modelos han demostrado un alto rendimiento en benchmarks de evaluación de la calidad de respuesta, confirmando la eficacia de DPO para modelos a gran escala[5].
Los líderes de la industria también han integrado DPO en sus plataformas. Por ejemplo, Microsoft ha agregado soporte para el ajuste fino con DPO en su servicio Azure OpenAI, permitiendo a los usuarios personalizar modelos, incluido GPT-4, con sus propios datos de preferencias[6].
Limitaciones
A pesar de sus ventajas, DPO hereda algunas limitaciones del enfoque de aprendizaje basado en preferencias:
- Sensibilidad a los datos: La calidad y diversidad de los datos de preferencias recopilados son de importancia crítica. Si los datos están sesgados (por ejemplo, contienen solo un idioma o estilo), el modelo puede sobreajustarse y ver reducido su rendimiento en otras áreas[7].
- Carácter estático del entrenamiento: Al igual que RLHF, DPO se entrena con un conjunto de datos estático y no implica una interacción dinámica con el entorno. Este método es adecuado para la alineación en un solo paso, pero no para tareas que requieren aprendizaje a través de acciones secuenciales.
Enlaces
- Documentación de DPO en la biblioteca Hugging Face TRL
- Análisis comparativo de RLHF y DPO en ICLR 2024 Blogposts
Bibliografía
- Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
- Hong, J.; Lee, N.; Thorne, J. (2024). ORPO: Monolithic Preference Optimization without Reference Model. arXiv:2403.07691.
- Sun, L. et al. (2025). BPO: Revisiting Preference Modeling in Direct Preference Optimization. arXiv:2506.03557.
- Yin, Y. et al. (2024). Self-Augmented Preference Optimization: Off-Policy Paradigms for Language Model Alignment. arXiv:2405.20830.
- Wu, Y. et al. (2024). Self-Play Preference Optimization for Language Model Alignment. arXiv:2405.00675.
- Li, P. et al. (2024). ROPO: Robust Preference Optimization for Large Language Models. arXiv:2404.04102.
- Tunstall, L. et al. (2023). Zephyr: Direct Distillation of LM Alignment. arXiv:2310.16944.
- Wu, F. et al. (2023). Diffusion-DPO: Diffusion Model Alignment Using Direct Preference Optimization. arXiv:2311.12908.
- Lee, H. et al. (2023). RLAIF vs. RLHF: Scaling Reinforcement Learning from Human Feedback with AI Feedback. arXiv:2309.00267.
- Rafailov, R.; Sharma, A.; Mitchell, E.; Manning, C. D.; Finn, C. (2024). Direct Preference Optimization (v3): Enhanced Experiments and Analysis. arXiv:2305.18290v3.
Referencias
- ↑ 1.0 1.1 1.2 Rafailov, R., et al. «Direct Preference Optimization: Your Language Model is Secretly a Reward Model». arXiv:2305.18290. [1]
- ↑ 2.0 2.1 «Simplifying Alignment: From RLHF to Direct Preference Optimization (DPO)». Hugging Face Blog. [2]
- ↑ «What is direct preference optimization (DPO)?». SuperAnnotate Blog. [3]
- ↑ «RLHF vs DPO: A Closer Look into the Process and Methodology». Arbisoft Blog. [4]
- ↑ 5.0 5.1 «RLHF without RL - Direct Preference Optimization». ICLR Blogposts 2024. [5]
- ↑ «Direct preference optimization». Azure OpenAI | Microsoft Learn. [6]
- ↑ «Direct Preference Optimization (DPO): A Lightweight Counterpart to RLHF». Toloka AI Blog. [7]