好みを教えるだけ。審判もいらない、試行錯誤もいらない。 モデルを人の望みに寄せるとき、ふつうのやり方はからくり仕掛けのようだ。Direct Preference Optimization はその仕掛けを丸ごと捨てる。ペアを渡すだけ——この答えがあの答えに勝つ——たった一つのきれいな損失が、その好みをそのまま良いモデルへ変える。別の審判を訓練する必要もない。強化学習を見張る必要もない。源から、まっすぐに。
ふつうのやり方は大回り——しかも出し抜ける。 maxπθ Ex∼D, y∼πθ[r(x,y)]−β DKL(πθ(y∣x) ∥ πref(y∣x))\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) RLHF はわざわざ遠回りする。まず答えを採点する別の審判を訓練し、次にそのスコアを強化学習で追いかける——しかも出発点のモデルから離れすぎないように。平たく言えば、家から離れずに、取れるだけの報酬を取れ。もろい二段構え——押しすぎると、本当に良くなるのではなく審判に取り入ることを覚える。つづら折りの道のように:長い登り、脇道にそれる余地もたっぷり。
その長い目標には、ただ一つの最適解がある——すでに書かれている。 π∗(y∣x)=1Z(x) πref(y∣x) exp (1β r(x,y)),Z(x)=∑yπref(y∣x) 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) その目標には秘密が畳み込まれている。最良の方策は試行錯誤で狩り出すものではなく、閉じた形を持つ。出発点のモデルを取り、報酬が好む答えを持ち上げるように、そっと重みづけし直すだけ。平たく言えば、勝者とは報酬の側へ傾けただけの、元のモデルにすぎない。ブドウの蔓に添える支柱のように:植物は自分で育つ——枠はただ、それを光のほうへ傾けるだけ。
逆から読む——報酬は初めからモデルの中にあった。 r(x,y)=β logπ∗(y∣x)πref(y∣x)+β logZ(x)r(x,y)=\beta\,\log\frac{\pi^{*}(y\mid x)}{\pi_{\mathrm{ref}}(y\mid x)}+\beta\,\log Z(x) 今度はその式をひっくり返して、報酬について解く。すると現れる——すべてが方策そのものの言葉で書かれて。わざわざ別のネットワークを丸ごと訓練して学ばせようとしていたものは、すでにそこに、モデルの中に畳み込まれていた。平たく言えば、モデルは密かに、自分自身の報酬の審判だ。紙の透かしのように:机に平らに置けば見えない——光に傾ければ、隠れた印がそこにある。
それを好みの式に入れると——計算不能な項が消える。 LDPO=− E(x,yw,yl)∼D[logσ (βlogπθ(yw∣x)πref(yw∣x)−βlogπθ(yl∣x)πref(yl∣x))]\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] その報酬はまだ怪物を一匹隠している。Z——モデルが出しうるあらゆる答えにわたる総和で、計算は不可能だ。だが好みは、同じ問いへの二つの答えを比べるだけ。一方の報酬からもう一方を引けば、両側で同じ Z は——あっさり消える。残るのはただ一つの損失、方策だけで書かれている。平たく言えば、比べることが、計算不能な部分を消す。天秤のように:両皿に等しい重りは打ち消し合い、余分な小石だけが傾ける。
ひと引き——勝者を上げ、敗者を下げ、間違えた所ほど強く。 r^θ(x,y)=βlogπθ(y∣x)πref(y∣x),∇θLDPO=−β E[σ(r^θ(x,yl)−r^θ(x,yw))(∇θlogπθ(yw∣x)−∇θlogπθ(yl∣x))]\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] 損失をその引っ張りまで削ぎ落とせば、それは確率をめぐる綱引きだ。人が好んだ答えを持ち上げ、退けた答えを下げる。しかも引きは均一ではない——先頭の項は、モデルがそのペアを取り違え、敗者を勝者より高く評価しているときにこそ大きくなる。平たく言えば、最も自信たっぷりに間違えている所を、最も強く正す。綱引きのように:綱が逆へ滑り出した瞬間に、いちばん力を込めて引く。
「これがあれに勝つ」の山が、ひと足で、より良いモデルに。 こうして、機械全体がたった一行に畳まれる。訓練する審判もいない。安定させる強化学習のロールアウトもいらない。あるのはこれがあれに勝つという固定された山と、一度の勾配ステップだけ——それでいて、RLHF が目指していたまったく同じ目標に、遠回りせずまっすぐたどり着く。山を貫くトンネルのように:向こう側には同じ谷が待っている——ただ登りを省いただけだ。
🌱 私たちが何を選んだかは学んだ——なぜ選んだのかは、ついぞ。 DPO は私たちの好みを完璧に学ぶ——毎回、どの答えに手を伸ばしたかを。だが好みとは、理由が落とす影にすぎない。私たちは選択を手渡し、理由は自分の手元に残した。では、それが私たちを喜ばせるとき、より良い答えがなぜ良いのかを掴んでいるのか——それとも、私たちの欲しがる形だけを覚えたのか。