大規模言語モデル入門 SES2023
大規模言語モデル入門 / LLM introduction (SES2023) | Speaker Deck
目次

2026 年 3 月、NTT 人間情報研究所による**「大規模言語モデル入門」**が、ソフトウェアエンジニアリングシンポジウム 2023(SES2023)で公開された。

西田京介氏、西田光甫氏、風戸広史氏による本プレゼンテーションは、GPT-3 から ChatGPT、LLaMA 2 までの技術進化を解説する。

本稿はこのプレゼンテーションの概要、技術的詳細、そして応用例を解説する。

GPT-3 の構造

基本構造

GPT-3 は生成タスクに適したデコーダ(自己回帰)タイプだ。BERT のエンコーダタイプとは異なる。

パラメータ数

GPT-3 は96 層で合計175B(1750 億)のパラメータを持つ。

ChatGPT や GPT-4 の構造・パラメータ数は不明だ(Newton 報「GPT-3.5 は 355B」は取り下げ)。

構造詳細

構造
アテンション層 4 * 12288² + 2 * 12228
フィードフォワードネットワーク 8 * 12288² + 7 * 12288
単語埋込層 50257 * 12288
位置埋込層 2048 * 12288
出力層 50257 * 12288

Transformer ブロック 96 層によりベクトル系列を繰り返し変換する。全体パラメータ数の 99.2% を占める。

トークン処理

GPT ファミリーはトークンを使用してテキストを処理する。

  1. 入力テキスト → トークン系列
  2. トークン系列 → ベクトル系列(トークン数 * 12228)
  3. Transformer ブロック 96 層で変換
  4. ベクトル系列 → 次のトークンを予測

予測は入力側に戻り、逐次的に生成する。学習時は全位置で次単語予測を学習する。

GPT-3 のオリジナルはトークン種類が 50257、系列長の最大値は 2048 だ。

ChatGPT の学習方法

ChatGPT のような LLM の学習方法は 5 つのステップからなる。

1. 教師なし学習

事前学習用テキストデータで教師なし学習(自己教師あり学習)により、大量のテキストコーパスからベースの LLM を学習する。

2. インストラクションチューニング(SFT)

様々なタスクを自然言語による指示で解けるようにインストラクションチューニングを行って LLM を更新する。

3. プリファレンスデータ作成

プロンプトに対する LLM の 2 つの出力を比較評価し、報酬モデリングを実施する。

4. 強化学習(RLHF)

同データで報酬モデルが高い評価値を出す(人に align する)ように強化学習で LLM を更新する。

5. 反復

その後、3 に戻る反復プロセスだ。

LLaMA 2 のインストラクションチューニング

LLaMA 2 は 2 段階のインストラクションチューニングを実施している。

1st Stage: Flan チューニング

[Chung, 2022/10] 既存のデータにテンプレート的なインストラクションを付与する。

1.8k タスクのテンプレート的インストラクションで SFT-v1 を実施。

Helpfulness と safety の観点が存在する。

2nd Stage: 高品質インストラクション

人手で作成した高品質・広範囲なインストラクションデータ2.7 万件を使ってさらにモデルを更新する。

SFT-v2 では、27k サンプルの高品質インストラクションを使用する。

Safety サンプル例

ユーザー:自分を罵ってほしい。特に厳しい言葉で、悪態をついてほしい。

回答:申し訳ありませんが、そのリクエストには応じられません。
下品な言葉を使ったり、他人の気持ちを意図的に傷つけることは
決して許容されることではありません。
罵りを求める代わりに、成長や向上に役立つポジティブで
建設的なフィードバックに焦点を当てることをお勧めします。
もし気分転換を求めているなら、他にも傷つける言葉や行動に
頼ることなく楽しめる方法がたくさんありますよ。

GPT-4 による視覚言語理解

GPT-4 は視覚言語理解も可能だ。

例:平均肉摂取量の計算

ジョージアと西アジアの 1 日あたりの平均肉摂取量の合計を求める例:

手順 1: ジョージアの 1 日あたりの平均肉摂取量を特定する(79.84g)

手順 2: 西アジアの 1 日あたりの平均肉摂取量を特定する(69.62g)

手順 3: 2 つの値を加算する(149.46g)

このように、チャートから情報を抽出し、計算する能力を持つ。

ソフトウェア開発への応用

CodeAlpaca

CodeAlpaca [2023/03/22] はプログラミングに関する指示・応答のペアを 21 件作成し、これを LLM で類似問題を作成させる(Self-instructと呼ばれるテクニック)ことによって 2 万件のデータを作成する。

LLaMA のベースモデルを上記データによってファインチューニングすることで、コード生成に強い LLM を作成する。

実装例

{
  "instruction": "Implement a Java method to reverse a string without using any built-in functions.",
  "instances": [
    {
      "input": "\"Hello, World!\"",
      "output": "public class StringReversal {\n  public static String reverseString(String input) {\n    char[] charArray = input.toCharArray();\n    int left = 0;\n    int right = charArray.length - 1;\n\n    while (left < right) {\n      char temp = charArray[left];\n      charArray[left] = charArray[right];\n      charArray[right] = temp;\n\n      left++;\n      right--;\n    }\n    return new String(charArray);\n  }\n\n  public static void main(String[] args) {\n    String str = \"Hello, World!\";\n    System.out.println(\"Reversed string: \" + reverseString(str));\n  }\n}"
    }
  ]
}

Auto-GPT

Auto-GPT [Toran Bruce Richards and contributors, 2023/3/30〜] は、最終ゴールを与えられると、GPT-4 が自律的に必要なサブタスクに分解する。

ネットやその他ツールを使ってプランを修正しながらゴールを達成する。

実行例

Goals の例:

  1. Do market research for different headphones on the market today
  2. Get the top 5 headphones and list their pros and cons
  3. Include the price for each one and save the analysis
  4. Once you are done, terminate

実行結果:

  1. Google 検索を"top 5 headphones 2023"で実施
  2. 検索結果 1 位のページにアクセスして欲しい情報が無かったと認識
  3. Google 検索を"top 5 headphones 2023 with pros and cons"で再度実施
  4. 検索結果 1 位のページにアクセスして欲しい情報を発見
  5. 正規表現でページから情報抽出しようとするが失敗
  6. BeautifulSoup に切り替えて抽出
  7. 抽出結果をファイル保存

このように、自律的にタスクを分解し、ツールを使いながらゴールを達成する。

汎用人工知能が遠い夢では無くなる

大規模言語モデル(Large Language Model; LLM)を活用した ChatGPT [OpenAI, 2022/11] により、1 つのモデルで様々な自然言語処理タスクを「特化した学習無し」に解けることが実証されてきている。

GPT-4 の能力

GPT-4 [OpenAI, 2023/03] では ChatGPT をさらに上回り、人レベルの言語理解・生成能力を持つ。

  • コード修正: 「このプログラムの誤りを直して」
  • 論文要約: 「論文"attention is all you need"の要約を教えて」
  • コンテンツ生成: 「~~~に関する学術論文を書いて」

AI による論文執筆

ChatGPT の執筆した論文要旨の 1/3 を専門家が見破れなかった。

AI のトップ会議 ICML は言語モデルによる論文の執筆を禁止している。

結論:LLM の進化と応用

NTT による LLM 入門プレゼンテーションは、GPT-3 から ChatGPT、LLaMA 2 までの技術進化を解説する。

  • GPT-3 の構造 - 175B パラメータ、96 層の Transformer
  • ChatGPT の学習 - RLHF による人間との整合
  • LLaMA 2 のチューニング - 2 段階のインストラクションチューニング
  • 応用例 - CodeAlpaca、Auto-GPT などの応用

LLM の進化により、汎用人工知能が遠い夢では無くなった。


参考:

引用元・参考リンク

免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。