O que é
Durante uma execução de preferência, o treinador relata uma perda, por etapa ou por época, e às vezes também em pares retidos. Isso responde a uma pergunta: em média, com que grau de confiança a recompensa implícita do modelo classifica a resposta preferida acima da não preferida, em comparação com o ponto de partida do modelo?
Parece uma perda supervisionada, mas não significa a mesma coisa. A perda supervisionada é a entropia cruzada sobre tokens e pode começar em qualquer lugar, frequentemente acima de 1. A perda de DPO é uma perda de classificação por par com um valor inicial fixo e um piso de 0. As duas não são comparáveis.
Por que começa em 0,693
Na primeira etapa, o modelo em treinamento e o modelo de referência são idênticos. Cada razão logarítmica é 0, portanto, cada margem é 0, σ(0) = 0,5 e a perda é −ln 0,5 = ln 2 ≈ 0,693: a perda de um cara ou coroa. Isso vale para todos os conjuntos de dados e todos os modelos, o que o torna uma verificação de sanidade útil. Os primeiros valores registrados devem situar-se em 0,69 ou um pouco abaixo; um início muito distante disso geralmente significa que a referência não é o modelo inicial, ou que uma variante de perda diferente está em uso.
step 0: model = reference
every log-ratio = 0 → margin = 0
loss = −ln σ(0) = −ln 0.5 = ln 2 ≈ 0.693As formas a reconhecer
| O que você vê | O que geralmente significa | O que fazer |
|---|---|---|
| Permanece em torno de 0,6–0,7 | Os pares quase não alteraram o modelo. Comum com poucos pares, ou quando as duas respostas diferem apenas ligeiramente. | Adicione pares e torne a diferença entre as respostas mais clara; apenas então considere um β menor ou outra época. |
| Cai constantemente, ex. para 0,3 | O modelo está aprendendo a preferência. | Avalie em relação ao modelo inicial para verificar se as respostas realmente melhoraram. |
| Cai para perto de 0 muito rápido | Os pares são fáceis demais (a pior resposta é obviamente ruim) ou o modelo os está memorizando. | Use pares mais variados ou mais difíceis, menos épocas ou um β mais alto. |
| Sobe acima de 0,69 | Em média, o modelo agora classifica os pares de forma invertida, em comparação com o ponto de partida. | Verifique se as opções preferidas e não preferidas não estão trocadas; diminua a taxa de aprendizado. |
Traduzindo os números
Como a perda para um par é −ln σ(β × margem), cada valor corresponde a um nível de concordância entre o modelo e o rótulo:
| Perda | σ: concordância com o rótulo | β × margem |
|---|---|---|
| 0,693 | 0,50 (cara ou coroa) | 0 |
| 0,51 | 0,60 | 0,4 |
| 0,30 | 0,74 | 1,05 |
| 0,10 | 0,90 | 2,25 |
| 0,01 | 0,99 | 4,6 |
A perda relatada é uma média sobre os pares, de modo que um valor mediano pode ocultar uma divisão: a maioria dos pares aprendeu bem e alguns foram classificados de forma incorreta. É por isso que os treinadores frequentemente relatam a precisão de preferência (a proporção de pares classificados corretamente) e a margem de recompensa média juntamente com ela.
- Quatro pares encerram o treinamento com β × margem de 2,0, 2,0, 2,0 e −1,0.
- Suas perdas são 0,13, 0,13, 0,13 e 1,31.
- A média é 0,42, o que indica um progresso moderado. Na verdade, três pares foram aprendidos e um está firmemente classificado de forma incorreta. Vale a pena ler esse par: ele pode estar rotulado incorretamente.
O que a perda não pode lhe dizer
- Se as respostas melhoraram. A perda é calculada em pares fixos, não nas respostas que o modelo escreve. Um modelo pode separar seus pares perfeitamente e ainda assim responder pior a novas perguntas.
- Para qual direção as probabilidades se moveram. A perda cai se a resposta rejeitada se torna menos provável, mesmo quando a escolhida também se torna. Pesquisadores descobriram que a probabilidade da resposta escolhida frequentemente diminui durante o DPO (“deslocamento de probabilidade”), e a documentação da TRL observa que a lacuna geralmente é ampliada mais pela supressão de respostas rejeitadas do que pela elevação das preferidas.
- Se o sobreajuste prejudica. No relatório do Zephyr, a etapa de DPO sofreu um forte sobreajuste após uma época (precisão perfeita no conjunto de treinamento), mas isso não prejudicou os resultados de benchmark, e o melhor modelo veio de três épocas de DPO. No entanto, quando o modelo supervisionado foi treinado por mais de uma época, um treinamento de DPO mais longo causou uma regressão. As curvas de treinamento não conseguiram distinguir esses casos; as avaliações sim.
A precisão de tokens, mostrada para execuções supervisionadas, não é uma medida de aprendizado de preferência, portanto, não é mostrada para DPO.
Erros comuns
- Comparar uma perda de DPO com uma perda supervisionada. Fórmulas diferentes, escalas diferentes.
- Comparar perdas de DPO entre execuções com diferentes β.
- Comemorar uma perda próxima a 0. Com pares poucos ou fáceis, é o resultado esperado e, frequentemente, um sinal de memorização.
- Não perceber rótulos trocados. Uma perda que sobe acima de 0,69 geralmente significa que os lados preferido e não preferido foram invertidos em algum lugar.
- Parar na curva. Apenas uma avaliação contra o modelo inicial mostra se as respostas melhoraram.
Referências e leitura complementar
Fontes externas abrem em uma nova aba.
- 01Direct Preference Optimization: Your Language Model is Secretly a Reward ModelRafailov et al., 2023 · arXiv · arxiv.orgDefine a perda e explica como seu gradiente pondera cada par.
- 02DPO TrainerHugging Face TRL docs · huggingface.coLista o que um treinador DPO registra: perda, recompensas implícitas, margens e acurácias.
- 03Unintentional Unalignment: Likelihood Displacement in Direct Preference OptimizationRazin et al., 2024 · arXiv · arxiv.orgPor que a probabilidade da resposta preferida pode cair durante o DPO e quais pares causam isso.
- 04Zephyr: Direct Distillation of LM AlignmentTunstall et al., 2023 · arXiv · arxiv.orgUma execução prática de SFT seguida de DPO, incluindo o que o sobreajuste na etapa de DPO fez e não fez.