RLHFとは
Reinforcement Learning from Human Feedback / 人間のフィードバックに基づく強化学習
人間による応答の選好評価を報酬信号として、強化学習でLLMの応答を人間の意図に近づける手法
ひとことで言うと
人が「良い答え」「悪い答え」を評価し、その評価をもとにAIを調整する学習方法。
概要
RLHF(Reinforcement Learning from Human Feedback)とは、人間が複数の応答を比較評価した選好データをもとに報酬モデルを学習し、その報酬モデルが与えるスコアを最大化するよう強化学習でLLMを調整する手法。 モデルが生成した複数の応答に対して人間が「どちらが良いか」を評価し、そのデータで報酬モデルを訓練したうえで、PPO(Proximal Policy Optimization)等の強化学習アルゴリズムを用いてLLM本体(方策)を更新する。 ChatGPTをはじめとする指示追従型LLMのアライメントを実現する中核技術として広く採用された。 一方で報酬モデルの学習と強化学習を組み合わせたパイプラインは実装が複雑でコストも高いため、選好データから直接方策を最適化するDPO(Direct Preference Optimization)といったより単純な手法も広く使われるようになっている。
背景
「良い応答とは何か」を明示的なルールとして書き下すのは難しく、教師ありファインチューニングだけでは正解ラベルが存在しない曖昧な評価軸(有用性・安全性・自然さ等)をモデルに学習させにくいという課題があった。 RLHFは、人間の相対的な選好比較を報酬信号として活用することで、この曖昧な評価軸を強化学習の枠組みでモデルへ学習させるために考案された。
歴史
2017年: ChristianoらがOpenAIとDeepMindの共同研究として、人間の選好比較から報酬関数を学習する手法を提案。 2019-2020年: OpenAIが要約タスク等にRLHFを適用し効果を実証。 2022年: InstructGPTがRLHFを指示チューニングと組み合わせ、ChatGPTの基盤技術として確立。 2023年以降: RLHFより計算コストの低いDPO等、報酬モデルを介さない選好最適化手法が台頭。
アーキテクチャ
(1)教師ありファインチューニング済みモデルの複数の出力に対し人間が選好順位を付与、(2)その選好データで応答の質をスコア化する報酬モデルを学習、(3)報酬モデルのスコアを最大化するようPPO等の強化学習アルゴリズムでLLM本体を更新、という3段階で構成される。
ワークフロー
指示チューニング済みモデルを用意 → 同一プロンプトに対する複数の応答を生成 → 人間が応答の優劣を評価し選好データを収集 → 選好データで報酬モデルを学習 → 報酬モデルを用いた強化学習でLLM本体を最適化。
コード例
Hugging Face TRLでPPOによる強化学習を行う
from trl import PPOConfig, PPOTrainer
from transformers import AutoModelForCausalLMWithValueHead, AutoTokenizer
model = AutoModelForCausalLMWithValueHead.from_pretrained("gpt2")
ref_model = AutoModelForCausalLMWithValueHead.from_pretrained("gpt2")
tokenizer = AutoTokenizer.from_pretrained("gpt2")
config = PPOConfig(batch_size=16)
trainer = PPOTrainer(config, model, ref_model, tokenizer)
# 報酬モデルのスコアをもとに、生成した応答に対しPPOでモデルを更新する
# trainer.step(queries, responses, rewards) を学習ループ内で繰り返す利点
- 明示的なルール化が難しい「良い応答」の基準を、人間の選好比較から学習できる
- 指示追従性・安全性・自然さなど、複数の評価軸を統合的に反映できる
- InstructGPT・ChatGPT等での実績があり、実用面での効果が広く確認されている
欠点
比較
- アライメント — RLHFはアライメントを実現する代表的な手法の1つ
- ファインチューニング — RLHFは、教師ありファインチューニング(指示チューニング)の後段で追加的に適用されることが多い
関連用語
よくある質問
RLHFとDPOの違いは?
RLHFは報酬モデルを学習しPPO等の強化学習で最適化する多段階の手法。 DPOは報酬モデルや強化学習を介さず、選好データから直接方策を最適化する、より単純で計算コストの低い代替手法。
RLAIFとは何が違う?
RLHFは人間による選好評価を報酬信号にするのに対し、RLAIF(Reinforcement Learning from AI Feedback)はAIモデル自身による評価を報酬信号として用いる、人手評価コストを抑えるための派生手法。