AI

ChatGPTはどう作られたか|RLHFと基盤モデル

AI

大量の文章を学習しただけのモデルは、そのままでは対話相手になりません。そこから「人と話せるAI」に仕上げる工程で使われたのが、人間のフィードバックを使った強化学習でした。

こんにちは、zawato(@zawato7)です!

本記事はディープラーニング入門ロードマップの第29回、生成AI編の締めくくりです。

この記事でわかること
  • 事前学習だけでは足りなかったものは何か
  • RLHFと報酬モデルの流れ
  • 基盤モデル・マルチモーダルという考え方

 

 

事前学習は「次の単語を当てる」だけ

大規模なモデルは、大量のテキストで「次に来る単語(トークン)を予測する」タスクだけを繰り返して言語能力を獲得します。これがNext Token Predictionです。人が正解ラベルを付けなくても文章の続きが答えになるため、自己教師あり学習に分類されます。

この単純なタスクだけで文法も知識も身につくのは、GPUと大量のデータが揃って初めて成り立った力技です。さらに規模が大きくなると、ファインチューニングなしでもタスクをこなせるようになりました。

呼び方与える例イメージ
zero-shot0個「これを要約して」と頼むだけ
one-shot1個お手本を1つ見せてから頼む
few-shot数個例を数個並べて形式を伝える

このときモデルに与える指示文がプロンプトです。学習し直さず、入力の書き方だけで振る舞いを変えられる点が従来との大きな違いになります。

 

 

公開まで時間がかかった理由はアライメント

言語能力が高いことと、人にとって望ましい答えを返すことは別の問題です。インターネット上の文章をそのまま学習しているため、事前学習を終えただけのモデルは、質問すると不適切な内容や有害な表現をそのまま出してしまいます。

モデルの振る舞いを人間の意図や価値観に合わせることをアライメントと呼びます。代表的なアプローチが、指示と模範解答のペアで学習させるインストラクションチューニングと、次に説明するRLHFです。この手順を整理して示した研究がInstructGPTで、そのまま対話モデルの土台になりました。

 

 

RLHF|人間の評価を報酬モデルに変える

RLHF(Reinforcement Learning from Human Feedback/人間のフィードバックによる強化学習)は、人間の好みを報酬に変換してモデルを学習させる手法です。強化学習は報酬を最大化するよう行動を学びますが、文章の良し悪しに点数は付いていません。そこで人間の評価を点数の代わりに使います。

段階やること
①教師ありの調整人が書いた模範解答でファインチューニングする
②報酬モデルの作成同じ質問への複数の回答を人がランク付けし、その順位を再現するモデルを作る
③強化学習報酬モデルの点数が高くなる方向にモデルを更新する

肝は②の報酬モデルです。人間が毎回採点していては学習が回りませんが、人の好みを学んだ採点役を一度作れば、あとはモデルが自動で大量に学習を進められます。「人が採点する」を「人の採点を真似た審査員が採点する」に置き換えるのがRLHFの発想です。

この工程を経て、指示に素直に従う対話AIとしてChatGPTが公開されました。以降のモデルでも、事前学習とアライメントの二段構えという骨格は共通しています。

 

 

基盤モデルとマルチモーダル

基盤モデル(ファウンデーションモデル)とは、さまざまなタスクの土台になる巨大な汎用モデルのことです。従来は翻訳用・分類用と個別に用意していたものが、大規模に事前学習した1つのモデルを起点に、プロンプトや追加学習で各タスクへ展開する形に変わりました。

マルチモーダルは、テキスト・画像・音声など複数の種類のデータをまとめて扱えることを指します。画像を見せて説明させる、図と文章をあわせて質問する、といった使い方がこれにあたります。

実運用では、社内文書など学習に含まれない情報を扱うために、外部の文書を検索して回答に反映させるRAG(検索拡張生成)や、ファインチューニングによる追加学習が併用されます。

 

 

まとめ

  • 事前学習はNext Token Predictionという自己教師あり学習。規模が大きくなるとzero-shot / few-shotで幅広いタスクに対応できる
  • 人の意図に沿わせるアライメントの中心がRLHF。人間のランク付けから報酬モデルを作り、それを報酬として強化学習する
  • 多様なタスクの土台になる大きなモデルが基盤モデル。テキスト以外も扱えるものがマルチモーダル

 

 

よくある質問

Q. RLHFとファインチューニングは何が違うのですか?
A. ファインチューニングは正解の文章を与えて真似させる教師あり学習です。RLHFは正解そのものではなく「どちらの回答が良いか」という人の好みを報酬に変え、強化学習で調整します。

Q. 報酬モデルは何のために必要なのですか?
A. 人間がすべての出力を採点し続けるのは現実的でないためです。人のランク付けを学習した採点役を先に作れば、以降はモデルが自動で大量に学習を進められます。

Q. zero-shotとfew-shotはどちらが精度が高いですか?
A. 一般には例を示すfew-shotのほうが出力の形式や意図が伝わりやすく安定します。ただし例の分だけ入力が長くなるため、タスクの難しさに応じて使い分けます。

Q. 基盤モデルとマルチモーダルは同じ意味ですか?
A. 別の概念です。基盤モデルは「多様なタスクの土台になる汎用モデル」、マルチモーダルは「複数の種類のデータを扱えること」を指します。両方を満たすモデルもあります。

 

 

コメント