FocalPO: Enhancing Preference Optimizing by Focusing on Correct Preference Rankings

生成日:

FocalPO: Enhancing Preference Optimizing by Focusing on Correct Preference Rankings

論文の面白いところ

この論文の主張は、選好最適化で「苦手な例を重点的に直す」という直観をいったん疑う点にある。DPO は、モデルが選好ペアを誤って順位づけたときに大きな勾配を与える。普通に考えれば、そのような誤りを強く学習させればよいように見える。しかし著者らは、先行研究が示したように、DPO が訓練前に誤っていた順位をあまり直せないことに注目する。そこで FocalPO は、モデルがすでにおおむね正しく見ているペアを使い、その判断を安定させる方向に学習を寄せる。これは、難例を重く扱う通常の Focal Loss とは向きが反対である。論文の面白さは、損失関数の小さな変更が、選好学習における「どの例から学ぶべきか」という実務的な問題に結びついているところにある。

問題設定

大規模言語モデルを人間の好みに合わせる方法として、Reinforcement Learning from Human Feedback(RLHF)が広く用いられてきた。だが Proximal Policy Optimization(PPO)を用いる RLHF は計算量が大きく、訓練も扱いにくい。その代替として、Direct Preference Optimization(DPO)は参照モデルとの比を用いて、言語モデル自体を暗黙の報酬モデルとして最適化する。入力は、プロンプト、好ましい応答、好ましくない応答からなる選好ペアである。DPO は、好ましい応答の暗黙報酬が好ましくない応答より低い場合、すなわち順位が誤っている場合に大きな重みを与える。しかし、近年の研究は、DPO がこの誤順位ペアを実際には十分に修正できないことを報告している。本論文は、この重みづけそのものを見直し、誤順位ペアではなく、正しく順位づけられているペアをより信頼して学習する設定を扱う。

提案手法

FocalPO は、DPO の損失に調整因子を掛けることで、選好ペアごとの重みを動的に変える。DPO では、好ましい応答が好ましくない応答より選ばれる確率を p とし、損失はおおむね −log p の形をとる。FocalPO はここに p^γ を掛け、p が小さい、つまりモデルが強く誤っているペアの寄与を小さくする。γ は焦点化の強さを決めるハイパーパラメータであり、実験では 0.05 に固定されている。勾配解析では、DPO が誤った報酬順位に大きな重みを置くのに対し、FocalPO はその影響を抑えることが示される。著者らはこれを、暗黙報酬の推定が比較的正しいペアから学び、強く食い違うペアに引きずられない方法として位置づける。実装面では、既存の DPO 系訓練に損失の係数を追加する形で導入できるため、手法の変更は比較的小さい。

結果

実験では、Mistral-Base 7B と Llama-3-Instruct 8B を用いて選好最適化を行った。Mistral-Base では UltraFeedback を、Llama-3-Instruct では Llama3-ultrafeedback-armorm を訓練データとして用いる。比較対象は DPO、KTO、ORPO、SimPO である。Alpaca Eval 2.0 と Arena-Hard の評価では、FocalPO は多くの設定で最も高い値を示した。たとえば Llama-3-Instruct 8B では、Alpaca Eval 2.0 の win rate が DPO の 47.5 に対して FocalPO は 49.8、length-controlled win rate は 48.2 に対して 54.7 であった。Mistral-Base 7B でも、Alpaca Eval 2.0 の length-controlled win rate は DPO の 20.6 から FocalPO の 23.9 に上がった。一方で、OpenLLM leaderboard の補足評価では、数学や知識を問う一部のタスクで選好最適化後に低下も見られ、著者らはアラインメントに伴う一般性能の取引関係として扱っている。

具体例

たとえば、「世界一周を徒歩で行うと、どのくらい時間がかかるか」という質問に対し、訓練データには二つの応答があるとする。一方の応答は、地球の外周を約 40,075 km、歩行速度を毎時 5 km とし、休憩を考えずに約 335 日と答える。もう一方の応答は、同じ外周と歩行速度を使いながら、実際には 1 日 8 時間程度しか歩けないと置き、約 1,002 日、すなわち 2 年 9 か月ほどと答える。この場合、人間または評価モデルは後者を好ましい応答として与えるだろう。DPO は、もし現在のモデルが前者を高く評価していれば、その誤りを強く直そうとする。FocalPO は、そのような強い誤順位に過度に引っ張られるのではなく、モデルがすでに妥当に順位づけている近い事例から安定して学ぶ。間違えやすい点は、この手法が難例を捨てるというより、暗黙報酬が明らかに食い違う例の勾配を弱める点にある。結果として、休憩や睡眠を無視した計算だけでなく、人間が実際に歩く時間を含めた応答が選ばれやすくなる。