Ultralytics YOLO27:
Licencia YOLO
Volver al glosario de Ultralytics

Direct Preference Optimization

La optimización directa de preferencias (DPO) alinea un modelo de lenguaje con pares de respuestas preferidas y rechazadas mediante una sola función de pérdida, sin un modelo de recompensa ni RL.

La optimización directa de preferencias (DPO) es un método para alinear un modelo de lenguaje grande (LLM) con las preferencias humanas, entrenándolo directamente con pares de respuestas, una preferida y otra rechazada, mediante una función de pérdida de tipo clasificación. Alcanza el objetivo del aprendizaje por refuerzo a partir de comentarios humanos (RLHF) sin un modelo de recompensa aparte ni un ciclo de aprendizaje por refuerzo que genere muestras del modelo durante el entrenamiento. Rafael Rafailov, Archit Sharma, Eric Mitchell, Stefano Ermon, Christopher Manning y Chelsea Finn, de Stanford, la presentaron en 2023 en Direct Preference Optimization: Your Language Model is Secretly a Reward Model, presentado en NeurIPS 2023. La idea clave es que el modelo de lenguaje que se está entrenando define su propia recompensa implícita, por lo que el modelo de recompensa y la política se ajustan en un solo paso.

Cómo funciona DPO#

Cada ejemplo de entrenamiento es una indicación con una respuesta elegida y otra rechazada, etiquetadas por personas o por otro modelo. El entrenamiento parte de un modelo que ya ha pasado por un ajuste fino supervisado, normalmente un ajuste con instrucciones, y conserva una copia congelada como referencia. Para cada respuesta, DPO compara la log-probabilidad según el modelo que se está entrenando con la log-probabilidad según el modelo de referencia. La recompensa implícita de una respuesta es β multiplicado por ese logaritmo de la razón, y la pérdida es el logaritmo negativo de la sigmoide de la recompensa de la respuesta elegida menos la recompensa de la respuesta rechazada. Al minimizarla, aumenta la probabilidad de la respuesta elegida respecto a la rechazada, con actualizaciones mayores para los pares que el modelo todavía ordena incorrectamente.

El coeficiente β desempeña el papel de la penalización KL en RLHF. Rafailov et al. demostraron que la maximización de recompensa con restricción KL utilizada en RLHF tiene una política óptima de forma cerrada: las probabilidades de referencia reponderadas por la exponencial de la recompensa dividida por β; después, reorganizaron esa fórmula para expresar la recompensa mediante la propia política. Cuanto menor sea β, más puede alejarse el modelo de la referencia durante el entrenamiento.

Este ejemplo de PyTorch ejecuta diez pasos de DPO en GPT-2 de Hugging Face Transformers con dos pares de preferencias de atención al cliente y, después, comprueba un tercer par con el que el modelo nunca se ha entrenado:

import copy

import torch
import torch.nn.functional as F
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
policy = AutoModelForCausalLM.from_pretrained("gpt2")
reference = copy.deepcopy(policy).requires_grad_(False)  # frozen copy of the starting model
optimizer = torch.optim.Adam(policy.parameters(), lr=1e-5)

# Preference pairs: (prompt, chosen reply, rejected reply)
train = [
    ("My order arrived broken.", " Sorry about that, we will send a replacement today.", " That is not our problem."),
    ("I was charged twice.", " Sorry for the trouble, we have refunded the extra charge.", " Check your bank again."),
]
held_out = ("My package is a week late.", " Sorry for the delay, we will track it down for you.", " Be more patient.")


def log_prob(model, prompt, reply):
    """Sum of the log-probabilities the model gives the reply tokens after the prompt."""
    ids = tokenizer(f"Customer: {prompt}\nAgent:{reply}", return_tensors="pt").input_ids
    token_logps = model(ids).logits[0, :-1].log_softmax(-1).gather(1, ids[0, 1:, None])
    return token_logps[-len(tokenizer(reply).input_ids) :].sum()


def margin(prompt, chosen, rejected):
    """Policy-to-reference log-ratio of the chosen reply minus that of the rejected reply."""
    chosen_ratio = log_prob(policy, prompt, chosen) - log_prob(reference, prompt, chosen)
    return chosen_ratio - (log_prob(policy, prompt, rejected) - log_prob(reference, prompt, rejected))


for step in range(10):
    loss = sum(-F.logsigmoid(0.1 * margin(*pair)) for pair in train) / len(train)  # DPO loss, beta = 0.1
    if step in {0, 9}:
        print(f"Step {step}: training loss {loss.item():.3f}")
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

with torch.no_grad():
    print(f"Held-out margin: {margin(*held_out).item():+.1f}")

Imprime una pérdida de entrenamiento de 0.693 en el paso 0, que es ln 2, porque la política todavía coincide con la referencia y ambas respuestas tienen una recompensa implícita de cero. En el paso 9, la pérdida es 0.047 y el margen de evaluación es +7.8: ante una queja que nunca había visto, el modelo aumentó la log-probabilidad de la respuesta de disculpa respecto a la referencia 7,8 más que la de la respuesta despectiva.

DPO frente a RLHF#

El RLHF clásico entrena un modelo de recompensa con los pares de preferencias y, después, optimiza el modelo de lenguaje con Proximal Policy Optimization (PPO), que necesita muestras nuevas del modelo en cada paso y mantiene en memoria una política, un modelo de valor, un modelo de recompensa y un modelo de referencia. DPO solo necesita la política y la referencia, y se entrena con un conjunto de datos fijo como el aprendizaje supervisado convencional, por lo que es más sencillo de ajustar y mucho más barato de ejecutar. En los experimentos originales, DPO superó a PPO en el control del sentimiento de reseñas de películas generadas con un presupuesto KL determinado. En el resumen de Reddit TL;DR, GPT-4 juzgó que los resúmenes de DPO eran mejores que las referencias escritas por personas el 61 % de las veces con una temperatura de muestreo de 0, frente al 57 % de PPO con su mejor temperatura. En los datos de diálogo útil e inofensivo de Anthropic, DPO fue el único método computacionalmente eficiente probado que mejoró las respuestas preferidas del conjunto de datos.

La contrapartida es que DPO solo aprende de los pares que recibe. Los métodos de aprendizaje por refuerzo en línea, como la optimización de políticas relativas por grupos (GRPO), puntúan nuevas muestras del modelo actual durante el entrenamiento; por eso predominan en el aprendizaje por refuerzo con recompensas verificables (RLVR) para matemáticas y código, donde un verificador puede evaluar cada respuesta nueva. Las etiquetas de preferencias también pueden proceder de un modelo de IA guiado por principios escritos, como en la IA constitucional, y DPO se entrena con esas etiquetas del mismo modo.

Usos de DPO#

DPO se convirtió en una etapa estándar del posentrenamiento para los chatbots con pesos abiertos. Zephyr-7B-β de Hugging Face lo aplicó a datos de UltraFeedback clasificados por IA, y los modelos Llama 3 de Meta se alinearon mediante varias rondas de ajuste fino supervisado seguidas de DPO. La biblioteca TRL ofrece un entrenador de DPO listo para usar. La interfaz LLM de Ultralytics invoca modelos a través de cualquier punto de conexión compatible con OpenAI, incluidos servidores locales, por lo que un modelo abierto alineado con DPO puede escribir la parte textual de una canalización de visión Ultralytics YOLO26.

El método también se aplica a imágenes. Diffusion-DPO reformula la pérdida para los modelos de difusión y ajustó el modelo base Stable Diffusion XL con 851.000 preferencias por pares recopiladas mediante crowdsourcing en el conjunto de datos Pick-a-Pic, lo que mejoró la alineación con las indicaciones y el atractivo visual en la generación de texto a imagen. Para los modelos de visión y lenguaje (VLM), RLHF-V recopiló correcciones humanas a nivel de segmento de descripciones de imágenes alucinadas y se entrenó con una variante densa de DPO, lo que redujo un 34,8 % la tasa de alucinación del modelo base con solo 1.400 muestras anotadas.

Variantes de DPO#

  • IPO (optimización de preferencias por identidad): Sustituye el log-sigmoide por una pérdida cuadrática hacia un margen fijo, lo que evita que las recompensas implícitas crezcan sin límite y que se produzca sobreajuste cuando siempre gana la misma respuesta.
  • KTO (optimización Kahneman-Tversky): Aprende de respuestas individuales etiquetadas como deseables o indeseables, por lo que no necesita comparaciones por pares.
  • ORPO (optimización de preferencias mediante la razón de probabilidades): Elimina el modelo de referencia y añade una penalización basada en la razón de probabilidades a la pérdida del ajuste fino supervisado, combinando el ajuste con instrucciones y la alineación con preferencias en una sola etapa.
  • SimPO (optimización simple de preferencias): Utiliza como recompensa la log-probabilidad media de una respuesta normalizada por longitud, elimina el modelo de referencia y requiere un margen objetivo entre las recompensas de las respuestas elegida y rechazada.

Explore solutions

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte las imágenes de drones y las imágenes aéreas en información práctica en tiempo real para la agricultura, la acuicultura, la vigilancia medioambiental, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Lleva la IA de visión a la supervisión aérea con los modelos Ultralytics YOLO. Impulsa drones, flujos de trabajo aeroespaciales, conservación medioambiental y sectores geoespaciales con soluciones de visión artificial.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información
Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte las imágenes de drones y las imágenes aéreas en información práctica en tiempo real para la agricultura, la acuicultura, la vigilancia medioambiental, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Lleva la IA de visión a la supervisión aérea con los modelos Ultralytics YOLO. Impulsa drones, flujos de trabajo aeroespaciales, conservación medioambiental y sectores geoespaciales con soluciones de visión artificial.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información
Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte las imágenes de drones y las imágenes aéreas en información práctica en tiempo real para la agricultura, la acuicultura, la vigilancia medioambiental, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Lleva la IA de visión a la supervisión aérea con los modelos Ultralytics YOLO. Impulsa drones, flujos de trabajo aeroespaciales, conservación medioambiental y sectores geoespaciales con soluciones de visión artificial.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático