Entrenamiento DPO
La Optimización Directa de Preferencias alinea modelos con preferencias humanas sin modelado de recompensas.¿Qué es DPO?
DPO (Direct Preference Optimization) es una alternativa más simple a RLHF. En lugar de entrenar un modelo de recompensa separado, DPO optimiza directamente el modelo para preferir respuestas elegidas sobre rechazadas.Inicio Rápido
Python API
Formato de Datos
DPO requiere pares de preferencia: un prompt con respuestas elegida y rechazada.Múltiples Turnos
Parámetros
Beta
El parámetro beta controla cuánto puede desviarse el modelo de la referencia:0.01-0.05: Optimización agresiva (puede sobreajustar)0.1: Estándar (recomendado)0.5-1.0: Conservador (permanece cerca de la referencia)
Modelo de Referencia
Cuandomodel_ref es None (el defecto), DPO usa el modelo inicial como referencia. Puedes especificar uno diferente:
Consejos de Entrenamiento
Usa LoRA
DPO funciona bien con LoRA:Tasa de Aprendizaje Más Baja
DPO es sensible a la tasa de aprendizaje:Menos Épocas
DPO típicamente necesita menos épocas:Ejemplo: Asistente Útil
Crear un asistente más útil:DPO vs ORPO
Recolectando Datos de Preferencia
Anotación Humana
- Genera múltiples respuestas por prompt
- Ten anotadores clasificando respuestas
- Crea pares elegido/rechazado
LLM como Juez
Próximos Pasos
ORPO Training
SFT + alineación combinado
Reward Modeling
Entrenar modelos de recompensa