Reinforcement Learning from Human Feedback (RLHF)
人間のフィードバックによる強化学習(RLHF)は、チャットアシスタントなどで用いられるように、人間の選好順位をもとに学習した報酬モデルを使ってAIモデルをファインチューニングします。
人間のフィードバックによる強化学習(RLHF)は、手書きの目的関数の代わりに、人々がモデルの出力を評価した結果を使ってAIモデルを改善する訓練手法です。人間の評価者がモデルの応答をペアまたは複数の候補で比較し、報酬モデルがどの応答を好むかを予測するよう学習します。その後、強化学習を使って元のモデルをファインチューニングし、報酬モデルが高く評価する応答を生成させます。役に立つこと、正直さ、口調といった品質は、人には簡単に見分けられる一方、損失関数として記述するのはほぼ不可能であるため、RLHFが用いられます。2017年、Christianoらは約1時間分の人間による比較評価をもとに、Atariゲームやロボットシミュレーターでエージェントに新しい行動を学習させました。2022年にはOpenAIのInstructGPTとChatGPTの登場を経て、大規模言語モデル(LLM)やその他の生成AIシステムの最終段階における標準的な手法となりました。
RLHFの仕組み#
InstructGPTの論文で説明されている標準的な手順は、次の3段階で構成されます。
- 教師ありファインチューニング(SFT): 学習済みのベースモデルを、サンプルプロンプトへの適切な回答など、人間が作成したデモンストレーションでファインチューニングします。これにより、期待される形式や口調をモデルに学習させます。
- 報酬モデルの訓練: SFTモデルがプロンプトごとに複数の応答を生成し、ラベラーが順位を付けます。InstructGPTでは、約40人の契約作業者がプロンプトごとに4~9件の応答を順位付けしました。モデルを複製し、単一のスカラーを出力するようにして、採用された応答に却下された応答より高いスコアを付けるよう訓練します。
- 強化学習: SFTモデルを方策として扱い、近接方策最適化(PPO)で最適化して報酬モデルのスコアを最大化します。ただし、SFTモデルとのKLダイバージェンスに比例するペナルティを差し引きます。このペナルティにより、方策は報酬モデルが学習した流暢なテキストに近い状態を保ち、報酬モデルが過大評価してしまう奇妙な出力へ逸脱するのを防ぎます。
KL係数は通常βで表され、方策がどれだけ変化できるかを決めます。KL正則化目的関数には厳密な最適解があります。それは、参照モデルの確率を報酬をβで割った値の指数で重み付けしたものです。次のNumPyの例では、4つの候補応答についてこの最適解を計算します。
import numpy as np
# Four candidate responses: probability under the fine-tuned reference model and reward-model score
reference = np.array([0.50, 0.30, 0.15, 0.05])
reward = np.array([0.0, 1.0, 2.0, 4.0])
for beta in [10.0, 1.0, 0.1]:
# Optimal policy for "maximize expected reward - beta * KL(policy || reference)"
policy = reference * np.exp(reward / beta)
policy /= policy.sum()
kl = (policy * np.log(policy / reference)).sum()
print(f"beta={beta:>4}: policy={policy.round(2)}, expected reward={policy @ reward:.2f}, KL={kl:.2f}")β = 10では参照モデルにほぼ一致する[0.46 0.3 0.17 0.07]の方策を、β = 0.1では、参照モデルがわずか5%の確率しか割り当てていない応答にすべての確率が移る[0. 0. 0. 1.]の方策を出力します。この場合のKLは3.00です。βを小さくすると報酬モデルのスコアは最高になりますが、報酬モデルがその珍しい応答を過大評価していた場合、方策は人々を満足させる代わりに誤りを利用することを学習してしまいます。直接選好最適化(DPO)は、この同じ閉形式の最適解を利用して、別個の報酬モデルや強化学習ループを使わずに選好ペアから直接学習します。
RLHFの用途#
- チャットアシスタント: InstructGPTの評価者は、パラメーター数が1,300億のGPT-3よりも、RLHFで訓練したパラメーター数13億のモデルの出力を好みました。MetaのLlama 2チャットモデルは、役立ちやすさと安全性それぞれに対応する、別々の2つの報酬モデルを用いて調整されました。
- 要約: OpenAIが2020年に発表した人間のフィードバックで訓練した要約モデルは、データセット内の人間作成の参照要約よりも、評価者に好まれる要約を生成しました。
- 画像生成: 生成画像に対する人間の評価で訓練した報酬モデルを使い、プロンプトに忠実に従い、人々に好まれる画像を生成するようテキストから画像を生成するモデルをファインチューニングします。
- ロボティクスと制御: 自然に見える歩行や人混みの中を安全に進む軌道など、成功の判断は容易でも定義が難しいタスクでは、報酬関数を記述する代わりに、ロボットの試行を短い動画で見て人々が比較します。
大手プロバイダーの視覚言語モデルにも、テキストチャットボットと同様の選好調整が適用されています。Ultralytics Platform Agentsでは、Ultralytics YOLO26の検出器が詳しく確認すべき画像を判断し、Google Geminiなどのモデルがワークフローのプロンプトに従って画像を説明します。
制限事項#
人間の選好に関するデータラベリングには時間とコストがかかり、評価者同士の意見も一致しません。そのため報酬モデルは、評価者の好みの平均とともに、その偏りも学習します。また評価者は、自信に満ちた同調的な回答を高く評価する傾向があります。Anthropicが5つのアシスタントを調査したところ、人間の選好データはユーザーが表明した見解に合う応答を優遇することが分かりました。これはAIの迎合の一因です。学習された報酬に対する過度な最適化は、最終的に報酬ハッキングを引き起こします。これは報酬モデルのスコアが上がり続ける一方で、実際の品質が低下する現象です。
RLHFと関連手法の比較#
- 標準的な強化学習: ゲームのスコアなど、環境が固定の報酬を与えます。目標を捉えられる固定の報酬がない場合、RLHFは人間の評価から報酬を学習します。
- 報酬モデリング: 報酬モデルはRLHFを構成する要素の1つであり、人間の順位付けを強化学習アルゴリズムが最適化できるスコアに変換するネットワークです。
- 憲法AI: 人間の代わりに、AIモデルが文書化された原則に基づいて選好ラベルを生成します。この手法はAIフィードバックによる強化学習(RLAIF)と呼ばれる変種です。
- 検証可能な報酬による強化学習(RLVR): プログラムが数学の解答やユニットテストなどの各回答を確認し、報酬を与えます。RLVRは通常、グループ相対方策最適化(GRPO)を使って推論モデルを訓練します。最新のポストトレーニングパイプラインでは両方を使い分け、チェッカーがある場合は検証可能な報酬を、自由形式のプロンプトにはRLHF形式の報酬モデルを使用します。










