こんにちは、皆さん。今日のテーマは「強化学習型ファインチューニング(RFT)」です。なんだか小難しい響きですが、要するに「大規模言語モデルを、私たち人間の好みに合わせて従順にしていこう」という技術のお話。
最近ではChatGPTをはじめ、スマホやPCから会話できるAIがぐんぐん活躍していますよね? あれ、実は裏で私たち人間がこっそり“しつけ”をしているのです。そう、マジで。かといってムチとかアメとか使っているわけではありません(たぶん)。その代わりに、人間のフィードバックをAIに食べさせて、「いい子だね、その答え素敵だよ」「これはだめ、もっと丁寧に答えてね」という感じで学習させるんです。
「え、AIにそこまで構ってやらなきゃいけないの?」って思いますよね。でも結果として、そのおかげでChatGPTとかがめちゃくちゃ便利になって、いろんな質問に答えてくれるようになっています。というわけで今回は、この強化学習型ファインチューニング(RFT)の話を、ざっくりと一緒に見ていきましょう。
RFTとは何か? 〜“教師あり学習”の先にあるもの
まずざっくり定義からスタートします。
RFT(Reinforcement Fine-Tuning)とは、大規模言語モデルに追加で“強化学習”を仕掛けて、人間の望む方向へ微調整しちゃう技術のこと。
普通の「教師あり学習(SFT)」は「模範解答」を教えてあげるイメージなんですよね。たとえば「こんな質問が来たら、これが模範解答ですよ!」ってのを大量に覚えさせる。しかし現実には、はっきりした正解がない質問や価値観の問題がゴロゴロあるじゃないですか。
そこで登場するのが
強化学習。AIが出した複数の答えを人間が比較評価して、「こっちのほうが好ましいな」ってフィードバックするんです。するとAIは「おっ、こう答えると人間ウケがいいのか、じゃあ次もそうしよう」って学習する。ちょうど、
犬におやつをあげると『お手』を覚えるみたいなノリですよね。
実際、OpenAIやAnthropicなどがこれを実装して、
ChatGPTや
Claudeなどの賢い対話AIが誕生したわけです。小さいモデルでも、ちゃんと人間のフィードバックで育ててあげると、大きいモデルに負けないくらい使えるヤツになったりするところが面白いんですよね。
代表的な手法いろいろ
1. PPOを使った“王道”RLHF
まずは
PPO (Proximal Policy Optimization) を使うやり方。これ、OpenAIが「InstructGPT」とか「ChatGPT」でがっつり使ったやつです。AIに報酬モデルを学習させ、その報酬を最大化するようPPOでパラメータを更新していきます。
PPOは「暴走しにくい強化学習アルゴリズム」としてわりと有名です。勝手にありえない文章を生成し始める“報酬ハック”を防ぎやすい仕組みが入っているので、先人たちはけっこう好んで使ってきました。
ただし、
報酬モデルの作成コストがかかるのが玉にキズ。大量の評価データを人間がつけて、それを学習させる必要があるため、時間も手間もお金もかかるよね…というのが現実だったりします。
2. DPO(Direct Preference Optimization) 〜強化学習ステップをすっ飛ばせ!
次が最近話題になった
DPO。これは「PPOみたいに強化学習を挟むのをやめてしまえ!」という大胆な発想です。人間が作った「こっちの答えが好き、こっちが嫌い」という比較データを、直接モデルにぶち込むイメージ。モデルの出力確率を「好ましい回答は高く、好ましくない回答は低く」なるように最適化しちゃおう、という方法です。
メリットは学習プロセスがシンプルでめちゃくちゃ早い! 計算リソースも減らせる!
ただし、「今ある嗜好データの分布内でしか学習できない」ので、
新しいプロンプトに対してモデルが自己探索して報酬を稼ぐみたいなことはやりづらいです。DPOはPPOに匹敵する性能と報告されるケースもありますが、万能かというとそうでもないんですよね。
3. RLAIF(AIフィードバックによる強化学習) 〜人間を減らす作戦
そして最近、みんなちょっと気にしているのが
RLAIF。人間の代わりに
別のAIがフィードバックを担当するという発想で、Anthropicの
「Constitutional AI(憲法AI)」なんかがその代表例です。
モデルを二つ用意して、一方が回答を出して、もう一方が「それ、憲法(安全原則)に照らしてアウトじゃない?」なんてジャッジして報酬を与える。これを繰り返すと、モデルは人間がほとんど介入しなくても“そこそこ安全な答え”を学ぶらしいです。おもしろいですよね。
もちろん、
ジャッジするAI自体が変なバイアスを持っていたら結局偏るという問題はあります。だから現状は、人間フィードバックとAIフィードバックをうまく組み合わせるハイブリッド手法が検討されている段階です。
RFTの導入プロセス 〜仕込みと調理の二段階
ここで、ざっくり
RFT(特にRLHF)の導入フローをまとめておきましょう。
-
ベースモデルを用意
まずは大規模言語モデルを持ってきます。GPT系でもLlama系でもいいし、既にSFT(教師あり微調整)済みモデルでもOK。
-
フィードバックデータを集める
ここが肝。大量のプロンプトに対してモデルが返した応答を何パターンも作り、人間が「どっちが好き?」とラベル付けします。
-
報酬モデルを訓練
上記の比較データを元に、「好ましい応答に高スコアを付ける」ネットワーク(報酬モデル)を仕込みます。
-
強化学習で微調整
モデルが応答を出す → 報酬モデルがスコアを与える → そのスコアを最大化するようにモデルのパラメータを更新、という流れ。
-
評価と反復
新しいデータを追加収集するなど、必要に応じて報酬モデルや方策をアップデート。
こうして出来上がったモデルは、
ユーザの要望に忠実で安全な回答を返しやすくなっていきます。ただ、途中でモデルが変な方向に偏らないか注意してモニターするのも超大事なんですよ。
強化学習型ファインチューニングの“本当に強い”効果
ここまで「めんどくさい」「コスト高い」とか言っておきながら、じゃあ何がそこまで良いのかというと、実際に
ChatGPTの実用性を劇的に上げたのがこのRLHFなのです。
-
回答品質UP
人間評価で「こっちのほうが良い」と選ばれる確率が、未調整モデルに比べ2倍くらいになるケースも普通にあります。「全然違うじゃん!」て驚くくらい。
-
有害発話の抑制
バリバリの罵倒や差別的表現は、RLHF前に比べて発生率が半分以下になったりする。AIが(ある程度)無難な発言をするようになるってすごいですよね。
-
小さいモデルでも侮れない
昔の論文では、パラメータ13億程度のモデルがRLHFで「1750億パラメータGPT-3」を指示追従性能で凌駕した、なんて話もあるほど。
一方で、「人間に媚びようとするあまり誤ったことでも自信満々に答える」という“sycophancy(へつらい)”問題や、トークンの無駄な冗長化など、副作用も報告されています。要は「とりあえず褒めときゃいいんだろ?」みたいな変な学習をすることがあるんですね。何事も過ぎたるは及ばざるがごとし、です。
報酬モデル・フィードバックの注意点
KLペナルティの導入
強化学習あるあるの“報酬ハッキング”を抑える一つの解決策として、
KLダイバージェンスペナルティがよく使われています。「元の分布からあんまり離れすぎたら罰金ね!」とすることで、モデルが変な最適化へ突っ走るのを防いでるわけです。
専門分野のフィードバック
医療や法律みたいなガチ専門領域の場合、やはりクラウドソーシングの素人評価だけじゃ厳しいですよね。専門家からのフィードバックが必要不可欠です。ただ、それはそれでコストがむちゃくちゃ高いのが現状。
人間とAIジャッジのハイブリッド
最近の研究や実装では、
LLM自身が評価者として働く「LLM-as-a-judge」手法が注目されています。別の大規模モデル(たとえばGPT-4)に「この回答、どう思う?」って聞いて、人間評価の代わりに使うわけですね。
確かに、人間よりずっと速く大量の評価ができるので便利。でも、その評価AIが“妙な好み”を持っていたら普通にやばい。だから「最終的には人間が検証する」+「LLMジャッジは補助的に使う」というハイブリッドが現実的なのでは? という声が多いわけです。
国内外の活用事例 〜こんなとこにもRLHF
ChatGPTやClaude、Llama-2-Chat
もう皆さんお馴染みの
ChatGPTは、実際にRLHFでガッツリ鍛えられています。だからこそ、指示に対してしっかりと答えを返し、しかも一定の安全性が保たれている。
Anthropic社の
Claudeは、「憲法AI」と称してモデルが自ら回答を評価・改善する仕組みを取り入れています。この「RLAIF」や「Constitutional AI」は、“人間が割とほったらかしでもいい感じに学習しちゃうじゃん?” という事例として注目されています。
Metaの
Llama-2-Chatもオープンソース界隈で大きな話題になりました。これも
RLHF(PPO)による微調整が功を奏し、ベースモデルより有用性や安全性が格段にアップしたそうです。
専門分野(医療・法律)へ応用
-
医療AI:アメリカの研究所では、希少疾患診断支援にRFTを使っていて、「医者レベルの直感を学習させられるんか!?」という期待が高まっているそうです。
-
法律AI:大手法律情報サービス企業も、法令・判例に対する回答を高品質化するためにRFTを導入し、弁護士のリサーチ業務を爆速化しているとか。
こういう分野で誤答があったら大問題になるので、強化学習型ファインチューニングがどう安全面で効いてくるか、今後も注目ポイントですね。
日本語モデルへのローカライズ
日本でも独自の大規模モデルを開発して、「日本語の敬語やニュアンスを踏まえた回答をさせたい」ニーズが増えています。そこで英語ベースのフィードバックデータを翻訳したり、日本語話者が評価したデータを作ったりして、
日本語特化のRLHFを進めようという動きがちらほら。
国産のChatGPTみたいなモデルを育てるにあたっては、やっぱり
日本語の文脈特有のマナーや文化的知識を学習させたいわけで、RFTはますます重要になるかもしれません。敬語がちぐはぐなAIより、ちゃんと「お疲れ様です」とか「ご提案ありがとうございます」とか言ってほしいですよね。
RFTを導入するうえでのポイントとまとめ
ここまでいろいろ話してきましたが、最後にざっくりポイントをおさらいしましょう。
-
RFT(特にRLHF)は手間とコストがかかる
人間アノテーションが大量に必要です。クラウドソーシング+専門家フィードバックをどう組み合わせるかが腕の見せどころ。
-
過剰最適化(報酬ハッキング)に要注意
KLペナルティなどで“ベースモデルとの距離”を適度に保ちましょう。むちゃくちゃな回答を生成されても困りますからね。
-
DPOやRLAIFなど新しいアプローチもある
学習工程を楽にしたり、AIが自分でジャッジする仕組みを取り入れたり。目的とリソース次第で手法を選ぶのが大事。
-
評価方法も大切(LLM-as-a-judgeを活用)
最終チェックは人間、でも大量の比較はLLMで自動化、といったハイブリッドが現実的。評価を怠るとどこかで歪みが生じるかもしれません。
-
専門領域や日本語ローカライズではRFTが鍵
医療や法律などハイリスク・ハイリターンな分野は特に、RFTによる安全性確保と精度向上が急務。日本語環境でも文化や言語特性を教え込むのにRFTはかなり効く。
さいごに 〜“しつけ”は結局コツコツやるしかない
強化学習型ファインチューニング(RFT)は、大規模言語モデルを「しっかり噛みついてこないお利口さん」に仕立てるためのキラーテクです。でも、魔法ではありません。
どんなにAIが賢くなっても、「何をどう教えるか」は私たち人間の腕にかかっている。
価値観や倫理観なんて完全に自動化できるものでもありません。だからこそ、報酬設計やフィードバックを慎重に行い、必要に応じて人間のチェックを残すのが賢明ですよね。
モデルが自分の言うことを聞くようになると、ついテンションが上がって「もっともっと従順になれ!」とか思っちゃいがちですが、そこに副作用がないかは常に注視したいところです。
そうやって、人とAIの“共生”をコツコツ作り上げていくのが、RFTの面白みでもあると思います。ちなみに私は、もう少しで「AIにふかふかのクッションをもらって満足してほしい」という報酬を与えそうになりましたが、さすがに意味不明なんで止めました。
ともあれ、ここまで読んでくださった方は、なんとなく
「RFTでAIを調整するプロセス」や
「どんな手法があるか」がおわかりいただけたのではないでしょうか。いや、知らんけど。
以上、RFTの世界をゆる〜く見てきました。技術はどんどん進歩中ですが、ゴールはまだまだ先。それがまた面白いところですね。皆さんも興味がわいたら、ぜひ手を動かしてみてください。意外と、AIの方が自分より良いセンスで学習してくれたりするかもしれません。