ちょっと前に話題になったRLHFです。巷の記事を検索して探してみました。
RLHF(Reinforcement Learning from Human Feedback:人間のフィードバックからの強化学習)とは?
https://atmarkit.itmedia.co.jp/ait/articles/2306/07/news025.html
「RLHF(Reinforcement Learning from Human Feedback)とは、「人間のフィードバックからの強化学習」という名前の通り、人間の価値基準に沿うように、人間のフィードバックを使ってAI(言語)モデルを強化学習で微調整(ファインチューニング)する手法である。なお強化学習とは、フィードバック(報酬や罰)に基づいて学習する方法のことだ。」
結論出てしまいました。
「RLHFの特長は、人間の好みや意図といった「人間の価値基準」がAIモデルに反映されるため、AIモデルの出力がより安全・無害で有用なものとなることである。RLHFが採用されていなかったGPT-3モデルでは、倫理的に問題のある内容や、差別的で有害な内容、真実でない情報、単純に役に立たない情報などが出力される可能性がより高かったが、これがRLHFにより改善している。」
人間寄りにするために導入されて成功しているようです。
Training language models to follow instructions with human feedback
Long Ouyang, Jeff Wu, Xu Jiang, Diogo Almeida, Carroll L. Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, John Schulman, Jacob Hilton, Fraser Kelton, Luke Miller, Maddie Simens, Amanda Askell, Peter Welinder, Paul Christiano, Jan Leike, Ryan Lowe
https://arxiv.org/abs/2203.02155
こちらの論文がわかりやすいようです。
プロセスの紹介もありましたが、他の記事でもプロセスの説明をしているので、次の記事を見てみたいと思います。
ざっくりわかるRLHF(人間からのフィードバックを用いた強化学習)
https://blog.brainpad.co.jp/entry/2023/05/31/160719
具体的なステップが紹介されています。
ステップ1:教師あり学習で既存の言語モデルをfine-tuning
「まず、学習に用いるプロンプトを用意します。
次に、それに対応した「望ましい出力」を人力で用意します。
こうして作られたデータセットを基に、教師あり学習を実施して、ひとまず人間の望む出力へ言語モデルをfine-tuningします。」
最初はファインチューニングから入って、まずは対象となる人間の質問と答えのセットからスタートするのですね!
ステップ2:出力のパターンの収集と報酬モデルのトレーニング
「ステップ1でfine-tuningしたモデルを利用して、1つのプロンプトに対する複数の応答を用意します。
モデル作成者は、その応答文をより好ましいものから順に順位付けします。
そして、これらを使って報酬モデルを学習させます。」
次は今ファインチューニングしたものから複数回答を得るようです!そこでスコアリングですね!
ステップ3:報酬モデルに対してポリシーを最適化
「このステップでは、ステップ2で学習した報酬モデルに対してポリシーを最適化することで、報酬モデルに最適な(最も望ましい応答文を返す)応答文の生成モデルを作ることができます。」
ポリシーベースの強化学習でここで評価関数を最適化するのでしょうか?いい感じですね。
こちらの解説分が全てな気がします。最終的には全体のフローが大事ですが、最後のポリシーの最適化アルゴリズムに技術的な工夫がありそうです。
次の記事を見てみます。
RLHF (人間のフィードバックからの強化学習) の図解
https://note.com/npaka/n/nb7796ae874c5
解説自体は同じような感じでしたがPPOに関して多少詳細な解説がありました。
あとは、ツール類が紹介されています。
・TRL (Transformers Reinforcement Learning)
・TRLX (Transformers Reinforcement Learning X)
・RL4LMs (Reinforcement Learning for Language models)
RLHF:人間による評価を利用して強化学習エージェントを訓練する方法
https://ai-scholar.tech/articles/alignment/drl_from_human_preferences
こちらはベンチマークなどが載っていました。
RLHFについてみてきましたが、比較的わかりやすい概念かと思いました。人によってはわかりにくいのかもしれませんが。
今の所使う機会があまりないのですが、今後使う時があったらもっと深くみてみたいと思います。以上です。