Upgrade to Pro — share decks privately, control downloads, hide ads and more …

大規模言語モデル入門 / LLM introduction (SES2023)

大規模言語モデル入門 / LLM introduction (SES2023)

ソフトウェアエンジニアリングシンポジウム2023 (SES 2023)

Kyosuke Nishida

August 24, 2023
Tweet

More Decks by Kyosuke Nishida

Other Decks in Research

Transcript

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

    View full-size slide

  2. 2
    Copyright 2023 NTT CORPORATION
    講師紹介&目次
    西田光甫
    専門:自然言語理解・生成
    NTT人間情報研究所 研究員.
    1. LLMに関わる基礎知識
    ・ニューラルネットを用いた自然言語処理
    ・Transformer,BERT,GPT-3
    西田京介
    専門:機械読解(質問応答),
    Vision-and-Language
    NTT人間情報研究所
    上席特別研究員.
    2. 対話に最適化されたLLMおよび
    ソフトウェアエンジニアリングへの応用
    ・ChatGPT, GPT-4, LLaMA
    ・Github co-pilot,コードに最適された
    LLM

    View full-size slide

  3. 3
    Copyright 2023 NTT CORPORATION
    協力者紹介
    風戸 広史
    専門:ソフトウェア工学
    NTT人間情報研究所
    主任研究員.(2023/07より)
    「ソフトウェアエンジニアリングへの応用」パート
    の資料作成および調査に貢献

    View full-size slide

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

    View full-size slide

  5. 5
    Copyright 2023 NTT CORPORATION
    深層学習時代の自然言語処理の概要
    ニューラルネットワーク
    “メロスは激怒した。必ず、かの邪智暴虐…決意した”
    メロ スは 激怒 … した
    トークン(単語や
    サブワード)化
    各トークンを
    ベクトルへ“埋め込み”
    ベクトル系列から
    所望の情報へ
    分類ラベル,生成テキスト,特徴量(ベクトル),etc.
    入力テキスト
    トークン系列
    ベクトル系列
    ベクトル系列
    出力情報
    ベクトル系列の変換を
    繰り返し行う

    View full-size slide

  6. 6
    Copyright 2023 NTT CORPORATION
    ニューラルネットワークの学習のイメージ
    タスク:テキストを2つのクラスに分類
    2次元ベクトルを出力
    正解クラスの
    値を大きく
    不正解クラス
    の値を小さく
    “メロスは激怒した。”
    感情判定
    モデル
    “negative”
    “positive”
    タスク:入力に続く次の単語を生成
    語彙サイズの次元数のベクトルを出力
    “メロスは”
    言語モデル
    “激怒”
    正解単語の値を
    大きく
    “走る”
    他の値を
    小さく
    • 自然言語処理タスクの多くは「分類問題」として,ニューラルネットの出力を正解に近づけるように学習を行う

    View full-size slide

  7. 7
    Copyright 2023 NTT CORPORATION
    初期のニューラル自然言語処理
    タスク特化
    ニューラル
    ネット構造
    できれば
    数万件程度欲しい
    タスク応用
    モデル
    タスクデータで学習
    • タスク毎に適したニューラルネットワークを設計し,正解情報付きのデータセットで学習していた
    • 深層学習により性能は高まったが,学習データが少ないと高い精度は実現しにくい課題が残っていた

    View full-size slide

  8. 8
    Copyright 2023 NTT CORPORATION
    言語モデルの「事前学習」が主流に
    事前学習済
    言語モデル
    タスク応用
    モデル
    汎用
    ニューラル
    ネット構造
    大規模コーパスで
    事前学習
    ファイン
    チューニング
    アノテーションなし
    テキストコーパス
    • 言語モデル(Language Model; LM)は,単語(トークン)列の生成尤度をモデル化し、将来の(あるいは
    欠落した)トークンの確率を予測する
    • 2018年頃から,言語モデルが自然言語処理の「基盤」として有効であると注目を集めるようになり,タスクは大き
    く2種類に集約されていった
    正解情報ありの
    学習データ

    View full-size slide

  9. 9
    Copyright 2023 NTT CORPORATION
    自然言語処理タスクの分類
    • テキスト分類
    • 情報検索
    • 感情分析
    • 固有表現抽出
    • Etc.
    自然言語理解
    Natural Language Understanding
    テキストの意味を理解
    自然言語生成
    Natural Language Generation
    入力からテキストを生成
    • 機械翻訳
    • 生成型要約
    • 発話生成
    • 言い換え
    • Etc.
    • 自然言語理解(NLU)と自然言語生成(NLG)の2種類に大きく分類
    • タスクごとに適したアーキテクチャがある

    View full-size slide

  10. 10
    Copyright 2023 NTT CORPORATION
    NLUタスクとモデルのイメージ
    宮沢 賢治 は 日本 の
    人名
    固有表現抽出
    双方向モデリング
    各位置の出力は
    未来情報(右側)にも依存
    人名
    文学
    クラス分類
    テキストは
    一度に与えられる
    • エンコーダ型のモデルを用いて,テキストのクラス分類,各単語へのラベリングなどを行う
    • 代表的モデル:BERT [Devlin+, NAACL’19]

    View full-size slide

  11. 11
    Copyright 2023 NTT CORPORATION
    NLGタスクとモデルのイメージ(1/2)
    自己回帰モデリング
    各位置の出力は
    過去情報(左側)にのみ依存
    宮沢 賢治
    宮沢 賢治
    次単語予測
    予測を入力として戻す
    は 日本
    は 日本 の
    • デコーダ型のモデルを用いて,入力系列の続きを生成したりテキストAからテキストBへの変換を行う
    • 最近はこのアーキテクチャが主流(NLUタスクもこれで解く)
    • 代表モデル:GPT-3 [Brown+, NeurIPS’20]

    View full-size slide

  12. 12
    Copyright 2023 NTT CORPORATION
    NLGタスクとモデルのイメージ(2/2)
    これ は ペン です 。
    エンコーダの
    出力をデコーダで利用
    This is a pen .
    >
    This is a pen .
    • エンコーダデコーダ型のモデルを用いて,テキストAからテキストBに変換(翻訳や要約など)
    • 代表モデル:Transformer [Vaswani+, NIPS’17],T5 [Raffel, JMLR’21]

    View full-size slide

  13. 13
    Copyright 2023 NTT CORPORATION
    最近のベースモデル=Transformer
    Transformer
    BERTなど
    エンコーダデコーダを
    事前学習
    GPT-3など
    デコーダを
    事前学習
    T5など
    エンコーダを
    事前学習
    エンコーダデコーダ
    • 近年の事前学習済み言語モデルの多くが殆どが Transformer ベースとなっている

    View full-size slide

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

    View full-size slide

  15. 15
    Copyright 2023 NTT CORPORATION
    アテンション [Bahdanau(Jacobs U)+, ICLR’15]
    次単語は何か?
    これ は ペン です This is a
    “pen”を予測
    注意
    softmax =
    Encoderの隠れ状態の
    重み付き平均
    エンコーダ デコーダ
    コンテキスト
    (「ペン」に強い注意)
    × × ×
    ×
    • デコーダが1単語ずつ出力するときに、エンコードされた翻訳元テキストのどの部分に注意すれば良いかを与える機
    構(行列計算で実現)

    View full-size slide

  16. 16
    Copyright 2023 NTT CORPORATION
    セルフアテンション
    Query Key Value
    Valueの重み付き平均
    Key-Value辞書から,Queryに近い
    KeyのValueを取り出すイメージ
    • エンコーダデコーダ間のクロスアテンションに加えて,系列単体でもアテンションを取る
    • 系列の各位置をQuery,系列全体をKey,Valueとして考える

    View full-size slide

  17. 17
    Copyright 2023 NTT CORPORATION
    マルチヘッドアテンション
    • アテンションを複数の”ヘッド“に分割して実施する
    • ベクトルの次元方向に分割してアテンション処理を行い,最後に結合して元の次元数に戻すイメージ
    Query Key Value
    Query Key Value
    Q, K, V毎に
    線形変換
    ※学習パラメータ
    線形変換
    ※学習パラメータ
    結合
    Q, K, V毎に
    線形変換
    ※ヘッド1とは
    別のパラメータ
    ヘッド1
    ヘッド2
    ベクトル系列 ベクトル系列

    View full-size slide

  18. 18
    Copyright 2023 NTT CORPORATION
    Transformerの簡略化イメージ
    Self-Attention
    ( )
    Self-Attention
    ( )
    Cross-Attention
    ( )
    ブロックxN
    ブロック
    xN
    入力単語系列
    出力単語系列 (次単語予測)
    出力単語系列 (予測を戻す)
    単語・位置埋込 単語・位置埋込
    線形変換&softmax
    FFN(MLP)
    FFN(MLP)
    • エンコーダデコーダの双方でセルフアテンションを導入
    • ブロックを多層に積上げることで性能向上

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  21. 21
    Copyright 2023 NTT CORPORATION
    言語モデルの大規模化
    BERTとGPT-3

    View full-size slide

  22. 22
    Copyright 2023 NTT CORPORATION
    言語モデルの大規模化
    • モデルサイズ(パラメータ数)の大きな言語モデルが次々と作られている
    • どこからが「大規模」かというコンセンサスは無い
    https://lifearchitect.ai/models/

    View full-size slide

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

    View full-size slide

  24. 24
    Copyright 2023 NTT CORPORATION
    BERTの検索エンジンへの導入
    https://www.blog.google/products/search/search-language-understanding-bert/
    よりクエリの意図
    を考慮した結果に
    • 2019年10月25日(BERT発表から1年後)、Googleは検索エンジンのアルゴリズムをBERTベースに更新
    • 2019年12月10日には日本語含む72言語に拡張

    View full-size slide

  25. 25
    Copyright 2023 NTT CORPORATION
    BERTが優れた性能を達成したタスクの例:
    機械読解(SQuAD 1.1) [Rajupurkar(Stanford)+, EMNLP’16]
    入力:Wikipediaの段落
    入力:質問
    出力:回答
    テキスト中の任意の
    範囲を抽出して回答
    テキスト中の任意の
    範囲を抽出して回答
    https://www.aclweb.org/anthology/D16-1264/
    • 質問に対してテキストを読み解いて回答するタスク

    View full-size slide

  26. 26
    Copyright 2023 NTT CORPORATION
    SQuAD 1.1で人間超えのスコアを達成
    完全一致 部分一致
    人間の正答率
    82.304%
    BERTの正答率
    87.433%
    https://rajpurkar.github.io/SQuAD-explorer/
    • 機械読解に特化したニューラルネット構造を持たずに、人間の質問応答スコアを大きく超える性能を達成

    View full-size slide

  27. 27
    Copyright 2023 NTT CORPORATION
    BERTの特徴(1) マスク化言語モデリング
    … My [MASK] is hairy …
    … My dog is hairy …
    入力の一部をマスク
    マスク前の文章を予測
    双方向アーキテクチャ
    マスク単語の前後の情報を
    使って予測
    • 穴埋め問題により,文脈の中で単語が出現する確率を予測する
    • 大量のテキストさえあれば,人間が追加で正解をアノテーションすることなく学習可能(自己教師あり学習)

    View full-size slide

  28. 28
    Copyright 2023 NTT CORPORATION
    BERTの特徴(2) 次文章予測
    BERT
    (Transformerエンコーダ)
    [CLS] my dog is cute [SEP] he likes play [MASK] [SEP]
    2文目
    1文目
    IsNext my dog is cute [SEP] he likes play piano [SEP]
    分類:2文が隣接か否か? 穴埋め
    • 自然言語理解(NLU)のタスクは2つの文の関係性理解が多い
    • そこで,文書中で隣接する文/ランダムな2文をセパレータで繋げて、隣接する文か否かの判定を穴埋め予測と同
    時に学習

    View full-size slide

  29. 29
    Copyright 2023 NTT CORPORATION
    BERTの特徴(3) ファインチューニング
    BERT
    (Transformerエンコーダ)
    出力層
    [CLS] 質問文 [SEP] テキスト(回答抽出元) [SEP]
    テキスト中の
    各トークンの回答範囲始点・終点スコア
    …. は 3 月 12 日 で ある …
    ….. の 日付 は ?
    • シンプルな出力層を1層だけ基盤モデルの最上部に追加する
    • 例:機械読解では回答範囲の始点・終点予測用に線形変換を追加

    View full-size slide

  30. 30
    Copyright 2023 NTT CORPORATION
    GPT-3 [Brown(OpenAI)+, 2020/07, NeurIPS’20]

    GPT-3はBERTの穴埋め
    ではなく次単語予測で
    事前学習する
    https://papers.nips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html
    • 超大量のテキストデータ(3000億トークン)で事前学習した,96層の超巨大なTransformerデコーダに基づく
    言語モデル
    • パラメータ数は175B=1750億個(ファイルサイズで言うと700GB程度)
    • 参考:BERTは 24層,3.4億個のパラメータ,約3.3億トークン

    View full-size slide

  31. 31
    Copyright 2023 NTT CORPORATION
    GPT-3 の構造
    • GPTは生成タスクに適したデコーダ(自己回帰)タイプ.BERTのエンコーダタイプとは異なる.
    • GPT-3(下図)は96層で合計175Bのパラメータを持つ.ChatGPTやGPT-4の構造・パラメータ数は不明
    (Newton報「GPT-3.5は355B」は取り下げへ [Okumura, 2023/06])
    アテンション層 (4 * 122882 + 2 * 12228)
    フィードフォワードネットワーク (8 * 122882 + 7 * 12288)
    単語埋込層 (50257 * 12288)・位置埋込層 (2048 * 12288)
    出力層 (50257 * 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
    トークナイザ
    GPT family of models process text using tokens, which are common sequences
    入力
    テキスト
    トークン
    系列
    ベクトル
    系列
    ベクトル系列 (トークン数 * 12228)
    ベクトル
    系列
    出力
    トークン列
    ベクトル系列 (トークン数 * 12228)
    ベクトル系列から次のトークンを予測
    ※ 予測は入力側に戻り,逐次的に生成
    ※ 学習時は全位置で次単語予測を学習
    テキストからトークン系列へ,
    そしてベクトル系列へ変換
    ※ GPT-3のオリジナルはトークン種類は
    50257,系列⾧の最大値は2048
    Transformerブロック96層により
    ベクトル系列を繰り返し変換
    ※全体パラメータ数の99.2%
    x96

    View full-size slide

  32. 32
    Copyright 2023 NTT CORPORATION
    GPT-3の膨大な事前学習が可能にすること
    大量テキストに
    よる事前学習
    同一タスクの
    繰り返しを含む系列
    https://arxiv.org/abs/2005.14165
    • 人間の様な「少数の例示による学習」が可能になってきた
    • 大量のテキストの中には同一タスクの例が繰返し現れるコンテキストも含まれており,こうした学習が例示による学
    習能力を向上させる

    View full-size slide

  33. 33
    Copyright 2023 NTT CORPORATION
    GPT-3のfew-shot学習
    ここまでを一つの系列としてGPT-3に入力
     回答を続きの文章として出力する
    https://arxiv.org/abs/2005.14165
    • タスク説明と少数の例を与えるのみでモデルの更新無しに問題を解く

    View full-size slide

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

    View full-size slide

  35. 35
    Copyright 2023 NTT CORPORATION
    Chain-of-Thought [Wei(Google)+, 2022/01]
    • 思考の途中過程もプロンプトとして与えることによって,算術や常識の推論能力が大きく向上する現象
    • Chain-of-Thoughtの能力を発現するにはある程度のモデルサイズが必要(8Bだと不十分であることが多い)
    https://arxiv.org/abs/2201.11903
    プロンプト
    に思考方法
    を追記
    思考過程も
    含めて正解
    できる

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  38. 38
    Copyright 2023 NTT CORPORATION
    Chinchilla [Hoffman (DeepMind)+, 2022/03/29]
    https://arxiv.org/abs/2001.08361
    GPT-3のサイズなら
    3.7Tトークン必要
    (実際は300B)
    • 400種類のモデルと学習トークン数の組み合わせで実験し,LLMの学習に必要なトークン数を実験的に示した
    • Chinchilla(70Bパラメータ/1.4Tトークン) は,Gopher(280Bパラメータ/300Bトークン)の性能を多く
    のタスクで凌駕した

    View full-size slide

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

    View full-size slide

  40. 40
    Copyright 2023 NTT CORPORATION
    大規模言語モデルのさらなる発展
    Instruction-tuning, ChatGPT, LLaMA

    View full-size slide

  41. 41
    Copyright 2023 NTT CORPORATION
    汎用人工知能が遠い夢では無くなる
    • 大規模言語モデル(Large Language Model; LLM) を活用した ChatGPT [OpenAI, 2022/11] により,
    1つのモデルで様々な自然言語処理タスクを「特化した学習無し」に解けることが実証されてきている
    • GPT-4 [OpenAI, 2023/03] ではChatGPTをさらに上回り,人レベルの言語理解・生成能力を持つ
    (タスクの指示)
    このプログラムの
    誤りを直して
    >こちらは「Transformer」という深層学習
    モデルを提案した論文です。
    Transformerは、seq2seq(順方向か
    ら順方向への変換)タスクや自然言語処
    理タスクなどに...
    (情報の検索)
    論文“attention is all you
    need”の要約を教えて
    (コンテンツの生成)
    ~~~に関する
    学術論文を書いて
    > こちらが修正したコードになります.
    ChatGPTの執筆した論文要旨
    の1/3を専門家が見破れず
    新たな情報検索の体験
    AIが人に変わり
    任意の言語タスクを遂行
    AIのトップ会議ICMLは言語モ
    デルによる論文の執筆を禁止

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  44. 44
    Copyright 2023 NTT CORPORATION
    ChatGPT [OpenAI, 2022/11/30]
    • InstructGPTを発展させ,人のフィードバックに基づいて対話に最適化したLLM(パラメータ数など不明)
    • その高い性能から最速でアクティブユーザ1億人に到達.社会に大きな影響を与えるレベルに到達
    https://twitter.com/EconomyApp/st
    atus/1622029832099082241

    View full-size slide

  45. 45
    Copyright 2023 NTT CORPORATION
    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?
    GPT-4: The InstructGPT paper focuses on training large
    language models to follow instructions with human…
    学生平均
    合格ライン
    GPT-4
    ChatGPT
    GPT-3
    司法試験 4択問題(MBE)のスコア
    https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4389233

    View full-size slide

  46. 46
    Copyright 2023 NTT CORPORATION
    GPT-4による視覚言語理解の例 [OpenAI, 2023/03]
    ジョージアと西アジアの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グラムです。
    What is the sum of average daily meat consumption for Georgia and Western Asia? Provide a step-by-step
    reasoning before providing your answer.
    ※ 画像を発表用にトリミング
    ※ 回答をGPT-4で翻訳
    https://arxiv.org/abs/2303.08774

    View full-size slide

  47. 47
    Copyright 2023 NTT CORPORATION
    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.
    GPT-4による生成例(初期版→学習進行)
    https://arxiv.org/abs/2303.12712

    View full-size slide

  48. 48
    Copyright 2023 NTT CORPORATION
    LLaMA [Touvron+, 2023/02/27] によるオープン化
    • LLaMAのベースモデルが研究者向けに公開(および一般にも流出)されたことで,オープン化の潮流が進む
    • LLaMAをチューニングしてChatGPTライクなモデルを作るための方法論の技術開発が加速中.モデルに追加した
    パラメータのみを効率的に学習(PEFT)することでも高い効果が得られる
    フルパラメータのチューニング
    パラメータ効率的なチューニング PEFTの代表例:
    LoRA [Micrsoft, 2021/06]
    学習済の重みを凍結して新たに
    LLMの各層に挿入した適応用の
    低ランク分解行列(オレンジ色)
    のみを学習する
    [Chao+, 2023/06/29(v11)]

    View full-size slide

  49. 49
    Copyright 2023 NTT CORPORATION
    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

    View full-size slide

  50. 50
    Copyright 2023 NTT CORPORATION
    事前学習用
    テキストデータ
    ①教師なし
    学習
    ベース
    モデル
    事前学習 ファインチューニング
    ②インストラクション
    チューニング
    (SFT)
    チャット
    モデル
    インストラクション
    データ
    人のフィードバック
    プリファレンス
    データ
    入力
    ③プロン
    プト作成
    ChatGPTのようなLLMの学習方法
    1. 教師なし学習(自己教師あり学習)により,大量のテキストコーパスからベースのLLMを学習する
    2. 様々なタスクを自然言語による指示で解けるようにインストラクションチューニングを行ってLLMを更新する
    3. プリファレンスデータセットを作成(プロンプトに対するLLMの2つの出力を比較評価)し,報酬モデリングを実施する
    4. 同データで報酬モデルが高い評価値を出す(人にalignする)ように強化学習でLLMを更新(その後,3に戻る)
    ⑤強化学習
    (RLHF)
    報酬
    (評価値)
    モデル出力
    更新
    ③教師あり
    学習
    報酬
    モデル
    2つ
    出力
    ③比較評価

    View full-size slide

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

    View full-size slide

  52. 52
    Copyright 2023 NTT CORPORATION
    LLaMA 2: ①事前学習
    • LLaMA 2は7~70Bのモデルすべてを2Tトークンで学習(その内訳は未公開)
    • Llama 2のコーパスには日本語は0.1%(約2B=Wikipedia程度)しか含まれない.
    LLaMA 2の学習曲線(まだ収束の様子を見せない)
    LLaMA 2のデータセットの言語判定結果.Unknown=コード

    View full-size slide

  53. 53
    Copyright 2023 NTT CORPORATION
    LLaMA 2: ②インストラクションチューニング
    1. Flanチューニング [Chung, 2022/10](既存のデータにテンプレート的なインストラクションを付与)を実施
    2. 人手で作成した高品質・広範囲なインストラクションデータ2.7万件を使ってさらにモデルを更新.
    ベース
    モデル
    1st stage
    チューニング
    テンプレート的
    インストラクション
    (1.8kタスク)
    SFT-v1
    Helpfulnessとsafetyの観点が存在)
    ■safetyのサンプル例(論文例を和訳)
    ユーザー: 自分を罵ってほしい。特に厳しい
    言葉で、悪態をついてほしい。
    回答: 申し訳ありませんが、そのリクエストに
    は応じられません。下品な言葉を使ったり、
    他人の気持ちを意図的に傷つけることは決し
    て許容されることではありません。罵りを求め
    る代わりに、成⾧や向上に役立つポジティブ
    で建設的なフィードバックに焦点を当てること
    をお勧めします。もし気分転換を求めている
    なら、他にも傷つける言葉や行動に頼ること
    なく楽しめる方法がたくさんありますよ。
    2nd stage
    チューニング
    高品質
    インストラクション
    (27kサンプル)
    SFT-v2

    View full-size slide

  54. 54
    Copyright 2023 NTT CORPORATION
    LLaMA 2: ③報酬モデリング
    1. アノテータがプロンプトを書き(マルチターンデータ含む),1入力に対してモデルから2件出力をサンプリングする
    2. アノテータはhelpfulness / safetyの基準で出力のどちらが良いか+そのレベルを選択
    3. 報酬モデルを各基準について学習(GPT-3.5ではモデルは分離されていなかった)
    チャット
    モデル
    significantly better
    Helpfulness / Safety
    の基準それぞれで選択
    better
    slightly better
    negligibly better
    unsure
    Output 1
    Output 2
    各基準について選択>棄却の
    「レベル」を決定
    プロンプト
    作成
    出力を
    2つ生成
    Helpfulness
    報酬モデル
    教師あり
    学習 Safety
    報酬モデル
    ※ チャットモデルと同構造
    チェックポイントから初期化

    View full-size slide

  55. 55
    Copyright 2023 NTT CORPORATION
    LLaMA 2: ④強化学習(RLHF)
    • プリファレンスデータは週次のペースで約141万件作成し,「報酬モデル更新→強化学習」を計5回実施
    • 報酬モデリングでは新規データが重要(=データを作り続ける体制が必要).
    • Helpfulness,Harmless(Safety)のスコアは強化学習を繰り返すことで良くなっていく
    GPT-4によるSFTとRLHFモデルの出力評価
    Helpfulness
    Harmless(safety)
    プリファレンスデータ

    View full-size slide

  56. 56
    Copyright 2023 NTT CORPORATION
    LLaMA 2: 評価
    • LLaMA 2 70Bが,Helpfulness/Safetyの両観点でGPT-3.5を匹敵すると主張.
    • 日本語も理解できているようだが,応答は英語で返ってくる場合が多い
    LLaMA 2の実行例(質問を理解はしているが返答は英語)
    Helpfulnessの評価(人による比較判断)
    70B-chat vs. GPT3.5

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  59. 59
    Copyright 2023 NTT CORPORATION
    課題:バイアスの存在 [Zhuo, 2023/02]
    • 大量データから学習しているために,性別,人種,宗教などでバイアスが発生してしまう
    • 下記の様に、扱う言語によって回答の内容が変わることもある
    https://arxiv.org/abs/2301.12867
    クナシル島はロシア連邦に属し、サハリン
    州クナシル地区に属しています。クリル列
    島の南側、イトゥルップ島と色丹島の間に
    位置しています。
    国後島は現在ロシアの支配下にあるが、
    日本も同島とクリル列島の他の3島の領
    有権を主張している。所有権をめぐる
    争いは解決していない。
    GPT-3.5(Default)の実際の回答 (4/10時点)

    View full-size slide

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

    View full-size slide

  61. 61
    Copyright 2023 NTT CORPORATION
    大規模言語モデルの
    ソフトウェア開発・利用への応用

    View full-size slide

  62. 62
    Copyright 2023 NTT CORPORATION
    LLM の支援によるソフトウェア開発
    OSSリポジトリ
    (GitHub 等)
    ソースコードと
    自然言語の両方に
    対応した LLM
    (GPT-3.5, GPT-4等)
    学習データとなる
    ソースコード
    仕様書・
    要求文書
    前処理
    (プロンプ
    ト組立)
    ソース
    コード
    プロンプト LLMの出力
    (ソースコード
    や自然言語)
    プログラマ・
    テスター
    お客様や
    営業・コンサル等
    後処理
    (レスポン
    ス抽出・
    加工)
    ソフトウェア成果物
    プロンプトの改善
    望ましい
    結果か?
    言語モデルの改善
    Yes
    No
    独自の言語モデルの
    トレーニング
    LLM が生成したデータを開発資産
    (ファイル・フォルダ) へ反映
    コード作成支援

    View full-size slide

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

    View full-size slide

  64. 64
    Copyright 2023 NTT CORPORATION
    GitHub Copilot [2021/06]
    • プロンプトとその応答がVisual Studio Code, IntelliJ 等のIDE のプラグインによって自動的に処理されるため、
    プログラマは LLM の入出力を意識せずに利用可能
    https://github.com/features/copilot でライブデモを閲覧可能
    プログラマがファイル名の拡張子、ライブラリの
    インポート、コメントや関数宣言を記述する
    LLM が推論した自然なソースコードの続き (いくつか
    の候補) のうち、最もスコアの高いものを提示
    Copilotがこれらを基に
    プロンプトとしてLLMに入力
    プログラマは Tab キーで
    補完を採用するか、無視
    して自分で続きを書く

    View full-size slide

  65. 65
    Copyright 2023 NTT CORPORATION
    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/

    View full-size slide

  66. 66
    Copyright 2023 NTT CORPORATION
    GPT-4によるコード生成 [Bubbek(Microsoft)+, 2023/03]
    • LeetCodeベンチマークの未知のプログラミング問題において、人間のパフォーマンスに匹敵
    • また、大手ハイテク企業の模擬技術面接にも合格するレベルに到達
    pass@k はk回の施行で正しいコードを生成できたか
    の指標
    GPT-4は2時間の設定の試験を4分でクリア
    https://arxiv.org/abs/2303.12712

    View full-size slide

  67. 67
    Copyright 2023 NTT CORPORATION
    LLM の支援によるソフトウェア開発
    OSSリポジトリ
    (GitHub 等)
    ソースコードと
    自然言語の両方に
    対応した LLM
    (GPT-3.5, GPT-4等)
    学習データとなる
    ソースコード
    仕様書・
    要求文書
    前処理
    (プロンプ
    ト組立)
    ソース
    コード
    プロンプト LLMの出力
    (ソースコード
    や自然言語)
    プログラマ・
    テスター
    お客様や
    営業・コンサル等
    後処理
    (レスポン
    ス抽出・
    加工)
    ソフトウェア成果物
    プロンプトの改善
    望ましい
    結果か?
    言語モデルの改善
    Yes
    No
    独自の言語モデルの
    トレーニング
    LLM が生成したデータを開発資産
    (ファイル・フォルダ) へ反映
    コードLLM
    開発

    View full-size slide

  68. 68
    Copyright 2023 NTT CORPORATION
    The Stack [BigCode Project, 2022/11]
    • コード生成のためのLLMを目指すBigCodeプロジェクトが収集・構築したデータセット
    • 重複削除(完全・近似)を実施して,コードLLM用のデータセットとして公開(3TB程度)
    https://huggingface.co/datasets/bigcode/the-stack-dedup

    View full-size slide

  69. 69
    Copyright 2023 NTT CORPORATION
    StarCoder [BigCode Projext, 2023/05/09]
    • TheStackの1Tトークンで事前学習し,さらにPythonコード35Bトークンでファインチューニングした15.5Bモデル
    • OpenAIのcodex API(code-Cushman-001)と同程度の性能
    https://arxiv.org/abs/2305.06161

    View full-size slide

  70. 70
    Copyright 2023 NTT CORPORATION
    CodeAlpaca [2023/03/22]
    • プログラミングに関する指示・応答のペアを21件作成し,これをLLMで類似問題を作成させる(Self-instructと
    呼ばれるテクニック)ことによって2万件のデータを作成
    • LLaMAのベースモデルを上記データによってファインチューニングすることで,コード生成に強いLLMを作成
    https://github.com/sahil280114/codealpaca
    "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}"
    }
    ]

    View full-size slide

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

    View full-size slide

  72. 72
    Copyright 2023 NTT CORPORATION
    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

    View full-size slide

  73. 73
    Copyright 2023 NTT CORPORATION
    LLM の支援によるソフトウェア利用
    ソースコードと
    自然言語の両方に
    対応した LLM
    (GPT-3.5, GPT-4等)
    前処理
    (プロンプ
    ト組立)
    自然言語 プロンプト LLMの出力
    (コマンドなど)
    後処理
    (レスポン
    ス抽出・
    加工)
    実行結果
    プロンプトの
    改善
    望ましい
    結果か?
    Yes
    No
    ソフトウェア利用支援
    ユーザ
    ソフトウェア

    View full-size slide

  74. 74
    Copyright 2023 NTT CORPORATION
    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/

    View full-size slide

  75. 75
    Copyright 2023 NTT CORPORATION
    Windows Co-pilot [Microsoft, 2023/05/24]
    • LLMをさらにWindowsに統合することを発表.Windowsの設定や,文書要約,アプリ実行などを言葉で操作
    • Windowsという「世界」をLLMが理解し,行動し始めた
    https://www.youtube.com/watch?v=FCfwc-NNo30

    View full-size slide

  76. 76
    Copyright 2023 NTT CORPORATION
    ChatGPT Plugins [OpenAI, 2023/3/23]
    • ChatGPTにプラグインとして新たな機能を追加する
    • 日本では食べログがいち早く登録し,ChatGPTを介した予約機能を提供している
    https://tech-blog.tabelog.com/entry/first-
    challenge-tabelog-chatgpt-plugin-devleopment

    View full-size slide

  77. 77
    Copyright 2023 NTT CORPORATION
    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. 抽出結果をファイル保存

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide