Alineando SmolVLM con DPO: Optimización Directa de Preferencias para una IA más Humana
Los modelos de IA, particularmente los grandes modelos de lenguaje y visión-lenguaje (VLM), a menudo enfrentan un desafío crítico: si bien pueden generar respuestas técnicamente correctas, estas salidas pueden carecer de las cualidades matizadas y humanas que los usuarios desean. Por ejemplo, un chatbot podría proporcionar información precisa pero con un tono excesivamente robótico o grosero, o un VLM podría subtitular una imagen con detalles irrelevantes a pesar de maximizar sus puntuaciones de probabilidad internas. En tales escenarios, los métodos tradicionales de ajuste fino supervisado se quedan cortos porque no tienen en cuenta las preferencias humanas o la utilidad subjetiva.
La optimización de preferencias aborda esta brecha entrenando modelos para distinguir y seleccionar respuestas “mejores” de un conjunto de opciones, basándose en juicios humanos o proxy. Este paradigma permite a los modelos priorizar cualidades como la claridad, la inteligencia emocional o la seguridad, yendo más allá de la mera fluidez para generar salidas que se alineen más estrechamente con la intención humana.
Si bien métodos como el Aprendizaje por Refuerzo a partir de Retroalimentación Humana (RLHF) y el Aprendizaje por Refuerzo a partir de Retroalimentación de IA (RLAIF) han sido fundamentales en la alineación de modelos, a menudo introducen una complejidad, inestabilidad y altos costos computacionales significativos. La Optimización Directa de Preferencias (DPO) emerge como una alternativa más simple pero efectiva, aprendiendo directamente de los datos de preferencias sin requerir un modelo de recompensa separado o bucles complejos de aprendizaje por refuerzo. Este artículo explora los principios de DPO y demuestra su aplicación en el ajuste fino del modelo SmolVLM para una mejor alineación humana.
¿Qué es la Optimización de Preferencias?
La optimización de preferencias abarca una categoría de técnicas de ajuste fino diseñadas para alinear modelos de aprendizaje automático, especialmente modelos generativos como los modelos de lenguaje (LM) y los modelos de visión-lenguaje (VLM), con evaluaciones humanas o proxy. En lugar de simplemente predecir el siguiente token, el modelo se optimiza para producir salidas que un evaluador, que podría ser un anotador humano u otro modelo de IA, considera “preferibles”. Esto es vital para hacer que la IA generativa sea más útil, segura y atractiva en aplicaciones del mundo real.
En su esencia, la optimización de preferencias implica presentar a un modelo pares de salidas (por ejemplo, una preferida, una rechazada) y ajustar sus parámetros internos para aumentar la probabilidad de generar la respuesta preferida. Este enfoque va más allá de la alineación rígida basada en reglas, lo que permite un control de grano fino basado en juicios cualitativos, una tarea en la que los humanos sobresalen pero que las máquinas no aprenden intrínsecamente.
Tipos de Técnicas
Aprendizaje por Refuerzo a partir de Retroalimentación Humana (RLHF)
RLHF es un método ampliamente adoptado para alinear grandes modelos de lenguaje, notablemente utilizado en modelos como ChatGPT. Implica un proceso de tres pasos:
Ajuste Fino Supervisado (SFT): Un modelo base inicial se ajusta finamente en un conjunto de datos curado de pares de preguntas y respuestas para proporcionar un modelo fundamental.
Modelado de Recompensas: Anotadores humanos clasifican múltiples salidas generadas por el modelo SFT. Estas clasificaciones humanas se utilizan luego para entrenar un “modelo de recompensa” separado que aprende a asignar puntuaciones a nuevas salidas, imitando el juicio humano.
Optimización de Políticas: El modelo SFT se ajusta aún más utilizando un algoritmo de aprendizaje por refuerzo, típicamente Optimización de Políticas Próximas (PPO), para maximizar las puntuaciones predichas por el modelo de recompensa.
Si bien RLHF ha producido impresionantes capacidades conversacionales y de codificación, su pipeline es computacionalmente intensivo y complejo, lo que requiere el entrenamiento de múltiples modelos y un muestreo extenso durante el bucle de entrenamiento.
Aprendizaje por Refuerzo a partir de Retroalimentación de IA (RLAIF)
RLAIF adapta la estructura de RLHF pero reemplaza a los anotadores humanos con un “modelo proxy de preferencia” de IA que ha sido pre-entrenado con calificaciones humanas existentes. Esto permite una generalización escalable de los juicios de preferencia, reduciendo significativamente los costos de etiquetado humano. Aunque RLAIF acelera la iteración y reduce el esfuerzo humano, introduce el riesgo de amplificar los sesgos existentes del modelo. A pesar de esto, ha demostrado ser efectivo en proyectos que buscan una alineación escalable de la IA.
Optimización Directa de Preferencias (DPO)
DPO es un método de ajuste fino basado en preferencias que optimiza directamente la política de un modelo para preferir ciertas salidas sobre otras, basándose en la retroalimentación humana. A diferencia de RLHF, DPO evita la necesidad de entrenar un modelo de recompensa separado y de usar un algoritmo de aprendizaje por refuerzo. En cambio, simplifica el proceso optimizando directamente la probabilidad del modelo de generar respuestas preferidas en relación con las no preferidas. DPO incorpora un peso de importancia dinámico por ejemplo que evita que el modelo degenere, lo que puede ocurrir con un objetivo de relación de probabilidad ingenuo.
Optimización de Preferencias de Identidad (IPO)
IPO extiende DPO incorporando un término de regularización. Este término desalienta al modelo a desviarse demasiado de un modelo de referencia (generalmente el modelo original ajustado finamente supervisado). Esto ayuda a mantener la fluidez y el conocimiento específico de la tarea, previniendo el sobreajuste a datos de preferencia ruidosos o dispersos, y asegurando que la alineación no conduzca a una degradación de las capacidades centrales del modelo. Matemáticamente, IPO aumenta la pérdida de DPO con una restricción de identidad, mezclando la estabilidad en el proceso de aprendizaje de preferencias.
Optimización de Políticas Relativas de Grupo (GRPO)
Introducido con modelos como DeepSeek-R1, GRPO es una técnica de aprendizaje por refuerzo que optimiza el comportamiento del modelo basándose en preferencias relativas entre grupos de respuestas. En lugar de depender de una única señal de recompensa o pares de preferencias binarias, GRPO genera múltiples respuestas candidatas para una entrada dada y las evalúa utilizando retroalimentación automatizada, basada en reglas o heurística. Esto hace que GRPO sea particularmente adecuado para dominios con resultados verificables, como matemáticas, programación o rompecabezas de lógica, donde la corrección puede determinarse sin anotación humana. GRPO muestrea un grupo de respuestas, asigna puntuaciones utilizando reglas automatizadas, las clasifica relativamente y luego aplica una actualización de estilo PPO que elimina la necesidad de una función de valor, simplificando el entrenamiento.
Optimización Directa de Preferencias (DPO) en Detalle
Un desafío principal con el ajuste fino de estilo RLHF para grandes modelos de lenguaje es su complejidad inherente. Aprender una función de recompensa y luego optimizarla mediante aprendizaje por refuerzo a menudo conduce a inestabilidad, una sobrecarga computacional significativa y dificultades de implementación. La Optimización Directa de Preferencias (DPO) ofrece una poderosa alternativa al eliminar el modelo de recompensa separado y permitir la optimización directa de la política final utilizando solo comparaciones de preferencias.
De Recompensas a Políticas: La Percepción del Cambio de Variables
DPO comienza considerando la configuración clásica de RLHF, que tiene como objetivo maximizar las recompensas esperadas mientras se mantiene la política ajustada cerca de una política de referencia (a menudo el modelo ajustado finamente supervisado) mediante una restricción de divergencia KL. Se sabe que la política óptima bajo esta configuración sigue una distribución de Boltzmann, ponderada por una función de recompensa exponenciada. El desafío radica en el hecho de que la función de recompensa exacta y los términos de normalización son desconocidos y costosos de aproximar.
La clave de DPO es un “cambio de variables”. Al tomar el logaritmo de la ecuación de la política óptima y reorganizarla, la función de recompensa puede reexpresarse directamente en términos de la propia política. Esta visión de “recompensa como política” permite a DPO integrar esta expresión en un modelo de preferencia estándar, como el modelo de Bradley-Terry. Este modelo típicamente depende de la diferencia en las recompensas entre dos respuestas para una entrada dada. Cuando la expresión de recompensa basada en la política se sustituye en el modelo de Bradley-Terry, los problemáticos términos de normalización se cancelan, lo que resulta en una probabilidad de preferencia que se expresa completamente en términos de las políticas del modelo.
Función Objetivo de DPO
Con esta formulación, la pérdida de DPO puede escribirse como una log-verosimilitud negativa sobre un conjunto de datos de pares de respuestas preferidas y rechazadas. Esta función objetivo anima directamente al modelo a aumentar la probabilidad logarítmica de las respuestas preferidas mientras disminuye la probabilidad logarítmica de las rechazadas. Un hiperparámetro, a menudo denominado temperatura inversa, controla la agudeza de estas decisiones de preferencia. El objetivo mide eficazmente cuán bien la política del modelo actual se alinea con las preferencias humanas observadas, penalizando las instancias en las que las respuestas preferidas son menos probables que las rechazadas.
Cómo Funciona el Gradiente
Examinar el gradiente de la pérdida de DPO proporciona una comprensión mecanicista de cómo se actualiza el modelo. Si el modelo ya clasifica correctamente una respuesta preferida por encima de una rechazada, el gradiente será pequeño, lo que indica que se necesita un ajuste mínimo. Sin embargo, si el modelo clasifica incorrectamente una respuesta preferida por debajo de una rechazada, el gradiente será mayor, empujando al modelo con más fuerza a favorecer la respuesta preferida. Este mecanismo de actualización es inherentemente autocorrectivo y se escala dinámicamente con la gravedad de la inversión de preferencia del modelo.
Cómo Funciona DPO en la Práctica
La implementación práctica de DPO implica tres pasos principales:
Creación del Conjunto de Datos: Se muestrean completaciones candidatas para una pregunta dada, y se identifica una respuesta preferida, típicamente a través de retroalimentación humana o un mecanismo de puntuación proxy.
Establecer Política de Referencia: Se establece una política de referencia, generalmente el modelo ajustado finamente supervisado o un modelo base entrenado con estimación de máxima verosimilitud en completaciones preferidas.
Optimizar: La función objetivo de DPO se minimiza utilizando descenso de gradiente estándar, actualizando directamente los parámetros del modelo para alinearlos con los datos de preferencia.
Ajuste Fino de SmolVLM Usando DPO
Para demostrar la aplicación práctica de DPO, podemos ajustar finamente un modelo de visión-lenguaje como SmolVLM de Hugging Face. Para esta implementación, se utiliza el conjunto de datos OpenBMB RLHF-V-Dataset, que contiene 5,733 pares de preferencias humanas con correcciones a nivel de segmento de grano fino para diversas instrucciones (incluyendo descripciones detalladas y preguntas y respuestas), para la alineación.
Cargando SmolVLM y Configurando LoRA
El proceso comienza cargando el modelo SmolVLM pre-entrenado y su procesador correspondiente. Para hacer el ajuste fino más eficiente y menos costoso computacionalmente, se configura y aplica la Adaptación de Bajo Rango (LoRA). LoRA es una técnica de ajuste fino eficiente en parámetros que agrega pequeñas matrices entrenables a los pesos existentes del modelo, reduciendo significativamente el número de parámetros que necesitan ser actualizados durante el entrenamiento en comparación con el ajuste fino completo.
Cargando y Formateando el Conjunto de Datos
Luego, se carga el conjunto de datos OpenBMB RLHF-V-Dataset y se divide en conjuntos de entrenamiento y prueba. A continuación, se aplica una función de formato personalizada para preprocesar los datos. Esta función analiza el texto sin formato, estructurándolo en un formato similar a un chat con roles distintos de “usuario” y “asistente”, y creando entradas separadas para las respuestas elegidas y rechazadas. El procesador del modelo se utiliza para aplicar plantillas de chat a estas entradas de texto. Además, las imágenes dentro del conjunto de datos se redimensionan para evitar errores de memoria insuficiente durante el procesamiento. Esta transformación asegura que los datos estén en el formato correcto para el entrenamiento de DPO, proporcionando respuestas preferidas y rechazadas explícitas para cada pregunta.
Ajuste Fino de DPO
Con el modelo y el conjunto de datos preparados, puede comenzar el ajuste fino de DPO. Los parámetros de entrenamiento se definen utilizando un objeto DPOConfig
, especificando detalles como el directorio de salida, los tamaños de lote, los pasos de acumulación de gradiente y el número de épocas de entrenamiento. Luego se inicializa una instancia de DPOTrainer
con el modelo cargado, la configuración LoRA configurada, los conjuntos de datos preparados y los argumentos de entrenamiento. El bucle de entrenamiento procede, optimizando el modelo basándose en la pérdida de DPO. Durante el entrenamiento, se observa que el modelo comienza a asignar puntuaciones más altas a las respuestas elegidas en el conjunto de datos de prueba. Por ejemplo, en una observación, la precisión de recompensa alcanzó el 62.5% al final de la tercera época, lo que indica una mejora en la alineación. Se espera que esta precisión mejore aún más con duraciones de entrenamiento más largas y más muestras del conjunto de datos original. Después del entrenamiento, se guarda el modelo ajustado finamente.
Probando el Modelo Ajustado Finamente
Finalmente, el modelo SmolVLM ajustado finamente se prueba con nuevos ejemplos del conjunto de prueba. Una función de utilidad prepara las entradas de texto e imagen, genera respuestas utilizando el método generate
del modelo y luego decodifica la salida. Cuando se prueba con una imagen y una pregunta de ejemplo, se observa que la respuesta generada por el modelo es descriptiva y precisa, asemejándose mucho a la respuesta preferida en lugar de la rechazada del conjunto de datos original. Esta demostración práctica resalta la eficacia del algoritmo DPO para mejorar las respuestas de la IA para que estén más alineadas y centradas en el ser humano.
Resumen
El campo de la optimización de preferencias es crucial para alinear los modelos de IA con las expectativas humanas. Si bien los enfoques iniciales como RLHF y RLAIF se basan en bucles de retroalimentación complejos, estrategias más nuevas como la Optimización Directa de Preferencias (DPO), la Optimización de Preferencias de Identidad (IPO) y la Optimización de Políticas Relativas de Grupo (GRPO) están avanzando en el campo. Cada una ofrece un método distinto para interpretar y aplicar preferencias, y GRPO introduce notablemente una estructura basada en grupos para retroalimentación diversa.
DPO destaca por su elegante fundamento. Al transformar el problema tradicional de maximización de recompensas en un objetivo directo de aprendizaje de políticas mediante un ingenioso cambio de variables, DPO elimina la necesidad de modelado explícito de recompensas, simplificando el proceso de optimización. Este cambio de perspectiva hace que DPO sea cada vez más favorecido para las tareas de alineación en el mundo real debido a su eficiencia y efectividad.
La aplicación práctica de DPO para ajustar finamente el modelo SmolVLM demuestra su utilidad. El proceso implica cargar y preparar cuidadosamente el modelo, formatear un conjunto de datos de preferencias y ejecutar los pasos de ajuste fino de DPO. Los resultados muestran que DPO mejora con éxito las respuestas del modelo, haciéndolas más alineadas con las preferencias humanas. Esta demostración práctica subraya el potencial de DPO en el desarrollo de sistemas de IA más centrados en el ser humano.