Capítulo 3: ORPO y Otros Métodos
Optimización de Preferencias de Última Generación
ORPO combina SFT y la optimización de preferencias en una sola etapa.
ORPO (Odds Ratio Preference Optimization)
Innovación Clave
No se necesita un paso SFT separado—combina ambos objetivos:
from trl import ORPOTrainer, ORPOConfig
orpo_config = ORPOConfig(
beta=0.1,
learning_rate=8e-6,
num_train_epochs=1,
bf16=True,
)
trainer = ORPOTrainer(
model=model,
args=orpo_config,
train_dataset=dataset,
tokenizer=tokenizer,
)
Comparación de Métodos
| Método | Paso SFT | Paso de Preferencias | Complejidad |
|---|---|---|---|
| RLHF | Separado | PPO + Modelo de Recompensa | Alta |
| DPO | Separado | Optimización directa | Media |
| ORPO | Combinado | Combinado | Baja |
Otros Métodos
KTO (Kahneman-Tversky Optimization)
Utiliza retroalimentación binaria (bueno/malo) en lugar de preferencias.
IPO (Identity Policy Optimization)
Mejora DPO con una base teórica más sólida.
SimPO (Simple Preference Optimization)
Elimina la necesidad de un modelo de referencia.
Elección de un Método
| Escenario | Recomendado |
|---|---|
| Tiene pares de preferencias | DPO u ORPO |
| Solo retroalimentación binaria | KTO |
| Pipeline simple | ORPO |
| Máximo control | DPO |