Treinamento DPO
A Otimização Direta de Preferências alinha modelos com preferências humanas sem modelagem de recompensa.O que é DPO?
DPO (Direct Preference Optimization) é uma alternativa mais simples ao RLHF. Em vez de treinar um modelo de recompensa separado, o DPO otimiza diretamente o modelo para preferir respostas escolhidas sobre rejeitadas.Início Rápido
Python API
Formato dos Dados
DPO requer pares de preferência: um prompt com respostas escolhida e rejeitada.Múltiplas Voltas
Parâmetros
Beta
O parâmetro beta controla o quanto o modelo pode se desviar da referência:0.01-0.05: Otimização agressiva (pode sobreajustar)0.1: Padrão (recomendado)0.5-1.0: Conservador (permanece próximo à referência)
Modelo de Referência
Quandomodel_ref é None (o padrão), o DPO usa o modelo inicial como referência. Você pode especificar um diferente:
Dicas de Treinamento
Use LoRA
DPO funciona bem com LoRA:Taxa de Aprendizado Mais Baixa
DPO é sensível à taxa de aprendizado:Menos Épocas
DPO tipicamente precisa de menos épocas:Exemplo: Assistente Útil
Criar um assistente mais útil:DPO vs ORPO
Coletando Dados de Preferência
Anotação Humana
- Gere múltiplas respostas por prompt
- Tenha anotadores classificando respostas
- Crie pares escolhido/rejeitado
LLM como Juiz
Próximos Passos
ORPO Training
SFT + alinhamento combinado
Reward Modeling
Treinar modelos de recompensa