jiku log

JTCのデータサイエンス中間管理職の学び

「大規模言語モデル入門」を読む〜第4章〜

第4章 大規模言語モデルの進展

本章では,GPTなどのテキストを生成する能力を持つ大規模言語モデルに関する解説が紹介されている。特に,プロンプトによる言語モデルの制御方法や,大規模言語モデルの出力を人間の考えに沿ってチューニングする人間のフィードバックからの強化学習(RHLF)に関する解説が紹介されている。

4.1 モデルの大規模化とその効果

本節では,大規模言語モデルの開発の歴史におけるパラメータ数および事前学習に使うコーパス量について説明している。
下表は,本節で紹介されているモデルにおけるパラメータ数および事前学習のコーパスの容量を示したものである。

モデル 発表年 パラメータ数 事前学習のコーパスの容量
BERT 2018年 3.4億個 30億語
GPT-2 2019年 15億個
GPT-3 2020年 1,750億個 3,000億語
PaLM 2022年 5,400億個
Chinchilla 2022年 1.4兆語

このようにモデルが大規模化していく背景として,モデルの規模を大きくすることで性能が比例して改善していくという経験的な法則であるスケール則(scaling laws)がある。

大規模言語モデルの規模を測る際には,パラメータ数やコーパスの容量に加えて,計算量(FLOPS)が用いられる。

4.2 プロンプトによる言語モデルの制御

従来ではファインチューニングをしないと解けないと思われていたタスクが,モデルが大規模化することに伴い,プロンプトと呼ばれるテキストを入力することで,後続するテキストを予測することができることがわかってきた。

文脈内学習

プロンプトを使ってタスクを解く際に,例示を与えることが有効である。複数個の例示を与えて学習させることをfew-shot学習(few-shot learning)または文脈内学習(in-context learning; ICL)と呼ぶ。1回だけ例示を与えるone-shot学習により,例示を与えない場合よりも性能は上がり,few-shot学習で例示を増やしていくと徐々に性能が向上する。

chain-of-thought 推論

大規模言語モデルが苦手とするタスクの一つに,多段階の推論(マルチステップ推論)がある。こうした多段階の推論が必要な際に,推論過程の例示を与えるchain-of-thought推論(chain-of-thought reasoning)を用いると性能が改善することが報告されている。

chain-of-thought推論では,最初に人間が推論の過程を示すような質問例・解答例を与えたうえで,本来解きたいタスクに関する質問を与えるというものである。
さらに,推論過程を人間が与えるのではなく,推論過程の生成を促す「ステップごとに考えよう。」といったプロンプトを与えるzero-shot chain-of-thought推論も提案されている。

このように,プロンプトを工夫することで性能を図ることをプロンプトエンジニアリング(prompt engineering)と呼ぶ。

4.3 アライメントの必要性

大規模言語モデルは,大規模なコーパスで後続するトークンの予測を行なうことで訓練されているが,このようなモデルによる予測が,人間や社会にとって理想的な挙動になっている保証がない。大規模言語モデルの出力が,人間や社会にとって有益な挙動になるように調整することをアライメント(alignment)と呼ぶ。

大規模言語モデルを開発するAnthropicはアライメントを行なう際の3つの基準として,役立つこと(helpful),正直であること(honest),無害であること(harmless)を挙げている。

4.4 指示チューニング

指示チューニング(instruction tuning)は,支持を含んだプロンプトと理想的な出力テキストの組で構成されるデータセットを使ってアライメントを行なう方法である。

指示チューニングは単純かつ効果的な方法ではあるが,大規模で高品質なデータセットを作ることが難しい,モデルの出力にフィードバックを行なえない,といった問題がある。

4.5 人間のフィードバックからの強化学習

人間のフィードバックからの強化学習 (reinforcement learning from human feedback; RLHF)は,人間の好みに対して直接的に最適化することでアライメントを行なう。

RLHFは,以下のステップで行なわれる。

  • Step 1. 指示チューニング済みのモデルが出力したテキストに対して人手で優劣のラベルを付与したデータセットを作成する。
  • Step 2. このデータセットを使って,報酬を予測する報酬モデル(reward model)を訓練する。
  • Step 3. 強化学習を使って,報酬を最大化するように指示チューニング済みモデルをファインチューニングする。

指示チューニングをする場合は正解のテキストを作る必要があったが,RLHFではテキストの優劣を判断するだけなので,データセットの作成にかかる人的コストは削減できる。

まとめと感想

感想 : 大規模言語モデルの評価・学習方法の変遷が興味深い

近年の大規模言語モデルは,スケール則にしたがいパラメータ数を増やしていくことによって性能を高めていっていた。なお,「深層学習において,パラメータ数が増えると性能が上がること」については過去記事にまとめた。
stern-bow.hatenablog.com

ChatGPT登場前の大規模言語モデルは,おそらく性能を高めていくことを目標に開発が進んでいたと考えられるが,テキスト生成を行なうGPTでは「出力されたテキストが,人間の好みに沿ったものであること」を満たすことを目的に最適化していっていることが興味深かった。

単に性能の高さを追い求めるだけでなく,近年の大規模言語モデルの開発において,モデルを評価するべき観点については理解する必要があると感じた。

本記事を最後まで読んでくださり,どうもありがとうございました。