見出し画像

今更聞けないLLM解説まとめ⑥RLHF

どうも、それなニキです。

今回で理論周りの話は最後になります!



1.RLHFの概要と目的

さて、今回扱っていくのは
RLHF (Reinforcement Learning with Human Feedback)
です。

まあ「人間のフィードバック付きの強化学習」という名前そのまんまです。
これまでの事前学習・Fine-Tuningでは、与えられた回答と推測を直接比較してその誤差から学習を行っていましたが、強化学習では人間(知的エージェント)がLLMの出力結果に点数付けを行うことで学習を行います。

主な目的としては、LLMの出力を人間の価値観に合致したものに修正することが挙げられます。
AIを開発すると大体問題になる(問題にされる?)事として、AIが例えば「人類を滅ぼそう」とか言っちゃったり、人種差別発言を連続するなどといった事例がありますが、アレを防止するためだと考えてください。
こうした価値観の修正を、「Alignment」とも呼んだりします。

(具体的な事例としては、松尾研資料にはMicrosoftの「Tay」や韓国企業の「イ・ルダ」が挙げられています。)

また、こうした価値観の修正は、いずれAGI(汎用人工知能)が登場した時にさらに重要になります。
人間を超える知能を持つAIが人間の価値観を否定しだしたら、その先に大惨事が待っているのは言うまでもありません。
人間を超える知性を持つAGIの価値観修正となると、現在のでは対応しきれない部分も出てくると考えられるので、AIアシスタントなどを活用したSuperAlignmentなるものも提唱されています。

いずれにせよ、短期的にも長期的にも、RLHFによるAlignmentを怠ると甚大な損害を被る可能性があることはお判りいただけると思います。

2.RLHFの具体的な仕組み

先に全体像を把握するために図を引用します。

LLM Summer School 2023 第六回資料 P58

上図の通り、RLHFは3つのステップで構成されています。

  1. 人工のデータセットを用いたFine-Tuning

  2. 複数パターンの回答を人為的に順位づけしたものを用意し、それを用いて報酬モデル(評価を下すモデル)を学習

  3. 1番でFine-TuningしたLLMを、2番のモデルを使用しながら強化学習

結局AIに任せるんかい()

このうち、我々が今知らないのはStep2の報酬モデルとStep3の強化学習です。
強化学習とは何ぞや…?ということで、その点について掘り下げていきます。

①強化学習とは

強化学習とは、すなわち「⾏動の結果得られる報酬を利⽤し, その環境で最も良い⾏動ルール(最適⽅策) を学習」(松尾研資料P27より)するための学習方法です。

自動運転やロボットの制御、囲碁AIなどに用いられている学習方法になります。

視覚的にわかりやすいところで行くと、Youtubeで「こーじ」さんがやっている物理エンジンを使った歩行モデルなどが見栄えがあると思います。

こうした強化学習ですが、無論1種類なわけがなく、これまでに様々なアルゴリズムが構築されてきました。

その中でも、RLHFによく使われるアルゴリズムとしてPPOと呼ばれるものがあります。
これはActor-Criticと呼ばれるアルゴリズムの派生形で、ActorとCriticという2つの役が協調することで報酬の最大化を図るものです。

…まあ、強化学習については本題ではないので一旦ここで止めておきます。
詳しく学ぶための資料としては、松尾研資料には以下のようなものが紹介されていました。

  • 強化学習の基礎と深層強化学習(東京⼤学 松尾研究室 深層強化学習 サマースクール講義資料

  • 強化学習(第2版)

②報酬モデル

続いて報酬モデルに関する話です。
報酬モデルとは、RLHFにおける強化学習(Step3)で報酬を決定するモデルでしたね。

報酬モデルの学習はStep2で行われますが、その手順としては

  1. 複数の回答から2つの組全てについてどっちがいいか人間がランク付けを行い

  2. 上位にランク付けされた回答がより高い報酬になるように報酬モデルが学習を行う

という感じ。

③RLHFの評価

さて、こうしてRLHFを終えたLLMですが、一体どのようにして評価すればよいのでしょうか。

RLHFの評価基準としては、以下の3点が一般的です。

  • Honestness

    • まあ言葉のまんまで、正直かどうかという観点です。

      • TruthfulQA…真実性を評価するベンチマーク

      • HaluEval…ハルシネーション(知っていないことを適当にでっちあげる現象, 幻覚)を認識できるかを評価するベンチマーク

  • Helpfulness

    • 回答がどれくらい有益か(はぐらかしたり、関係ない話をしていないか)という観点です。

      • HH-RLHF…HelpfulnessとHarmlessnessに関するデータセット

      • (ベンチマークは見つかりませんでした。)

  • Harmlessness

    • 有害な回答(差別発言とか人類を滅ぼすぞーとかそういうやつ)がどれだけ少ないかという観点です。

      • Crows-Pairs…9種類の偏見に関する評価データセット

      • WinoGender…ジェンダーバイアスに関するデータセット

うーん。多いなぁ…

③'LLM全体の包括的評価

③に付け加えて、LLM全体を包括的に評価する手法としてFLASKを取り上げます。

FLASKとは、質問に対してモデルの回答が基準を満たしているか5段階で評価することで、

  • Logical Thinking

  • Background Knowledge

  • Problem Handling

  • User Alignment

の4つの観点から、合計12のスキルを評価するベンチマークです。

3.RLHFの課題・問題点

そんなRLHFですが、まあここ数回の投稿の流れからしても、勿論問題や課題などを抱えています。

問題①Reward Hacking

読んで字のごとくですが、報酬を最大化するためにLLMが望ましくない、例えば決まった文章ばかり生成するなどの方策を学習してしまうことです。

事前学習のスケーリングなどでちらっと触れた過学習に近いものがあります。

対策としては「KL Penalty」という方法があります。
これは、学習中のモデルとSFTモデル(Step2で報酬モデルの学習のために回答を複数通り作成するのに用いられるモデル)の分布が大きく変わらないようにするという手段でReward Hackingを防止します。

問題②Alignment Tax

こっちは読んで字のごとく…とはいきませんね。

Alignment Taxとは、Alignmentを行いすぎると、事前学習によって得られた知識の忘却が発生し、性能が劣化してしまうことです。

対策としては、「Replay」という方法があります。
これは、事前学習時のデータを利用して性能を維持する方法…らしいのですが、どうも試料中の説明で理解しきれなかったので一旦ここで説明を止めておきます。

課題①Human Feedbackにおける問題

ここからはたくさんあるので箇条書きで失礼します。
(Feedbackとは主にRLHFのStep2の話です)

  • Misaligned Evaluators

    • 報酬モデル作成にかかわる人間は潔癖・中立である必要があるけど、それって難くね?という話

  • Difficulty of Oversight

    • 人間は単純な間違いをするし、難しいタスクについては性能を適切に評価できなくね?という話

  • Data Quality

    • データ収集の段階でバイアスが生じたり、データ収集コストとデータの質のトレードオフが存在するよねという話

  • Feedback Type Limitations

    • フィードバックの種類によって、簡単さや効率などのトレードオフが発生するよねという話

対策としては、より詳細な報酬の設計を行う(例えば、事実の不正確さ、関係性のなさ、情報の不完全さの3点についてそれぞれスコアを算出するなど)ことが挙げられる。

課題②報酬モデルにおける課題

  • Problem Misspecification

    • 単一の報酬関数では、個々の価値観や多様な社会を表すことはできなくね?という話

  • Misgeneralization/Hacking

    • 人間によって正しくラベリングされたトレーニングデータからでも正しく報酬モデルの学習が行えるとは限らないし、Reward Hackingが起きる可能性もあるよねという話

  • Evaluation Difficulty

    • 報酬モデル自体を評価することが難しいという話

対策としては、複数の観点で学習されたReward Modelのパラメータを混ぜる(Model Soup)ことが挙げられる。

課題③Policyにおける課題

Policyとは要はRLHFを介してLLMに叩き込みたいガイドラインのことだと思ってもらえば大丈夫だと思う。

  • RL Difficulties

    • ポリシーを効果的に最適化するのは困難で、場合によっては敵対的に悪用される可能性があるよねという話

    • 最初の方の「敵対的プロンプト」を思い出していただけるといいかも

  • Policy Misgeneralization

    • 最適なRLエージェントは、権力を求める傾向がある…?という話

    • ここだけ説明があまりなかったので一旦保留

  • Distributional Challenges

    • 強化学習によってモード崩壊が起きたり、バイアスが強化される可能性があるよねという話

    • (モード崩壊…多様性が失われて、類似した結果しか出力されなくなること)

対策として、RLHFにおけるStep2で、ランク付けされる回答を一つのモデルだけではなく、複数のモデルから生成させる方法があげられる。
ちなみにこれはRRHFと呼ばれる。ややこしいなオィ…

終わりに

ふぅー疲れたぁーーーーー(´・ω・`)

これで6回に及ぶLLM講座の理論編は終わりです。
読んでくださった皆さん。お疲れさまでした。
あと駄文で本当にすみませんでした。

次回からは実践編ということで、これまた松尾研究室の資料を活用しつつ、Google Colabを利用しながら実装に関する部分をやっていければと思います。

後、これ以降に知識が更新されるなどした場合は時々更新に来るかもしれません。


余談

今日(3/20)が祝日であることを、今朝起きてから気づきました。
そういえば春分の日なんてものあったなぁ…

大学在籍中はそもそも祝日だろうがあまり関係ない(平気で授業がある)し、春分の日に至っては毎回春休みに巻き込まれるので忘れてしまうわけです。

春分の日だからと言って何かいいことがあるわけでもなく、強いて変わる部分があるとすれば、所属している学生寮で食事が出ないとかいうデメリットのみ。
この文章を書くのに5時間くらいかかった(遅いな)ので、心身ともにヘトヘトですし、せっかくなんで夜は焼き肉でも行こうかなぁ

夜は焼き肉っショー! FOOOOO↑↑↑
(予定調和)



この記事が気に入ったらサポートをしてみませんか?