RLHF
Reinforcement Learning from Human Feedback ・ あーるえるえいちえふ
人間の比較から学んだ報酬でLLMを強化学習し、応答を望ましい方向へ調整する手法。
✦ 30秒で試す — 航海「どちらの答えが良い?」と聞くだけで、AIの話し方が変わる点数を限りなく上げ続けると、人が感じる応答の質は?予想してみる概要
RLHF(Reinforcement Learning from Human Feedback、人間のフィードバックによる強化学習)は、LLM の応答を「人間が望ましいと感じる方向」へ調整するための学習手法です。大量のテキストで事前学習しただけのモデルは「文章の続きを予測する」ことしかできず、質問に質問で返したり、有害な内容を平気で出力したりします。そこに人間の評価を報酬として組み込み、「役に立ち、正直で、無害な」応答を選ぶよう振る舞いを矯正するのが RLHF です。
ChatGPT が登場したとき、多くの人が驚いたのは知識の量よりも「指示に素直に従い、対話として自然に応答する」振る舞いでした。あの振る舞いを生み出した中核の技術が RLHF です。通常の機械学習が正解データとの誤差を小さくするのに対し、RLHF は「正解を書き下せないが、2つ並べれば良し悪しは分かる」という性質の目標を扱います。モデルの能力(何を知っているか)と振る舞い(それをどう出すか)を分けて調整するこの発想は、以降の LLM 開発における「アラインメント(人間の意図との整合)」という分野の出発点になりました。
なぜ生まれたか
事前学習だけを終えた言語モデルは、インターネット上のテキストの続きを確率的に予測する装置にすぎません。「東京の観光地を教えて」と入力すると、観光地を答える代わりに「大阪の観光地を教えて」と似た質問文を並べ始めることすらあります。訓練データに含まれる偏見や有害な表現もそのまま再現しますし、もっともらしい嘘(ハルシネーション)を自信満々に語ります。「言語の統計的なパターンは知っているが、人間が何を求めているかは知らない」状態です。
問題は、「望ましい応答」を損失関数として数式で書けないことでした。丁寧さ、有用さ、無害さといった性質は、正解データを列挙しきれるものではありません。模範解答を人が書いて教える教師あり学習(SFT)もできますが、書ける量には限りがあり、「どちらのほうが少し良いか」という細かな差までは伝えられません。そこで生まれたのが、「人間に応答の良し悪しを比べてもらい、その好みをまねる報酬モデルを作り、それを最適化の目標にして強化学習する」という間接的な方法です。考え方の原型は、2017年に Christiano らがロボットやゲームの動きを人間の比較から学ばせた研究にあり、2020年に文章の要約へ、2022年3月の OpenAI の InstructGPT 論文で指示に従う言語モデルへと広げられました。InstructGPT では、13億パラメータの RLHF 済みモデルの応答が、1750億パラメータの GPT-3 の応答より人に好まれました。同じ年の11月に公開された ChatGPT で、この方法は広く知られるようになります。定義できない目的関数を、人間の判断から学習で獲得する — これが RLHF の核心です。
詳細
3段階のパイプライン
RLHF は事前学習済みモデルを出発点として、大きく3つの段階を経ます。
第1段階は教師ありファインチューニング(SFT: Supervised Fine-Tuning)です。人間が書いた「指示と模範解答」の組(数千〜数万件)でモデルを追加学習し、「質問には答える」「指示には従う」という対話の基本形を教え込みます。この時点でモデルはだいぶ「アシスタントらしく」なりますが、人間が模範解答を書ける量には限りがあり、応答の質の細かな良し悪しまでは伝えられません。
第2段階が報酬モデル(Reward Model)の学習です。SFT 済みモデルに同じプロンプトへの応答を複数生成させ、人間の評価者が「どちらが良いか」を比べます。人間にとって、良い応答をゼロから書くのは大変でも、2つを比べてどちらが良いか選ぶのは簡単です。この比較データから、「応答にスコアを付ける」別のニューラルネットワークを訓練します。使うのは Bradley–Terry 型のモデルで、応答 A が B より好まれる確率を σ(r(A) − r(B))(σ はシグモイド関数、r はスコア)と置き、人間が選んだほうのスコアが高くなるように −log σ(r(選ばれた) − r(選ばれなかった)) を小さくします。スコアの絶対値ではなく「差」だけを学ぶので、評価者は点数を付ける必要がなく、比べるだけで済みます。こうして人間の好みが、どんな応答でも自動で採点できる関数として近似されます。
第3段階が強化学習です。SFT 済みモデル(方策)にプロンプトへの応答を生成させ、報酬モデルのスコアを報酬として、スコアが高くなる方向へモデルを更新します。アルゴリズムには PPO(Proximal Policy Optimization)が使われるのが典型でした。1回の更新は次のような往復です。
KL の綱 — 報酬モデルを信じすぎない
第3段階の要は、学習中のモデルを元の SFT モデルから離れすぎないように縛ることです。最大化するのは報酬モデルのスコアそのものではなく、「スコア − β × KL」です。KL(カルバック・ライブラー情報量)は、学習中のモデルと参照モデルの出力の確率分布がどれだけ違うかを測る量で、β はその縛りの強さです。
なぜ縛りが要るのでしょうか。報酬モデルは、限られた比較データから学んだ人間の好みの近似にすぎません。データの外側、つまり元のモデルがめったに書かなかったような応答に対しては、でたらめに高い点を付けることがあります。制約なしにスコアだけを追うと、モデルはこの穴を見つけて突きます。長ければ長いほど、褒め言葉が多いほど、断定的なほど点が上がる、といった報酬モデルの癖に合わせて応答が歪み、点数は上がり続けるのに実際の品質は下がっていく — これが「報酬ハッキング」(過剰最適化)です。KL の項は、元のモデルから遠ざかるほど強く引き戻す綱として働き、報酬モデルが信用できる範囲の中で改善させます。
下の部品で、応答の分布の山を報酬の高い方へ引っぱってみてください。報酬モデルの点数と実際の品質が途中から食い違い、綱の強さ β によって止まる位置が変わります。
いまのモデルが出しがちな応答(短い)「東京都新宿区にあります。」
下の金の山(いまのモデル)の頂上をつかんで、右(報酬の高い方)へ引いてから離してください。
質問「都庁はどこにありますか?」への応答を、1本の軸(そっけない ← 的確で丁寧 → 長く迎合的)に並べた模型です。報酬モデルは人の比較から学んだ近似なので「長くて褒める応答」に甘く、右へ行くほど点数が上がり続けます。実際の品質は、人が本当に望む応答で頭打ちになります。
実務上の論点と限界
RLHF の品質は評価者の判断の質に強く依存します。評価者どうしで判断が割れる、評価者が「自信ありげで長い応答」を好んでしまいモデルが冗長・迎合的になる(sycophancy と呼ばれます)、といった問題が知られています。人間が正しさを判定しづらい高度な内容(専門的なコードや数学)では、「もっともらしいが誤っている応答」に高い報酬が付いてしまい、ハルシネーションをむしろ強めるおそれもあります。
評価のコストとばらつきへの1つの答えが、人間の代わりに AI の評価をフィードバックに使う RLAIF(Reinforcement Learning from AI Feedback)です。RLAIF は手法の総称で、その代表例が Anthropic の Constitutional AI(2022年12月)です。Constitutional AI は2段階でできています。まず、あらかじめ書き出した原則集(「憲法」)に照らしてモデル自身に応答を批判させ、書き直させた結果で教師あり学習をします。次に、同じ原則に基づいて AI が2つの応答を比べた判定で報酬モデルを作り、強化学習をします(この後半が RLAIF にあたります)。有害さの判定のような部分を、人手のラベルなしで大規模に回せるのが利点です。
DPO などの後続手法
3段パイプラインは強力ですが、報酬モデルと強化学習のループは実装が複雑で、学習も不安定になりがちです。2023年に提案された DPO(Direct Preference Optimization)は、KL の綱つきで報酬を最大化する問題の答えが式で書けることを利用して、報酬モデルも強化学習のループも使わず、比較データから直接モデルを最適化します。損失の形は報酬モデルの Bradley–Terry 型の損失とよく似ていて、「選ばれた応答の確率を参照モデルより上げ、選ばれなかった応答の確率を下げる」だけの、教師あり学習に近い手順になります。実装が簡単なので、オープンなモデルのコミュニティを中心に広く使われるようになりました。ほかにも KTO や ORPO など派生手法が次々に登場しています。
近年は、数学の答え合わせやコードのテスト実行のように正誤を機械的に確かめられる課題では、報酬モデルの代わりに検証器の判定を報酬にする強化学習(検証可能な報酬による強化学習)も、推論能力を伸ばす方法として広く使われています。人の好みではなく正しさを報酬にする点が RLHF と違いますが、「報酬を追いすぎないよう参照モデルとの KL で縛る」という骨組みはここでも使われます。プロンプトエンジニアリングが推論時にモデルの振る舞いを誘導する技術だとすれば、RLHF とその後続は学習時に振る舞いそのものを作り込む技術だと整理できます。
試問
質問「都庁はどこにありますか?」への AI の応答を、横1本の軸(左ほどそっけない、中ほどが的確で丁寧、右ほど長く迎合的)に並べた模型です。下の金の山が「いまの AI がどんな応答を出しがちか」で、つかんで動かし、手を離すと学習が「採点係の AI(報酬モデル)の点数 − β×元の AI からの離れ具合(KL)」がいちばん大きい所まで山を運びます。上の段には採点係の点数と、人が感じる実際の品質が出ます。いまは綱(β)がありません。
いまのモデルが出しがちな応答(短い)「東京都新宿区にあります。」
下の金の山(いまのモデル)の頂上をつかんで、右(報酬の高い方)へ引いてから離してください。
質問「都庁はどこにありますか?」への応答を、1本の軸(そっけない ← 的確で丁寧 → 長く迎合的)に並べた模型です。報酬モデルは人の比較から学んだ近似なので「長くて褒める応答」に甘く、右へ行くほど点数が上がり続けます。実際の品質は、人が本当に望む応答で頭打ちになります。
