Direct Preference Optimization (DPO) permite que desenvolvedores façam o ajuste fino (fine-tune) de grandes modelos de linguagem sem treinar um modelo de recompensa separado ou executar um loop de aprendizado por reforço (RL), reduzindo tanto os custos de computação quanto a instabilidade que frequentemente assola os pipelines tradicionais de RL a partir de feedback humano (RLHF).

Por que o RL-from-Human-Feedback parece pesado

A receita padrão de RL-from-human-feedback (RLHF) possui três estágios. Primeiro, um modelo base é ajustado com um conjunto de dados curado. Em seguida, um modelo de recompensa aprende a prever a preferência humana entre pares de saídas. Por fim, os profissionais executam o Proximal Policy Optimization (PPO) – um algoritmo clássico de RL – para impulsionar a política em direção a recompensas previstas mais altas, mantendo-se próxima ao modelo original.

Essa configuração de três modelos ocupa a memória simultaneamente e força um loop de RL dispendioso que amostra novos textos a cada atualização. As equipes frequentemente observam a política aprender a "manipular" (game) a recompensa, produzindo saídas que obtêm boas pontuações no proxy, mas não atingem a qualidade pretendida. O resultado é um pipeline caro, frágil e difícil de escalar.

O atalho algébrico do DPO

O DPO pula inteiramente o modelo de recompensa. A observação principal é que o objetivo do RLHF – maximizar a recompensa esperada enquanto penaliza a divergência de um modelo de referência – possui uma expressão de forma fechada. Ao reorganizar a matemática, a recompensa para qualquer token torna-se a diferença entre a log-probabilidade atribuída pela política e aquela atribuída pelo modelo de referência.

Na prática, isso significa que a "recompensa" reside dentro da própria política. O treinamento reduz-se a uma única perda de classificação (classification loss) em pares de preferência: dada uma resposta escolhida e uma rejeitada, o modelo é induzido a atribuir uma probabilidade maior ao texto escolhido. Sem amostragem, sem atualizações de PPO, sem modelo extra para armazenar.

Como é a nova função de perda (loss)

A perda compara a log-probabilidade da resposta preferida sob a política atual com aquela sob o modelo de referência, escalonada por um hiperparâmetro semelhante à temperatura, β. Um β alto força a política a permanecer perto da referência, preservando a fluência e a segurança. Um β baixo permite que a política se desvie mais, acentuando sua preferência pela resposta escolhida.

Benefícios que importam para os desenvolvedores

  • Sem modelo de recompensa – elimina a necessidade de coletar feedback humano adicional para um preditor separado.
  • Sem amostragem durante o treinamento – o modelo nunca gera novos textos para calcular gradientes, reduzindo drasticamente o tempo de GPU.
  • Estabilidade – uma perda de entropia cruzada binária (binary-cross-entropy loss) padrão substitui os gradientes de RL de alta variância que frequentemente causam divergência.
  • Eficiência – um único passo de gradiente em cada par de preferência é suficiente; o treinamento converge em muito menos épocas do que o PPO.

Experimentos iniciais mostram o DPO igualando ou superando o desempenho do PPO em conjuntos de dados de preferência de referência (benchmarks), utilizando apenas uma fração do orçamento de computação. Essa vantagem de custo explica por que muitos projetos de código aberto já adotaram o DPO ou uma variante próxima como seu método de alinhamento padrão.

As compensações (trade-offs)

O DPO trabalha com um conjunto fixo de pares de preferência. Como ele nunca amostra novas conclusões durante o treinamento, não consegue explorar espaços de resposta que estavam ausentes nos dados originais. Em contraste, uma execução de PPO online pode descobrir comportamentos novos e de maior recompensa ao sondar o modelo constantemente.

Se o β for definido como muito baixo ou se o treinamento for executado por muitos passos, a política pode se desviar do modelo de referência o suficiente para perder a fluência ou introduzir artefatos indesejáveis.

Conclusão

O Direct Preference Optimization substitui a pilha de RLHF de três modelos e pesada em RL por uma única perda estável que aprende diretamente de pares de preferência humana. O resultado é um caminho mais barato e previsível para alinhar modelos de linguagem — desde que os dados de treinamento capturem os comportamentos necessários e você mantenha o parâmetro de desvio (drift) sob controle.