Convierte 'A gana a B' directamente en un modelo mejor, sin modelo de recompensa ni RL.

SRC·37 Source
Enséñale lo que preferimos, sin árbitro ni prueba y error.

Enséñale lo que preferimos, sin árbitro ni prueba y error.

Para inclinar un modelo hacia lo que la gente quiere, la receta habitual es una máquina de Rube Goldberg. La Direct Preference Optimization tira esa máquina. Dale pares —esta respuesta gana a aquella— y una sola función de pérdida limpia convierte la preferencia directamente en un modelo mejor. Sin juez aparte que entrenar. Sin aprendizaje por refuerzo que vigilar. Directo desde la fuente.
El camino habitual da un gran rodeo, y se puede engañar.

El camino habitual da un gran rodeo, y se puede engañar.

maxπθ ExD,yπθ[r(x,y)]βDKL(πθ(yx)πref(yx))\max_{\pi_\theta}\ \mathbb{E}_{x\sim\mathcal{D},\,y\sim\pi_\theta}\big[r(x,y)\big]-\beta\,D_{\mathrm{KL}}\big(\pi_\theta(y\mid x)\,\|\,\pi_{\mathrm{ref}}(y\mid x)\big)
El RLHF da un buen rodeo: entrena un juez aparte para puntuar respuestas y luego persigue esa puntuación con aprendizaje por refuerzo, todo sin alejarse demasiado del modelo de partida. En palabras simples: gana toda la recompensa que puedas sin alejarte de casa. Dos etapas frágiles, y si aprietas demasiado aprende a adular al juez, no a mejorar de verdad. Como una carretera en zigzag: la larga subida, con sitio de sobra para desviarse.
Esa meta tan larga tiene una única respuesta óptima, ya escrita.

Esa meta tan larga tiene una única respuesta óptima, ya escrita.

π(yx)=1Z(x)πref(yx)exp ⁣(1βr(x,y)),Z(x)=yπref(yx)exp ⁣(1βr(x,y))\pi^{*}(y\mid x)=\frac{1}{Z(x)}\,\pi_{\mathrm{ref}}(y\mid x)\,\exp\!\Big(\tfrac{1}{\beta}\,r(x,y)\Big),\quad Z(x)=\sum_{y}\pi_{\mathrm{ref}}(y\mid x)\,\exp\!\Big(\tfrac{1}{\beta}\,r(x,y)\Big)
Este es el secreto plegado en esa meta: la mejor política no se caza a base de prueba y error, tiene una forma cerrada. Coge el modelo de partida y repondéralo con suavidad, realzando las respuestas que la recompensa favorece. En palabras simples: el ganador no es más que el modelo base, inclinado hacia la recompensa. Como un emparrado en una vid: la planta sigue creciendo sola; la estructura solo la inclina hacia la luz.
Léelo al revés: la recompensa estaba dentro del modelo desde el principio.

Léelo al revés: la recompensa estaba dentro del modelo desde el principio.

r(x,y)=βlogπ(yx)πref(yx)+βlogZ(x)r(x,y)=\beta\,\log\frac{\pi^{*}(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)}+\beta\,\log Z(x)
Ahora dale la vuelta a esa ecuación y despeja la recompensa. Salta a la vista, escrita por completo en términos de la propia política. Aquello para lo que íbamos a entrenar toda una red aparte ya estaba ahí, plegado dentro del modelo. En palabras simples: tu modelo es, en secreto, su propio juez de recompensa. Como una marca de agua en el papel: invisible sobre la mesa; inclínalo hacia la luz y la marca oculta aparece.
Métela en la preferencia, y el término imposible se cancela.

Métela en la preferencia, y el término imposible se cancela.

LDPO=E(x,yw,yl)D[logσ ⁣(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))]\mathcal{L}_{\mathrm{DPO}}=-\,\mathbb{E}_{(x,y_w,y_l)\sim\mathcal{D}}\Big[\log\sigma\!\Big(\beta\log\frac{\pi_\theta(y_w\mid x)}{\pi_{\mathrm{ref}}(y_w\mid x)}-\beta\log\frac{\pi_\theta(y_l\mid x)}{\pi_{\mathrm{ref}}(y_l\mid x)}\Big)\Big]
Esa recompensa aún esconde un monstruo: Z, la suma sobre cada respuesta que el modelo podría llegar a dar, imposible de calcular. Pero una preferencia solo compara dos respuestas a la misma pregunta. Resta una recompensa de la otra y Z —idéntica en ambos lados— simplemente se esfuma. Queda una sola función de pérdida, escrita solo con la política. En palabras simples: comparar elimina la parte imposible. Como una balanza: pesos iguales en los dos platillos se cancelan; solo la piedrecita de más la inclina.
Un tirón: sube al ganador, baja al perdedor, más fuerte donde se equivoca.

Un tirón: sube al ganador, baja al perdedor, más fuerte donde se equivoca.

r^θ(x,y)=βlogπθ(yx)πref(yx),θLDPO=βE[σ(r^θ(x,yl)r^θ(x,yw))(θlogπθ(ywx)θlogπθ(ylx))]\hat r_\theta(x,y)=\beta\log\frac{\pi_\theta(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)},\quad \nabla_\theta\mathcal{L}_{\mathrm{DPO}}=-\beta\,\mathbb{E}\Big[\sigma\big(\hat r_\theta(x,y_l)-\hat r_\theta(x,y_w)\big)\big(\nabla_\theta\log\pi_\theta(y_w\mid x)-\nabla_\theta\log\pi_\theta(y_l\mid x)\big)\Big]
Reduce la pérdida a su tirón y es un juego de la cuerda sobre la probabilidad: sube la respuesta que la gente prefirió, baja la que rechazó. Y el tirón no es parejo: el término de delante crece justo cuando el modelo tiene el par al revés, valorando al perdedor por encima del ganador. En palabras simples: se corrige con más fuerza allí donde se equivoca con más seguridad. Como un juego de la cuerda: tiras con todo en el instante en que la soga empieza a irse hacia el lado equivocado.
Un montón de 'esta gana a aquella', en un modelo mejor, de un paso.

Un montón de 'esta gana a aquella', en un modelo mejor, de un paso.

Así, toda la máquina se reduce a una sola línea. Sin juez que entrenar. Sin despliegues de refuerzo que estabilizar. Solo un montón fijo de esta gana a aquella y un paso de gradiente; y aun así llega a la misma meta exacta que perseguía el RLHF, alcanzada en directo en vez de dando rodeos. Como un túnel a través de la montaña: el mismo valle espera al otro lado; solo te has saltado la subida.
🌱 Aprendió lo que elegimos, nunca por qué lo elegimos.

🌱 Aprendió lo que elegimos, nunca por qué lo elegimos.

La DPO aprende nuestras preferencias a la perfección: qué respuesta elegimos, cada vez. Pero una preferencia es solo la sombra que proyecta una razón. Le dimos la elección y nos guardamos la razón. Así que, cuando nos agrada, ¿entiende por qué la mejor respuesta es mejor, o solo ha aprendido la forma de nuestro deseo?
toca →desliza ↑ para másdesliza ↓ para salir