Capítulo 3: ORPO e Outros Métodos
Otimização de Preferências de Ponta
ORPO combina SFT e otimização de preferências em uma única etapa.
ORPO (Odds Ratio Preference Optimization)
Inovação Principal
Não é necessário um passo SFT separado—combina ambos os 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,
)
Comparação de Métodos
| Método | Etapa SFT | Etapa de Preferência | Complexidade |
|---|---|---|---|
| RLHF | Separada | PPO + Modelo de Recompensa | Alta |
| DPO | Separada | Otimização direta | Média |
| ORPO | Combinada | Combinada | Baixa |
Outros Métodos
KTO (Kahneman-Tversky Optimization)
Utiliza feedback binário (bom/ruim) em vez de preferências.
IPO (Identity Policy Optimization)
Aprimora o DPO com melhor fundamentação teórica.
SimPO (Simple Preference Optimization)
Elimina a necessidade de modelo de referência.
Escolhendo um Método
| Cenário | Recomendado |
|---|---|
| Possui pares de preferência | DPO ou ORPO |
| Apenas feedback binário | KTO |
| Pipeline simples | ORPO |
| Máximo controle | DPO |