Direct Preference Optimization (DPO) (PT)
Direct Preference Optimization (DPO) — é um método para alinhar grandes modelos de linguagem (LLMs) com as preferências humanas, proposto como uma alternativa mais simples e estável à Aprendizagem por Reforço com Feedback Humano (RLHF). O método foi apresentado em 2023 por um grupo de pesquisadores da Universidade de Stanford, liderado por Rafael Rafailov[1].
A principal diferença do DPO é que ele otimiza diretamente o modelo de linguagem para corresponder às preferências humanas, evitando o treinamento explícito de um modelo de recompensa (reward model) separado e a complexa etapa de aprendizagem por reforço (RL). Isso torna o processo de ajuste fino de LLMs significativamente mais simples, rápido e estável[2].
Contexto: Limitações do RLHF
O método padrão de Reinforcement Learning from Human Feedback (RLHF) consiste em três etapas principais:
- Ajuste Fino Supervisionado (SFT): Um ajuste fino básico do modelo com exemplos de alta qualidade.
- Treinamento do modelo de recompensa: A criação de um modelo separado que aprende a atribuir uma "pontuação" às respostas com base em comparações pareadas fornecidas por humanos (por exemplo, a resposta A é melhor que a resposta B).
- Otimização da política com RL: O ajuste fino do modelo principal usando algoritmos de RL (por exemplo, PPO) para que ele gere respostas que maximizem a pontuação do modelo de recompensa.
Apesar de sua eficácia, o RLHF é um processo complexo, caro e instável. Ele está sujeito a problemas como o reward hacking (quando o modelo "engana" o modelo de recompensa) e exige um ajuste cuidadoso de múltiplos hiperparâmetros[1]. O DPO foi desenvolvido para superar essas limitações.
Princípio de Funcionamento do DPO
O método DPO substitui o pipeline de múltiplas etapas do RLHF por uma única etapa de treinamento, que pode ser vista como um ajuste fino supervisionado.
- Coleta de dados de preferência. Assim como no RLHF, é coletado um conjunto de dados onde, para cada prompt `x`, existem duas respostas: uma preferida (`y_w`, winning) e uma rejeitada (`y_l`, losing).
- Otimização direta. Em vez de treinar um modelo de recompensa, o DPO utiliza esses dados diretamente para atualizar o próprio modelo de linguagem. O objetivo da otimização é aumentar a probabilidade de gerar a resposta preferida `y_w` e, ao mesmo tempo, diminuir a probabilidade de gerar a resposta rejeitada `y_l`.
Matematicamente, isso se resume a minimizar uma função de perda baseada na regressão logística aplicada à diferença das probabilidades logarítmicas das respostas. Para que o modelo não "esqueça" seu conhecimento original, o DPO, assim como o RLHF, utiliza um modelo de referência (reference model, geralmente a versão SFT) para regularização, evitando um desvio muito grande da distribuição original de respostas[2].
Vantagens em Comparação com o RLHF
- Simplicidade e estabilidade: O DPO elimina a necessidade de treinar um modelo de recompensa separado e a configuração complexa do RL. O processo se torna mais simples, previsível e menos propenso a erros[3].
- Eficiência e velocidade: A exclusão de duas etapas reduz significativamente os custos computacionais (horas de GPU) e o tempo necessário para ajustar o modelo. Segundo algumas estimativas, o DPO é 50-60% mais econômico que o RLHF[4].
- Qualidade dos resultados: Experimentos mostraram que o DPO não é inferior ao RLHF em qualidade e, em algumas tarefas, como o controle do tom da resposta, chega a superá-lo. Modelos treinados com DPO demonstram melhor alinhamento com as preferências humanas[1].
- Ausência de degradação das habilidades básicas: O ajuste fino com DPO afeta minimamente as capacidades gerais do modelo (por exemplo, conhecimento factual ou lógica), ao contrário do RLHF, que às vezes pode piorar as métricas básicas[5].
Aplicação e Adoção
Graças à sua eficiência e simplicidade, o DPO rapidamente ganhou ampla adoção. Foi implementado nas principais bibliotecas de código aberto, como a Hugging Face TRL e a OpenRLHF.
Muitos modelos abertos de sucesso foram ajustados com DPO, incluindo o Zephyr-7B e o TÜLU 2. Esses modelos mostraram alto desempenho em benchmarks de avaliação da qualidade das respostas, confirmando a eficácia do DPO para modelos de grande escala[5].
Líderes da indústria também integraram o DPO em suas plataformas. Por exemplo, a Microsoft adicionou suporte ao ajuste fino com DPO em seu serviço Azure OpenAI, permitindo que os usuários personalizem modelos, incluindo o GPT-4, com seus próprios dados de preferência[6].
Limitações
Apesar de suas vantagens, o DPO herda algumas limitações da própria abordagem de treinamento baseada em preferências:
- Sensibilidade aos dados: A qualidade e a diversidade dos dados de preferência coletados são cruciais. Se os dados forem tendenciosos (por exemplo, contiverem apenas um idioma ou estilo), o modelo pode sofrer overfitting e ter seu desempenho prejudicado em outras áreas[7].
- Treinamento estático: Assim como o RLHF, o DPO é treinado em um conjunto de dados estático e não prevê interação dinâmica com o ambiente. Este método é adequado para alinhamento em uma única etapa, mas não para tarefas que exigem aprendizado por meio de ações sequenciais.
Links
- Documentação do DPO na biblioteca Hugging Face TRL
- Análise comparativa de RLHF e DPO no ICLR 2024 Blogposts
Literatura
- 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.
Notas
- ↑ 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]