大規模言語モデル入門
NTT人間情報研究所
西田京介，西田光甫, 風戸広史
2023年8月24日 ソフトウェアエンジニアリングシンポジウム2023

講師紹介＆目次
西田光甫

1. LLMに関わる基礎知識
専門:自然言語理解・生成・ニューラルネットを用いた自然言語処理
NTT人間情報研究所 研究員． ・Transformer，BERT，GPT-3

西田京介

2. 対話に最適化されたLLMおよび専門:機械読解（質問応答）， ソフトウェアエンジニアリングへの応用
Vision-and-Language
・ChatGPT, GPT-4, LLaMA
NTT人間情報研究所
・Github co-pilot，コードに最適された
上席特別研究員．
LLM

Copyright 2023 NTT CORPORATION

2

協力者紹介
風戸 広史

専門:ソフトウェア工学「ソフトウェアエンジニアリングへの応用」パートの資料作成および調査に貢献

NTT人間情報研究所主任研究員．（2023/07より）

Copyright 2023 NTT CORPORATION

3

ニューラルネットワークを用いた
自然言語処理の基礎知識

Copyright 2023 NTT CORPORATION

4

深層学習時代の自然言語処理の概要
出力情報

分類ラベル，生成テキスト，特徴量（ベクトル），etc.
ベクトル系列から所望の情報へベクトル系列ニューラルネットワーク
ベクトル系列の変換を繰り返し行う
各トークンをベクトルへ“埋め込み”

ベクトル系列<S> メロ

入力テキスト“メロスは激怒した。必ず、かの邪智暴虐…決意した”

Copyright 2023 NTT CORPORATION

スは 激怒

…

した

トークン（単語やサブワード）化

トークン系列5ニューラルネットワークの学習のイメージ• 自然言語処理タスクの多くは「分類問題」として，ニューラルネットの出力を正解に近づけるように学習を行う

正解クラスの値を大きく不正解クラスの値を小さく“positive” “negative”

正解単語の値を
大きく

他の値を
小さく
“走る”

“激怒”

2次元ベクトルを出力

語彙サイズの次元数のベクトルを出力

感情判定
モデル

言語モデル

“メロスは激怒した。”“メロスは”

タスク:テキストを2つのクラスに分類

タスク:入力に続く次の単語を生成

Copyright 2023 NTT CORPORATION

6

初期のニューラル自然言語処理• タスク毎に適したニューラルネットワークを設計し，正解情報付きのデータセットで学習していた• 深層学習により性能は高まったが，学習データが少ないと高い精度は実現しにくい課題が残っていた

タスク特化
ニューラル
ネット構造

タスク応用
モデル
タスクデータで学習できれば数万件程度欲しい

Copyright 2023 NTT CORPORATION

7

言語モデルの「事前学習」が主流に• 言語モデル（Language Model; LM）は，単語（トークン）列の生成尤度をモデル化し、将来の（あるいは欠落した）トークンの確率を予測する• 2018年頃から，言語モデルが自然言語処理の「基盤」として有効であると注目を集めるようになり，タスクは大きく2種類に集約されていった

汎用
ニューラル
ネット構造

Copyright 2023 NTT CORPORATION

事前学習済
言語モデル

タスク応用
モデル

大規模コーパスで
事前学習

ファイン
チューニングアノテーションなし
テキストコーパス

正解情報ありの学習データ

8

自然言語処理タスクの分類• 自然言語理解（NLU）と自然言語生成（NLG）の2種類に大きく分類• タスクごとに適したアーキテクチャがある

自然言語理解自然言語生成Natural Language Understanding

Natural Language Generation

テキストの意味を理解

入力からテキストを生成• テキスト分類• 情報検索• 感情分析
• 固有表現抽出• Etc.

Copyright 2023 NTT CORPORATION• 機械翻訳• 生成型要約• 発話生成• 言い換え• Etc.

9

NLUタスクとモデルのイメージ• エンコーダ型のモデルを用いて，テキストのクラス分類，各単語へのラベリングなどを行う• 代表的モデル:BERT [Devlin+, NAACL’19]
クラス分類
文学

固有表現抽出人名 人名

双方向モデリング

各位置の出力は
未来情報(右側)にも依存<S> 宮沢 賢治 は 日本 のCopyright 2023 NTT CORPORATION

テキストは一度に与えられる10

NLGタスクとモデルのイメージ（1/2）• デコーダ型のモデルを用いて，入力系列の続きを生成したりテキストAからテキストBへの変換を行う• 最近はこのアーキテクチャが主流（NLUタスクもこれで解く）• 代表モデル:GPT-3 [Brown+, NeurIPS’20]
宮沢 賢治

は

日本

の

次単語予測

自己回帰モデリング

各位置の出力は
過去情報(左側)にのみ依存<S> 宮沢 賢治 は
Copyright 2023 NTT CORPORATION

日本

予測を入力として戻す

11

NLGタスクとモデルのイメージ（2/2）• エンコーダデコーダ型のモデルを用いて，テキストAからテキストBに変換（翻訳や要約など）• 代表モデル:Transformer [Vaswani+, NIPS’17]，T5 [Raffel, JMLR’21]

エンコーダの
出力をデコーダで利用

これはCopyright 2023 NTT CORPORATION

ペン

です

。

This




is

a

pen

.

</s
>


 This

is

a

pen

.

12

最近のベースモデル＝Transformer• 近年の事前学習済み言語モデルの多くが殆どが Transformer ベースとなっている
エンコーダデコーダ

Transformer
エンコーダを
事前学習

BERTなどCopyright 2023 NTT CORPORATION

デコーダを
事前学習

GPT-3など

エンコーダデコーダを
事前学習

T5など

13

Transformer [Vaswani(Google)+, NIPS’17]• 単語間の関係を理解（表現）するためにRNNやCNNを用いず，アテンションのみを用いたエンコーダデコーダ型モデルを提案• 機械翻訳で評価実験し，当時の最高性能を更新
This

Transformer
エンコーダ
これ

Copyright 2023 NTT CORPORATIONはペンです 
isapen 
Transformer
デコーダ
 This

is

a

pen

14

アテンション [Bahdanau(Jacobs U)+, ICLR’15]• デコーダが1単語ずつ出力するときに、エンコードされた翻訳元テキストのどの部分に注意すれば良いかを与える機
構（行列計算で実現）
コンテキスト（「ペン」に強い注意）
注意

エンコーダ

これ

は

ペン

です 
×

softmax
Copyright 2023 NTT CORPORATION

次単語は何か?
“pen”を予測

×デコーダ
 This isa×
Encoderの隠れ状態の×
重み付き平均=15セルフアテンション• エンコーダデコーダ間のクロスアテンションに加えて，系列単体でもアテンションを取る• 系列の各位置をQuery，系列全体をKey，Valueとして考える

Key-Value辞書から，Queryに近い
KeyのValueを取り出すイメージ
Query

Key

Value

Valueの重み付き平均

Copyright 2023 NTT CORPORATION

16

マルチヘッドアテンション• アテンションを複数の”ヘッド“に分割して実施する• ベクトルの次元方向に分割してアテンション処理を行い，最後に結合して元の次元数に戻すイメージ
ヘッド1

Query

Q, K, V毎に線形変換
※学習パラメータ

Key

Value
線形変換
※学習パラメータ

ヘッド2
ベクトル系列

Query

Key

Value

結合
ベクトル系列Q, K, V毎に線形変換
※ヘッド1とは別のパラメータ
Copyright 2023 NTT CORPORATION

17

Transformerの簡略化イメージ• エンコーダデコーダの双方でセルフアテンションを導入• ブロックを多層に積上げることで性能向上

出力単語系列 （次単語予測）
線形変換＆softmax

ブロック
xN

FFN(MLP)
ブロックxN

Cross-Attention(

FFN(MLP)(

Self-Attention)

単語・位置埋込
入力単語系列Copyright 2023 NTT CORPORATION()

Self-Attention)

単語・位置埋込
出力単語系列 （予測を戻す）

18

なぜセルフアテンションは有効か• 単語系列の文脈の理解は主にRNN（LSTMやGRU）で行われてきたが、⾧期依存性の理解には限界があった• セルフアテンションでは系列内で遠く離れた単語の関係性も直接考慮できるため性能向上に大きく寄与

RNN

遠く離れた
単語も直接
関係を考慮

セルフアテンション
単語系列

遠く離れた
単語の関係性を捕まえにくい単語系列
単語系列

Copyright 2023 NTT CORPORATION

19

ここまでのまとめ• ニューラルネットワークによる言語処理が主流に• タスクはNLU（自然言語理解）とNLG（自然言語生成）に大別• モデルはエンコーダ，デコーダ，エンコーダデコーダ型がある• 最近のベースモデルはTransformer• Transformerはテキストをはじめとした系列データのモデリングに強い

Copyright 2023 NTT CORPORATION

20

言語モデルの大規模化
BERTとGPT-3

Copyright 2023 NTT CORPORATION

21

言語モデルの大規模化• モデルサイズ（パラメータ数）の大きな言語モデルが次々と作られている• どこからが「大規模」かというコンセンサスは無い

Copyright 2023 NTT CORPORATION

https://lifearchitect.ai/models/22

BERT [Devlin(Google)+, 2018/10, NAACL’19]• 大量のテキストデータで事前学習した，24層の巨大なTransformerエンコーダに基づく言語モデル（340M＝3.4億個のパラメータ）• 多数の自然言語理解（NLU）タスクへのファインチューニングで高い性能を実現して注目を浴びる

https://www.aclweb.org/anthology/N19-1423/
Copyright 2023 NTT CORPORATION

23

BERTの検索エンジンへの導入• 2019年10月25日（BERT発表から1年後）、Googleは検索エンジンのアルゴリズムをBERTベースに更新• 2019年12月10日には日本語含む72言語に拡張
よりクエリの意図を考慮した結果にCopyright 2023 NTT CORPORATION

https://www.blog.google/products/search/search-language-understanding-bert/

24

BERTが優れた性能を達成したタスクの例:

機械読解（SQuAD 1.1） [Rajupurkar(Stanford)+, EMNLP’16]• 質問に対してテキストを読み解いて回答するタスク
入力:Wikipediaの段落

出力:回答

入力:質問

https://www.aclweb.org/anthology/D16-1264/

Copyright 2023 NTT CORPORATION

テキスト中の任意の範囲を抽出して回答

25

SQuAD 1.1で人間超えのスコアを達成• 機械読解に特化したニューラルネット構造を持たずに、人間の質問応答スコアを大きく超える性能を達成

完全一致

部分一致
人間の正答率82.304%
BERTの正答率
87.433%https://rajpurkar.github.io/SQuAD-explorer/
Copyright 2023 NTT CORPORATION

26

BERTの特徴(1) マスク化言語モデリング• 穴埋め問題により，文脈の中で単語が出現する確率を予測する• 大量のテキストさえあれば，人間が追加で正解をアノテーションすることなく学習可能（自己教師あり学習）… My dogishairy …

マスク前の文章を予測

双方向アーキテクチャ
マスク単語の前後の情報を使って予測… My [MASK] is hairy …
Copyright 2023 NTT CORPORATION

入力の一部をマスク

27

BERTの特徴(2) 次文章予測• 自然言語理解（NLU）のタスクは2つの文の関係性理解が多い• そこで，文書中で隣接する文/ランダムな2文をセパレータで繋げて、隣接する文か否かの判定を穴埋め予測と同時に学習
IsNext my dog is cute [SEP] he likes playpiano

分類:2文が隣接か否か?

[SEP]

穴埋め

BERT
（Transformerエンコーダ）[CLS] my dog is cute [SEP] he likes play [MASK] [SEP]

Copyright 2023 NTT CORPORATION

1文目

2文目

28

BERTの特徴(3) ファインチューニング
• シンプルな出力層を1層だけ基盤モデルの最上部に追加する• 例:機械読解では回答範囲の始点・終点予測用に線形変換を追加
テキスト中の各トークンの回答範囲始点・終点スコア

出力層

BERT
（Transformerエンコーダ）
[CLS]

質問文

….. の 日付 は ?
Copyright 2023 NTT CORPORATION[SEP]

テキスト（回答抽出元）[SEP]…. は 3 月 12 日 で ある …

29

GPT-3 [Brown(OpenAI)+, 2020/07, NeurIPS’20]• 超大量のテキストデータ（3000億トークン）で事前学習した，96層の超巨大なTransformerデコーダに基づく
言語モデル• パラメータ数は175B＝1750億個（ファイルサイズで言うと700GB程度）• 参考:BERTは 24層，3.4億個のパラメータ，約3.3億トークン

GPT-3はBERTの穴埋め
ではなく次単語予測で事前学習する<S>

https://papers.nips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html
Copyright 2023 NTT CORPORATION

30

GPT-3 の構造• GPTは生成タスクに適したデコーダ（自己回帰）タイプ．BERTのエンコーダタイプとは異なる．
• GPT-3（下図）は96層で合計175Bのパラメータを持つ．ChatGPTやGPT-4の構造・パラメータ数は不明（Newton報「GPT-3.5は355B」は取り下げへ [Okumura, 2023/06]）
出力
GPT family of models process text using tokens, which are common sequences
トークン列
出力層 (50257 * 12288)
ベクトル
系列

ベクトル系列 (トークン数 * 12228)

フィードフォワードネットワーク (8 * 122882 + 7 * 12288)
アテンション層 (4 * 122882 + 2 * 12228)

ベクトル
系列

x96

ベクトル系列から次のトークンを予測※ 予測は入力側に戻り，逐次的に生成※ 学習時は全位置で次単語予測を学習
Transformerブロック96層によりベクトル系列を繰り返し変換※全体パラメータ数の99.2%

ベクトル系列 (トークン数 * 12228)

単語埋込層 (50257 * 12288)・位置埋込層 (2048 * 12288)

トークン
系列

The GPT family of models process text using tokens, which are common

入力
テキスト

The GPT family of models process text using tokens, which are common

トークナイザCopyright 2023 NTT CORPORATION

テキストからトークン系列へ，
そしてベクトル系列へ変換※ GPT-3のオリジナルはトークン種類は50257，系列⾧の最大値は2048

31

GPT-3の膨大な事前学習が可能にすること• 人間の様な「少数の例示による学習」が可能になってきた• 大量のテキストの中には同一タスクの例が繰返し現れるコンテキストも含まれており，こうした学習が例示による学
習能力を向上させる
大量テキストによる事前学習

同一タスクの繰り返しを含む系列

https://arxiv.org/abs/2005.14165
Copyright 2023 NTT CORPORATION

32

GPT-3のfew-shot学習• タスク説明と少数の例を与えるのみでモデルの更新無しに問題を解く

ここまでを一つの系列としてGPT-3に入力
 回答を続きの文章として出力する
https://arxiv.org/abs/2005.14165
Copyright 2023 NTT CORPORATION

33

Scaling laws [Kaplan (OpenAI)+, 2020/01]• 計算量（学習回数），学習トークン数，モデルパラメータ数，に言語モデリング（次単語予測）の性能は強く依存することを実験的に示す• 大量の計算機資源を用いて，大量のデータを，大きいモデルで学習すれば良いモデルができる!

Copyright 2023 NTT CORPORATION

https://arxiv.org/abs/2001.08361

34Chain-of-Thought [Wei(Google)+, 2022/01]• 思考の途中過程もプロンプトとして与えることによって，算術や常識の推論能力が大きく向上する現象• Chain-of-Thoughtの能力を発現するにはある程度のモデルサイズが必要（8Bだと不十分であることが多い）

プロンプト
に思考方法
を追記

思考過程も
含めて正解
できる
Copyright 2023 NTT CORPORATION

https://arxiv.org/abs/2201.11903

35

“Let’s think step by step” [Kojima+, 2022/05]• いわゆる「おまじない」として”Let’s think step by step”をプロンプトに与えると，Chain-of-thoughtのように推論仮定をモデルが出力するようになる• 「プロンプトチューニング」の大事さを顕著に表す例と言える

https://arxiv.org/abs/2205.11916
Copyright 2023 NTT CORPORATION

36

PaLM [Chowdhery (Google)+, 2022/04/19]• 540Bの巨大モデル．幾つかのタスクでモデルサイズの増加により，非連続的に性能が改善• タスクによっては，540Bモデルでもファインチューニングモデルや人間の性能には届いていない
モデルサイズ vs.
タスク性能

非連続的な改善Copyright 2023 NTT CORPORATION

https://arxiv.org/abs/2204.02311

37Chinchilla [Hoffman (DeepMind)+, 2022/03/29]• 400種類のモデルと学習トークン数の組み合わせで実験し，LLMの学習に必要なトークン数を実験的に示した• Chinchilla（70Bパラメータ／1.4Tトークン） は，Gopher（280Bパラメータ／300Bトークン）の性能を多くのタスクで凌駕した

GPT-3のサイズなら3.7Tトークン必要（実際は300B）

Copyright 2023 NTT CORPORATION

https://arxiv.org/abs/2001.08361

38ここまでのまとめ• 2018/10のBERTの発表によりパラダイム・シフトが発生し，「大規模モデルの事前学習→
ファインチューニング」が主流に• 2020/07のGPT-3の発表以降は，Few-shot学習（プロンプト＝入力テキストとして少量の例示）が大きな注目を集めている• BERTもGPT-3も大量のテキストがあれば学習可能（自己教師あり学習）• 大量の計算機資源を用いて，大きいモデルを学習する，というアプローチが活発化している• 単純にモデルを大きくすればそれで良い，という訳でも無く，学習データの量や質の重要性も指摘され始めた

Copyright 2023 NTT CORPORATION

39

大規模言語モデルのさらなる発展
Instruction-tuning, ChatGPT, LLaMA

Copyright 2023 NTT CORPORATION

40

汎用人工知能が遠い夢では無くなる• 大規模言語モデル（Large Language Model; LLM）を活用した ChatGPT [OpenAI, 2022/11] により，1つのモデルで様々な自然言語処理タスクを「特化した学習無し」に解けることが実証されてきている• GPT-4 [OpenAI, 2023/03] ではChatGPTをさらに上回り，人レベルの言語理解・生成能力を持つ（情報の検索）論文“attention is all youneed”の要約を教えて>こちらは「Transformer」という深層学習モデルを提案した論文です。

（タスクの指示）このプログラムの誤りを直してCopyright 2023 NTT CORPORATION～～～に関する学術論文を書いて> こちらが修正したコードになります．

Transformerは、seq2seq（順方向から順方向への変換）タスクや自然言語処
理タスクなどに．．．

新たな情報検索の体験（コンテンツの生成）

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

AIが人に変わり任意の言語タスクを遂行

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

Instruction-tuning (Flan) [Wei(Google)+, 2021]• 既存の自然言語処理タスクを自然言語によるインストラクションを付与して変換し，大規模言語モデルをインスト
ラクションに従った出力が出来るようにチューニング
• Flan v2 [Chung(Google)+, 2022/11]では1800超のタスクまで拡大させて性能アップ

https://arxiv.org/abs/2109.01652
Copyright 2023 NTT CORPORATION

42

InstructGPT [Ouyang (OpenAI)+, 2022/03/04]• LLMを「人の指示に従って回答できるように」「人の感覚に合った出力ができるように」チューニング
• 1.3Bのモデルであっても，175BのGPT-3よりも事実性や有害性の観点で良いテキストを生成できた指示（インストラクション）
GPT-3は指示に従った出力ができていない

指示に従った出力ができている

Copyright 2023 NTT CORPORATION

https://openai.com/blog/instruction-following/

43

ChatGPT [OpenAI, 2022/11/30]• InstructGPTを発展させ，人のフィードバックに基づいて対話に最適化したLLM（パラメータ数など不明）• その高い性能から最速でアクティブユーザ1億人に到達．社会に大きな影響を与えるレベルに到達

https://twitter.com/EconomyApp/st
atus/1622029832099082241

Copyright 2023 NTT CORPORATION

44

GPT-4 [OpenAI, 2023/03]• 言語モデルからマルチモーダルモデルに進化．画像入力も可能（公開APIでは不可）で，出力はテキストのみ．
• ChatGPTをさらに上回る言語理解・生成能力を持つ．模擬司法試験を上位でパスするレベル [Katz+,2023/03]• MicrosoftはGPT-4が ”sparks of AGI” を示したと主張 [Bubbek+, 2023/03]
User: Below is part of the InstuctGPT paper.
Could you read and summarize it to me?

司法試験 4択問題（MBE）のスコア
GPT-4

学生平均

合格ライン
ChatGPT
GPT-3

GPT-4: The InstructGPT paper focuses on training large
language models to follow instructions with human…
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4389233
Copyright 2023 NTT CORPORATION

45

GPT-4による視覚言語理解の例 [OpenAI, 2023/03]
What is the sum of average daily meat consumption for Georgia and Western Asia? Provide a step-by-stepreasoning before providing your answer.
ジョージアと西アジアの1日あたりの平均肉摂取量の合計を求めるには、以下の手順に従います:ジョージアの1日あたりの平均肉摂取量を特定する。
西アジアの1日あたりの平均肉摂取量を特定する。
手順1と2から得られた値を加算する。
手順1:提供されたチャートから、ジョージアの1日あた
りの平均肉摂取量が1人当たり79.84グラムであることがわかります。
手順2:チャートから、西アジアの1日あたりの平均肉摂取量が1人当たり69.62グラムであることがわかります。
手順3:手順1と2から得られた値を加算する。 79.84 g（ジョージア）+ 69.62 g（西アジア）= 149.46 g
したがって、ジョージアと西アジアの1日あたりの平均肉
摂取量の合計は、1人当たり149.46グラムです。

※ 画像を発表用にトリミング
Copyright 2023 NTT CORPORATION

https://arxiv.org/abs/2303.08774※ 回答をGPT-4で翻訳

46

GPT-4によるお絵描き例 [Bubbek(Microsoft)+, 2023/03]
Produce Javascript code that creates a random graphical image that looks like a painting of Kandinsky

本物（Kandinskyの作品）

GPT-4の生成例（論文）

Draw a unicorn in TiKZ.

Copyright 2023 NTT CORPORATION

GPT-4による生成例（初期版→学習進行）

https://arxiv.org/abs/2303.12712

47

LLaMA [Touvron+, 2023/02/27] によるオープン化• LLaMAのベースモデルが研究者向けに公開（および一般にも流出）されたことで，オープン化の潮流が進む• LLaMAをチューニングしてChatGPTライクなモデルを作るための方法論の技術開発が加速中．モデルに追加したパラメータのみを効率的に学習（PEFT）することでも高い効果が得られる
パラメータ効率的なチューニング
フルパラメータのチューニング

PEFTの代表例:
LoRA [Micrsoft, 2021/06]
学習済の重みを凍結して新たにLLMの各層に挿入した適応用の低ランク分解行列（オレンジ色）
のみを学習する

Copyright 2023 NTT CORPORATION[Chao+, 2023/06/29(v11)]48

LLaMA 2 [Touvron+, 2023/07/19]• オープン＆商用可能モデルとしてMicrosoftのカンファレンス Inspire に合わせて発表• MicrosoftやQualcommと協力してWindowsやスマートフォンへの最適化を目指すことも発表• Microsoftは「クローズド路線のOpenAI」に加えて「オープン路線のMeta」ともパートナーシップの拡大に成功

画像: https://ia.acs.org.au/article/2023/tech-giants-join-forces-on-ai.html
Copyright 2023 NTT CORPORATION

49

ChatGPTのようなLLMの学習方法
1.
2.
3.
4.

教師なし学習（自己教師あり学習）により，大量のテキストコーパスからベースのLLMを学習する
様々なタスクを自然言語による指示で解けるようにインストラクションチューニングを行ってLLMを更新する
プリファレンスデータセットを作成（プロンプトに対するLLMの2つの出力を比較評価）し，報酬モデリングを実施する
同データで報酬モデルが高い評価値を出す（人にalignする）ように強化学習でLLMを更新（その後，3に戻る）
③比較評価

③プロン
プト作成
プリファレンス
データ

事前学習用
テキストデータ

③教師あり
学習

報酬
モデル

モデル出力
報酬
(評価値)

人のフィードバック

①教師なし
学習
事前学習

Copyright 2023 NTT CORPORATION⑤強化学習(RLHF)
更新

ベースモデル
インストラクション
データ②インストラクション
チューニング
(SFT)

2つ
出力

チャット
モデル
入力

ファインチューニング

50

事前学習データ• 事前学習モデルによって「どのようなデータ」を「どれぐらいの量」で配合して学習するかは様々• Chinchilla [Hoffman+, 2022/03] にてモデルパラメータの約20倍のトークン数が必要と基準が作られたが…
• LLaMA 1（7～70B）は1.0～1.4Tトークンで学習（Chinchilla基準以上）• 殆どの場合，学習コーパスは英語が支配的．Llama 2のコーパスには日本語は0.1%しか存在しない[Chao+, 2023/06/29(v11)]

Copyright 2023 NTT CORPORATION

51

LLaMA 2: ①事前学習• LLaMA 2は7～70Bのモデルすべてを2Tトークンで学習（その内訳は未公開）• Llama 2のコーパスには日本語は0.1%（約2B＝Wikipedia程度）しか含まれない．
LLaMA 2の学習曲線（まだ収束の様子を見せない）

Copyright 2023 NTT CORPORATIONLLaMA 2のデータセットの言語判定結果．Unknown=コード

52

LLaMA 2: ②インストラクションチューニング
1. Flanチューニング [Chung, 2022/10]（既存のデータにテンプレート的なインストラクションを付与）を実施
2. 人手で作成した高品質・広範囲なインストラクションデータ2.7万件を使ってさらにモデルを更新．
Helpfulnessとsafetyの観点が存在）

ベース
モデル

1st stage
チューニングテンプレート的
インストラクション(1.8kタスク）■safetyのサンプル例（論文例を和訳）

SFT-v1

2nd stage
チューニング高品質
インストラクション（27kサンプル）

Copyright 2023 NTT CORPORATION

SFT-v2

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

LLaMA 2: ③報酬モデリング
1. アノテータがプロンプトを書き（マルチターンデータ含む），1入力に対してモデルから2件出力をサンプリングする
2. アノテータはhelpfulness / safetyの基準で出力のどちらが良いか＋そのレベルを選択
3. 報酬モデルを各基準について学習（GPT-3.5ではモデルは分離されていなかった）
プロンプト
作成

出力を
2つ生成

チャット
モデル

Helpfulness / Safetyの基準それぞれで選択

各基準について選択>棄却の「レベル」を決定

Output 1
Output 2

significantly better
betterslightly better
negligibly better
unsure

教師あり
学習
Copyright 2023 NTT CORPORATION※ チャットモデルと同構造
チェックポイントから初期化

Helpfulness
報酬モデル
Safety報酬モデル

54

LLaMA 2: ④強化学習（RLHF）• プリファレンスデータは週次のペースで約141万件作成し，「報酬モデル更新→強化学習」を計5回実施• 報酬モデリングでは新規データが重要（＝データを作り続ける体制が必要）．
• Helpfulness，Harmless（Safety）のスコアは強化学習を繰り返すことで良くなっていく
プリファレンスデータ

Harmless(safety)

GPT-4によるSFTとRLHFモデルの出力評価

Helpfulness
Copyright 2023 NTT CORPORATION

55

LLaMA 2: 評価• LLaMA 2 70Bが，Helpfulness/Safetyの両観点でGPT-3.5を匹敵すると主張．
• 日本語も理解できているようだが，応答は英語で返ってくる場合が多い
Helpfulnessの評価（人による比較判断）

LLaMA 2の実行例（質問を理解はしているが返答は英語）

70B-chat vs. GPT3.5

Copyright 2023 NTT CORPORATION

56

ChatGPTはベストな言語AIか?[Bang+,2023/02/08]• タスクに特化して事前学習モデルをファインチューニングしたモデルは，殆どのタスクにおいてChatGPTを上回る• しかし，ChatGPTは学習無しで殆どのタスクでSOTAに近いレベルであり，汎用な自然言語処理AIを誰しもが簡単に使える時代になった

https://arxiv.org/abs/2302.04023
Copyright 2023 NTT CORPORATION

57

課題:嘘 (Hallucination) [Bang+,2023/02]• 分からない場合でも平然と嘘をつく、事実に基づかない応答をしてしまう問題がある• モデル内の知識に基づいて生成するため，質問応答のタスクなどで顕著に起こりやすい• 一方で，翻訳や要約の入力と出力で数値や固有名詞が変わるなどの矛盾はかなり少ない

赤文字の数字はすべて誤り

https://arxiv.org/abs/2302.04023
Copyright 2023 NTT CORPORATION

58

課題:バイアスの存在 [Zhuo, 2023/02]• 大量データから学習しているために，性別，人種，宗教などでバイアスが発生してしまう• 下記の様に、扱う言語によって回答の内容が変わることもある
GPT-3.5(Default)の実際の回答 (4/10時点)

クナシル島はロシア連邦に属し、サハリン
州クナシル地区に属しています。クリル列
島の南側、イトゥルップ島と色丹島の間に位置しています。

国後島は現在ロシアの支配下にあるが、日本も同島とクリル列島の他の3島の領有権を主張している。所有権をめぐる争いは解決していない。
Copyright 2023 NTT CORPORATION

https://arxiv.org/abs/2301.12867

59ここまでのまとめ• 2022/11のChatGPT，2023/03のGPT-4の発表により，汎用人工知能が遠い夢では無いレベルに到達• Instruction-tuningおよびRLHFが重要技術• Hallucinationやバイアスなどの課題も残る• 2022/02のLLaMA，2023/06のLLaMA-2の発表より，LLMのオープン化が進み，競争は一段と激しくなっている

Copyright 2023 NTT CORPORATION

60

大規模言語モデルのソフトウェア開発・利用への応用

Copyright 2023 NTT CORPORATION

61

LLM の支援によるソフトウェア開発
学習データとなる
ソースコード

お客様や
営業・コンサル等

仕様書・
要求文書

プログラマ・
テスター

OSSリポジトリ(GitHub 等)

コード作成支援

前処理
(プロンプ
ト組立)

ソース
コード

ソフトウェア成果物
Copyright 2023 NTT CORPORATION

独自の言語モデルのトレーニングプロンプト

プロンプトの改善

ソースコードと自然言語の両方に対応した LLM(GPT-3.5, GPT-4等)

言語モデルの改善

LLM が生成したデータを開発資産(ファイル・フォルダ) へ反映

LLMの出力(ソースコード
や自然言語)

後処理
(レスポン
ス抽出・
加工)

望ましい
結果か?

No

Yes

62

Codex [Chen(OpenAI)+, 2021/07]• 数十億行のコードから学習したコード生成用の言語モデル．メソッドの定義と入出力例を与えると，必要なコードを生成できるようになった• コード様に⾧いテキスト（8000トークン）を扱えるように学習• Github Co-pilotに採用され，”AIペアプログラミング”を実現

モデルに与えられる
プロンプト（メソッド定
義と入出力例）

モデルの出力https://arxiv.org/abs/2107.03374

Copyright 2023 NTT CORPORATION

63

GitHub Copilot [2021/06]• プロンプトとその応答がVisual Studio Code, IntelliJ 等のIDE のプラグインによって自動的に処理されるため、プログラマは LLM の入出力を意識せずに利用可能

プログラマがファイル名の拡張子、ライブラリのインポート、コメントや関数宣言を記述する
Copilotがこれらを基にプロンプトとしてLLMに入力

LLM が推論した自然なソースコードの続き (いくつかの候補) のうち、最もスコアの高いものを提示

プログラマは Tab キーで補完を採用するか、無視して自分で続きを書く
Copyright 2023 NTT CORPORATION

https://github.com/features/copilot でライブデモを閲覧可能

64

GitHub Copilot [2021/06]• 既に1億ユーザ以上が使用• とある調査では，コードの作成に要する時間を55%減少

https://github.blog/2023-02-14-github-copilot-for-business-is-now-available/

https://github.blog/2022-09-07-research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness/
Copyright 2023 NTT CORPORATION

65

GPT-4によるコード生成 [Bubbek(Microsoft)+, 2023/03]• LeetCodeベンチマークの未知のプログラミング問題において、人間のパフォーマンスに匹敵• また、大手ハイテク企業の模擬技術面接にも合格するレベルに到達

pass@k はk回の施行で正しいコードを生成できたかの指標

https://arxiv.org/abs/2303.12712
Copyright 2023 NTT CORPORATION

GPT-4は2時間の設定の試験を4分でクリア

66

LLM の支援によるソフトウェア開発
コードLLM開発

学習データとなる
ソースコードOSSリポジトリ(GitHub 等)

お客様や
営業・コンサル等

仕様書・
要求文書

プログラマ・
テスター

独自の言語モデルのトレーニング

前処理
(プロンプ
ト組立)

ソース
コード

ソフトウェア成果物
Copyright 2023 NTT CORPORATION

プロンプト

プロンプトの改善

ソースコードと自然言語の両方に対応した LLM(GPT-3.5, GPT-4等)

言語モデルの改善

LLM が生成したデータを開発資産(ファイル・フォルダ) へ反映

LLMの出力(ソースコード
や自然言語)

後処理
(レスポン
ス抽出・
加工)

望ましい
結果か?

No

Yes

67

The Stack [BigCode Project, 2022/11]• コード生成のためのLLMを目指すBigCodeプロジェクトが収集・構築したデータセット• 重複削除（完全・近似）を実施して，コードLLM用のデータセットとして公開（3TB程度）

Copyright 2023 NTT CORPORATION

https://huggingface.co/datasets/bigcode/the-stack-dedup

68StarCoder [BigCode Projext, 2023/05/09]• TheStackの1Tトークンで事前学習し，さらにPythonコード35Bトークンでファインチューニングした15.5Bモデル• OpenAIのcodex API（code-Cushman-001）と同程度の性能

Copyright 2023 NTT CORPORATION

https://arxiv.org/abs/2305.06161

69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) {¥nchar[] charArray = input.toCharArray();¥nint
left = 0;¥n
int right = charArray.length - 1;¥n¥n
while (left < right) {¥nchar temp = charArray[left];¥ncharArray[left] =charArray[right];¥ncharArray[right] = temp;¥n¥nleft++;¥nright--;¥n}¥n
return new String(charArray);¥n }¥n¥n public
static void main(String[] args) {¥n
String str = ¥"Hello, World!¥";¥nSystem.out.println(¥"Reversed string: ¥" + reverseString(str));¥n }¥n}"}]https://github.com/sahil280114/codealpaca
Copyright 2023 NTT CORPORATION

70

WizardCoder [Microsoft, 2023/06]• インストラクションチューニング用のデータをLLMにより「少し難しく」変化させる（Evol-instruct）ことにより，
CodeAlpacaのデータを増強• 増強したデータを用いてStarCoderをファインチューニングさせることによりGPT-3.5レベルにまで成⾧

https://arxiv.org/abs/2306.08568
Copyright 2023 NTT CORPORATION

71

phi-1 [Gunasekar+, 2023/06]• GPT-4を活用してフィルタリングした高品質Githubコード（5～6Bトークン）と，GPT-3.5を使って生成した教科書品質のデータCodeTextBook, CodeExcersize（それぞれ～1B，180Mトークン）を利用• パラメータ数1.3Bにも関わらず，WizardoCoderやGPT-3.5に匹敵する性能を実現
CodeTextBook: GPT-3.5に生成させた教科書のような生成テキスト

CodeExcersize: GPT-3.5に生成させたコメントからのcompletion

Copyright 2023 NTT CORPORATION

72

LLM の支援によるソフトウェア利用
ソフトウェア利用支援

ユーザ

自然言語

前処理
(プロンプ
ト組立)

プロンプト

ソースコードと自然言語の両方に対応した LLM(GPT-3.5, GPT-4等)

プロンプトの改善

Copyright 2023 NTT CORPORATION

望ましい
結果か?

No

ソフトウェア
実行結果

LLMの出力(コマンドなど)

後処理
(レスポン
ス抽出・
加工)

Yes

73

Co-pilot 365 [Microsoft, 2023/03/16]• LLMのパワーをMicrosoft 365に統合することを発表• 『言葉を地球上で最も強力な生産性向上ツールに変えます。』

https://blogs.windows.com/japan/2023/03/28/introducing-microsoft-365-copilot-a-whole-new-way-to-work/
Copyright 2023 NTT CORPORATION

74

Windows Co-pilot [Microsoft, 2023/05/24]• LLMをさらにWindowsに統合することを発表．Windowsの設定や，文書要約，アプリ実行などを言葉で操作• Windowsという「世界」をLLMが理解し，行動し始めた

https://www.youtube.com/watch?v=FCfwc-NNo30
Copyright 2023 NTT CORPORATION

75

ChatGPT Plugins [OpenAI, 2023/3/23]• ChatGPTにプラグインとして新たな機能を追加する• 日本では食べログがいち早く登録し，ChatGPTを介した予約機能を提供している

https://tech-blog.tabelog.com/entry/firstchallenge-tabelog-chatgpt-plugin-devleopment
Copyright 2023 NTT CORPORATION

76

Auto-GPT [Toran Bruce Richards and contributors, 2023/3/30～]• 最終ゴールを与えられると，GPT-4が自律的に必要なサブタスクに分解．ネットやその他ツールを使ってプランを修正しながらゴールを達成する
ユーザの入力した”Goals”の例

1.
2.
3.
4.

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

実行結果

1.
2.
3.
4.
5.
6.
7.

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

Copyright 2023 NTT CORPORATION

77

Pix2Act [Shaw(DeepMind)+,2023/05]• スクリーンショット画像から，自然言語の指示に従って行動（マウスやキー入力）を生成• 画像エンコーダとインストラクションチューニングされたLLMを用いている

Copyright 2023 NTT CORPORATION

https://arxiv.org/abs/2305.16291

78

Voyager [Wang(NVIDIA, Caltech)+, 2023/05]• GPT-4/3.5によりMinecraftをプレイするAgent（ただし，視覚情報は利用していない）• 世界を探索しながら，現状に合致したコードをLLMが生成して行動し，スキルとして保存して再利用

Copyright 2023 NTT CORPORATION

https://arxiv.org/abs/2305.16291

79ここまでのまとめ• コードの生成や修正に特化したLLMが作られている• そうしたLLMは人のソフトウェアエンジニアに匹敵する能力を身に着けつつある• 大規模言語モデルはソフトウェア工学に大きな変革をもたらすと考えられる• Github co-pilotをはじめとしたコード生成支援，Windows/365 co-pilotをはじめとしたソフトウェア利用支援にもLLMによる貢献が拡大している

Copyright 2023 NTT CORPORATION

80

おわりに
• 大規模言語モデル入門として，基礎知識，BERTとGPT-3，ChatGPTとLLaMAについて紹介しました．
• 大規模言語モデルを活用したソフトウェア開発と利用において，コード作成支援，
コード用LLMの構築，ソフトウェア利用支援の現状を紹介しました．

Copyright 2023 NTT CORPORATION

81