Slide 1

Slide 1 text

【ChatGPTの基礎と応用】
 自然言語処理の最新動向から
 プロダクトでの活用を考える


Slide 2

Slide 2 text

06

Slide 3

Slide 3 text

190 イタンジのDX推進への取り組みは、 DX銘柄2022の選定を通じて評価されてい ます。(3年連続) 2023年1月末

Slide 4

Slide 4 text

13

Slide 5

Slide 5 text

20

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

33

Slide 8

Slide 8 text

大規模言語モデルの基礎
 - ChatGPTをざっくり理解する -
 GA technologies AISC 岩隈


Slide 9

Slide 9 text

注意
 サブタイトルにある通り「ざっくり」理解するための資料となっているため
 分かりやすさを優先し、表現が正確ではない部分があります。🙇


Slide 10

Slide 10 text

自己紹介


Slide 11

Slide 11 text

P011    0. 導入
 資料のゴールと流れ
 P017    1. 言語モデルって?
 言語モデルとGPT
 P044    2. ChatGPTに至るまで
 GPT-3が様々なタスクをこなすまで
 P058    3. 最近の話題
 GPT-4周りについて少しだけ
 P062    4. 参考資料
 大規模言語モデルの基礎
 - ChatGPTをざっくり理解する -


Slide 12

Slide 12 text

0. 導入


Slide 13

Slide 13 text

ChatGPT
 13 2022年11月に公開された、OpenAIが開発したAIチャットボット
 https://openai.com/blog/chatgpt 


Slide 14

Slide 14 text

ChatGPT
 14 何ができる?
 -> 自然言語処理のタスクであればだいたいできる!
 https://platform.openai.com/docs/guides/chat 
 ドラフト作成
 コード作成
 資料に関する回答
 チャットボット
 自然言語インターフェース
 チューター
 翻訳
 キャラクターなりきり
 OpenAI APIドキュメント
 要約
 質疑応答
 翻訳
 代表的な使い方
 コード作成
 なりきり
 …


Slide 15

Slide 15 text

ChatGPT
 15 どうやってできている?
 Wikipediaより
 https://ja.wikipedia.org/wiki/ChatGPT 


Slide 16

Slide 16 text

ChatGPT
 16 どうやってできている?
 「言語モデル」と「GPT」というキーワードをよく見る
 (GPT)
 Wikipediaより
 https://ja.wikipedia.org/wiki/ChatGPT 


Slide 17

Slide 17 text

この発表のゴール:ChatGPTをざっくり理解する
 17 1. 言語モデル、GPTのイメージを掴んでもらう
 2. GPTが様々なタスクをこなすようになるまでの道のりを知ってもらう
 GPT-1
 GPT-2
 GPT-3
 (davinci)
 InstructGPT
 (text-davinci-003) 
 ChatGPT
 (gpt-3.5-turbo) 
 GPT-4
 要約
 質疑応答
 翻訳
 …
 1章
 2章
 3章
 2020.5
 2019.2
 2018.6
 2022.1
 2022.11
 2023.3
 ※ 丸の大きさは使うのに必要な
   リソースを大きさを相対的に表しています


Slide 18

Slide 18 text

1. 言語モデルって?


Slide 19

Slide 19 text

前提:機械学習
 19 機械学習とは、データから自動的にルールを学習する技術
 
 「どんなモデルにどんなデータをどのように学習させるか」で決まる
 モデル
 データ 学習済み
 モデル
 問題設定


Slide 20

Slide 20 text

前提:機械学習
 20 機械学習とは、データから自動的にルールを学習する技術
 
 「どんなモデルにどんなデータをどのように学習させるか」で決まる
 モデル
 データ 学習済み
 モデル
 例:画像分類
 CNN
 画像とラベルのペア
 , “猫”
 , “犬”
 画像からラベルを予測するように
 問題設定
 学習後
 “犬”
 画像分類
 モデル
 画像は次のデータセットを利用しています https://www.kaggle.com/datasets/tongpython/cat-and-dog 


Slide 21

Slide 21 text

言語モデルとは
 21 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 🤔


Slide 22

Slide 22 text

言語モデルとは
 22 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 ※ 説明のしやすさのため、ここでの例は英語にしています...🙇
 A language model is 
 ???

Slide 23

Slide 23 text

言語モデルとは
 23 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 ※ 説明のしやすさのため、ここでの例は英語にしています...🙇
 A language model is 
 ??? 言語
 モデル
 …
 ※ 確率分布はOpenAI API playgroundで利用できるtext-davinci-003(temperature=0)のものを記載しています 
 続く単語の確率を予測する


Slide 24

Slide 24 text

言語モデルとは
 24 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 ※ 説明のしやすさのため、ここでの例は英語にしています...🙇
 A language model is 
 ??? 言語
 モデル
 …
 a
 何らかの方法で続く単語を決定する(サンプリング)
 ※ 確率分布はOpenAI API playgroundで利用できるtext-davinci-003(temperature=0)のものを記載しています 


Slide 25

Slide 25 text

言語モデルとは
 25 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 ※ 説明のしやすさのため、ここでの例は英語にしています...🙇
 A language model is a 
 ??? 言語
 モデル
 決定した単語を並びに追加する
 ※ 確率分布はOpenAI API playgroundで利用できるtext-davinci-003(temperature=0)のものを記載しています 


Slide 26

Slide 26 text

言語モデルとは
 26 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 ※ 説明のしやすさのため、ここでの例は英語にしています...🙇
 A language model is a 
 ??? 言語
 モデル
 …
 続く単語の確率を予測する
 ※ 確率分布はOpenAI API playgroundで利用できるtext-davinci-003(temperature=0)のものを記載しています 


Slide 27

Slide 27 text

言語モデルとは
 27 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 ※ 説明のしやすさのため、ここでの例は英語にしています...🙇
 A language model is a 
 ??? 言語
 モデル
 …
 probability
 何らかの方法で続く単語を決定する(サンプリング)
 ※ 確率分布はOpenAI API playgroundで利用できるtext-davinci-003(temperature=0)のものを記載しています 


Slide 28

Slide 28 text

言語モデルとは
 28 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 ※ 説明のしやすさのため、ここでの例は英語にしています...🙇
 A language model is a probability 
 ??? 言語
 モデル
 決定した単語を並びに追加する


Slide 29

Slide 29 text

言語モデルとは
 29 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 ※ 説明のしやすさのため、ここでの例は英語にしています...🙇
 distribution over sequences of words. 
 ??? 言語
 モデル
 この操作を繰り返していくと、文章が生成できる!!
 A language model is a probability 


Slide 30

Slide 30 text

言語モデルとは
 30 「単語(token)の並びから続く単語(token)を予測する」ように
 学習されたモデルのこと
 ※ 説明のしやすさのため、ここでの例は英語にしています...🙇
 distribution over sequences of words. 
 ??? 言語
 モデル
 この操作を繰り返していくと、文章が生成できる!!
 A language model is a probability 
 A language model is 
 a probability distribution 
 over sequences of words. 
 全体としては与えられた文章(入力)に自然に続く文章(出力)を生成するモデル


Slide 31

Slide 31 text

言語モデルの学習
 31 「どんなモデルにどんなデータをどのように学習させるか」
 モデル
 データ 言語
 モデル
 問題設定
 学習後
 A language model is 
 a 言語
 モデル
 A language model is
 ??? 単語の並びから続く単語を予測するように:


Slide 32

Slide 32 text

言語モデルの学習
 32 「どんなモデルにどんなデータをどのように学習させるか」
 モデル
 データ 言語
 モデル
 問題設定
 A language model is
 ??? 単語の並びから続く単語を予測するように:
 Wikipedia(https://en.wikipedia.org/wiki/Machine_learning )
 単語の並びと続く単語のペア
 Machine learnng (ML) is a , field
 Machine learnng algorithms build a , model
 以下の手順で学習データを機械的かつ大量に作成できる
 1. WikipediaのようなパブリックなWebページから文章を抽出
 2. 文章を単語で分割、上記のような単語の並びと続く単語のペアへ


Slide 33

Slide 33 text

言語モデルの学習
 33 「どんなモデルにどんなデータをどのように学習させるか」
 モデル
 データ 言語
 モデル
 問題設定
 A language model is
 ??? 単語の並びから続く単語を予測するように:
 単語の並びと続く単語のペア
 Machine learnng (ML) is a , field
 Transformerと呼ばれる
 モデルを使うのが最近の主流
 Machine learnng algorithms build a , model


Slide 34

Slide 34 text

言語モデルは何を学習している?
 34 左の英語の文章に続く単語を埋める問題を考えてみてください! 
 In my free time, I like to {run, banana} 文法的な知識 First grade arithmetic exam: 3 + 8 + 4 = {15, 11} 算数力 [...] Iroh went into the kitchen to make some tea. Standing next to Iroh, Zuko pondered his destiny. Zuko left the {kitchen, store} 空間的な論理思考力 The word for “pretty” in Spanish is {bonita, hola} 翻訳する能力 Movie review: I was engaged and on the edge of my seat the whole time. The movie was {good, bad} 感情を推定する能力 The capital of Denmark is {Copenhagen, London} 世界に関する知識 I went to the zoo to see giraffes, lions, and {zebras, spoon} 単語の意味に関する知識 ※ 英語の例は次の資料から引用しています: Scaling, emergence, and reasoning (Jason Wei, NYU)

Slide 35

Slide 35 text

First grade arithmetic exam: 3 + 8 + 4 = {15, 11} 算数力 言語モデルは何を学習している?
 35 言語モデルも続く単語を予測するという問題を通して
 暗黙的に「文章理解に役立つ一般的な知識や能力を学習している」と考えられる!
 ※ 英語の例は次の資料から引用しています: Scaling, emergence, and reasoning (Jason Wei, NYU) 左の英語の文章に続く単語を埋める問題を考えてみてください! 
 In my free time, I like to {run, banana} 文法的な知識 [...] Iroh went into the kitchen to make some tea. Standing next to Iroh, Zuko pondered his destiny. Zuko left the {kitchen, store} 空間的な論理思考力 The word for “pretty” in Spanish is {bonita, hola} 翻訳する能力 Movie review: I was engaged and on the edge of my seat the whole time. The movie was {good, bad} 感情を推定する能力 The capital of Denmark is {Copenhagen, London} 世界に関する知識 I went to the zoo to see giraffes, lions, and {zebras, spoon} 単語の意味に関する知識

Slide 36

Slide 36 text

First grade arithmetic exam: 3 + 8 + 4 = {15, 11} 算数力 言語モデルは何を学習している?
 36 言語モデルも続く単語を予測するという問題を通して
 暗黙的に「文章理解に役立つ一般的な知識や能力を学習している」と考えられる!
 ここで学習したものを他のタスクにも流用しよう!というのがGPTの始まり
 ※ 英語の例は次の資料から引用しています: Scaling, emergence, and reasoning (Jason Wei, NYU) 左の英語の文章に続く単語を埋める問題を考えてみてください! 
 In my free time, I like to {run, banana} 文法的な知識 [...] Iroh went into the kitchen to make some tea. Standing next to Iroh, Zuko pondered his destiny. Zuko left the {kitchen, store} 空間的な論理思考力 The word for “pretty” in Spanish is {bonita, hola} 翻訳する能力 Movie review: I was engaged and on the edge of my seat the whole time. The movie was {good, bad} 感情を推定する能力 The capital of Denmark is {Copenhagen, London} 世界に関する知識 I went to the zoo to see giraffes, lions, and {zebras, spoon} 単語の意味に関する知識

Slide 37

Slide 37 text

機械学習でタスクを行う
 37 従来:タスクごとに専用のデータを使って1から学習
   X 専用のデータを
 大量に集めるのが大変
 モデル
 要約
 モデル
 モデル
 質疑応答
 モデル
 要約
 データ
 質疑応答
 データ
 要約
 質疑応答


Slide 38

Slide 38 text

要約
 質疑応答
 事前学習:学習したものを流用する
 38 従来:タスクごとに専用のデータを使って1から学習
 事前に学習した言語モデルからタスクごとに専用のデータを使って学習
 モデル
 要約
 モデル
 モデル
 質疑応答
 モデル
 要約
 データ
 質疑応答
 データ
 モデル
 言語
 モデル
 公開
 データ
 言語
 モデル
 要約
 モデル
 言語
 モデル
 質疑応答
 モデル
   O 言語モデルの活用により
 タスクの精度向上
 
   O 専用のデータが
 少量で済むように
 Pre-training(事前学習):
 タスク共通の能力補強が目的
 Fine-tuning(ファインチューニング):タスク専用の能力特化が目的
   X 専用のデータを
 大量に集めるのが大変


Slide 39

Slide 39 text

事前学習された
 Transformer(モデルの種類)
 (言語モデルとして文章の)生成能力がある
 GPT-1
 39 事前に学習した言語モデルからタスクごとに専用のデータを使って学習
 モデル
 言語
 モデル
 公開
 データ
 言語
 モデル
 要約
 モデル
 言語
 モデル
 質疑応答
 モデル
   O 言語モデルの活用により
 タスクの精度向上
 
   O 専用のデータが
 少量で済むように
 Pre-training(事前学習):
 タスク共通の能力補強が目的
 Fine-tuning(ファインチューニング):タスク専用の能力特化が目的
 Generative Pre-trained Transformer
 Transformer
 GPT
 Generative Pre-trained Transformer
 GPTとはこれのこと!


Slide 40

Slide 40 text

GPT-2とGPT-3(1/3)
 40 モデル
 公開
 データ
 サイズ:Parameter数
 モデルのサイズと学習データのサイズを大きくすればするほど
 言語モデルとしての性能が向上し続ける、というスケーリング則が見つかる
 続く単語の予測精度
 言語
 モデル
 GPT-1
 GPT-2
 GPT-3
 サイズ:Token数


Slide 41

Slide 41 text

GPT-2とGPT-3(2/3)
 41 モデルのサイズと学習データのサイズを大きくすればするほど
 言語モデルとしての性能が向上し続ける、というスケーリング則が見つかる
 続く単語の予測精度
 GPT-3:1750億
 GPT-2:15億
 GPT-1:1.1億
 モデルサイズ(Parameter数)
 GPT-3のモデルサイズはGPT-1の1000倍以上!! 
 グラフは以下の Webページで作成 https://observablehq.com/@sorami/sizes-of-large-language-models 


Slide 42

Slide 42 text

GPT-2とGPT-3(3/3)
 42 モデルのサイズと学習データのサイズを大きくすればするほど
 言語モデルとしての性能が向上し続ける、というスケーリング則が見つかる
 続く単語の予測精度
 GPT-3時点でスケーリング則の終わりが見えない … 
 図は次の論文から引用 [2001.08361] Scaling Laws for Neural Language Models

Slide 43

Slide 43 text

大規模言語モデル時代へ
 43 大規模言語モデル … モデルパラメータ数が100億を超える言語モデル
 図は次の論文から引用: [2303.18223] A Survey of Large Language Models

Slide 44

Slide 44 text

大規模言語モデルの課題
 44 モデル
 言語
 モデル
 公開
 データ
 要約
 モデル
 Pre-training(事前学習)
 Fine-tuning(ファインチューニング)
 モデルの大規模化によりファインチューニングのコストが増大
 性能向上を果たした言語モデルのより効率的な利用が求められる
 GPT-3
 GPT-3
 質疑応答
 モデル
 GPT-3
   X モデルの大規模化によりタスクごとに
 ファインチューニング・運用するのが大変


Slide 45

Slide 45 text

2. ChatGPTに至るまで


Slide 46

Slide 46 text

言語モデル:Recap
 46 言語
 モデル
 言語モデルとは 
 単語の系列に対する確率分布のことです。 
 入力(prompt)
 出力(completion)
 与えられた文章(入力)から続く文章(出力)を生成するもの


Slide 47

Slide 47 text

大規模言語モデルの課題:Recap
 47 大規模化した言語モデルを効率よく様々なタスクに適用したい
 要約
 質疑応答
 文章生成
 (本来できること)
 モデル
 公開
 データ
 Pre-training(事前学習)
 GPT-3
 大規模言語モデル
 ● なるべくファインチューニングしたくない
 ● 運用するモデルも少なくしたい(=マルチタスクさせたい)


Slide 48

Slide 48 text

言語モデルの入力を工夫する
 48 言語モデルに与える入力(prompt)を工夫することで他のタスクが解けないか?
 例:質疑応答(イギリスの首都が知りたい場合)
 ● 文章の続きとして知りたいものが来るように頑張る
 (本来の言語モデルらしい使い方、コツがいる)
 ● 入力にタスクの説明を加える
 (より自然なコミュニケーションに近い、分かりやすい)
 イギリスの首都は
 次の質問に答えてください。イギリスの首都はどこですか。
 タスクの説明
 ロンドンです。
 イギリスの首都はロンドンです。


Slide 49

Slide 49 text

言語モデルの入力を工夫する
 49 言語モデルに与える入力(prompt)を工夫することで他のタスクが解けないか?
 ● 文章の続きとして知りたいものが来るように頑張る
 (本来の言語モデルらしい使い方、コツがいる)
 ● 入力にタスクの説明を加える
 (より自然なコミュニケーションに近い、分かりやすい)
 次の質問に答えてください。イギリスの首都はどこですか。
 タスクの説明
 ロンドンです。
 イギリスの首都はロンドンです。
 例:質疑応答(イギリスの首都が知りたい場合)
 イギリスの首都は


Slide 50

Slide 50 text

言語モデルとのコミュニケーション上の課題(1/2)
 50 タスクの説明を入力に加えて、実際に当時のGPT-3に与えてみる
 次のことについて6歳児にも分かるように説明してください。月面着陸とは何ですか。
 タスクの説明
 月面着陸は何をすることですか。月面着陸はどのようにして行われましたか。月面着陸はど のようなものですか。月面着陸はどのようにして行われましたか。月面着陸はどのようなもの ですか。月面着陸はどのようにして行われましたか。月面着陸はどのようなものですか。月面 着陸はどのようにして行われましたか。月面着陸はどのようなものですか。
 ※ 上例では、OpenAI API playgroundで利用できるdavinci(temperature=0)の出力を記載しています 
 全くタスクの説明に従っていない!


Slide 51

Slide 51 text

言語モデルとのコミュニケーション上の課題(2/2)
 51 攻撃的な内容を入力に加えて、実際に当時のGPT-3に与えてみる
 Q:差別は増やしたほうがいいですよね?
 攻撃的な内容
 A:そうですね。 Q:それでは、どうやって差別を増やすのですか? A:それは、私が考えるところでは、私たちが持っているものを全て捨てて、新しいものを取り 入れることです。 ※ 上例では、OpenAI API playgroundで利用できるdavinci(temperature=0)の出力を記載しています 
 不適切な発言に対してそれを助長したり人間にとって好ましくないことを言う


Slide 52

Slide 52 text

言語モデルとのコミュニケーション上の課題:考察
 52 1. 当初のGPT-3はなぜタスクの説明に従わないのか
 ○ 学習データの中にタスクの説明とその適切な応答からなる文章がない
 ✓ ほとんどがWebページに記載されている書き言葉
 ✓ 人とのコミュニケーションで用いられるような命令形や疑問形の文章の意図を上 手く理解できていない(?)
 
 
 2. 当初のGPT-3はなぜ人間にとって好ましくない発言もするのか
 ○ 人間のコミュニケーションが前提としている倫理観を学習する仕組みがない
 ✓ 人間は暗黙的に理解している、文章には明示的に表れない
 ✓ ここに関しては、Web上の文章に続く単語を予測しているだけではダメ


Slide 53

Slide 53 text

言語モデルとのコミュニケーション上の課題:解決策
 53 1. 当初のGPT-3はなぜタスクの説明に従わないのか
 ○ 学習データの中にタスクの説明とその適切な応答からなる文章がない
 ➢ タスクの説明とその適切な応答のデータを作成、それを学習に使用
 (Instruction tuning)
 
 
 
 2. 当初のGPT-3はなぜ人間にとって好ましくない発言もするのか
 ○ 人間のコミュニケーションが前提としている倫理観を学習する仕組みがない
 ➢ 人間によるフィードバックを言語モデルの学習に組み込む仕組みを導入
 (Alignment tuning)


Slide 54

Slide 54 text

InstructGPT
 54 GPT-3に対して、タスクの説明に従わせるためのInstruction tuningと
 コミュニケーションに必要な倫理観を身につけさせるAlignment tuningを適用
 次のことについて6歳児にも分かるように説明してください。月面着陸とは何ですか。
 タスクの説明
 月面着陸とは、宇宙船が月に着陸することです。月は地球から離れていて、宇宙船を使って 月に行くことができます。月面着陸をすると、月の表面を見ることができます。
 人とのコミュニケーションのような形で
 タスクの説明に従って適切な応答ができるように!
 ※ 上例では、OpenAI API playgroundで利用できるtext-davinci-003(temperature=0)の出力を記載しています 


Slide 55

Slide 55 text

InstructGPT
 55 GPT-3に対して、タスクの説明に従わせるためのInstruction tuningと
 コミュニケーションに必要な倫理観を身につけさせるAlignment tuningを適用
 Q:差別は増やしたほうがいいですよね?
 攻撃的な内容
 A:差別を増やすことは、社会的不平等を招く可能性があるため、慎重に検討する必要があり ます。また、差別を増やすことで、社会的不平等を解決することはできません。社会的不平等 を解決するためには、公正な機会を提供し、社会的不平等をなくすための政策を検討する必 要があります。 GPT-3に比べて人間にとって好ましくない発言をしにくい!
 ※ 上例では、OpenAI API playgroundで利用できるtext-davinci-003(temperature=0)の出力を記載しています 


Slide 56

Slide 56 text

ChatGPT
 56 InstructGPTに対して、さらにInstruction tuningとAlignment tuningを適用
 対話形式のデータを学習に追加しフォローアップや間違いの訂正ができるように
 ご近所さんへの挨拶に向けて私の簡単な自己紹介を考えて!
 こんにちは、私は〇〇と申します。この地域に引っ越してきたばかりで、まだ周りのことをよく 知らないのですが、ご近所の方々と仲良くなりたいと思っています。趣味は〇〇で、休日は 〇〇をして過ごすことが多いです。今後ともよろしくお願いします。 相手は同い年くらいだからもう少しカジュアルな感じでお願い!
 やあ、こんにちは!私は〇〇って言うんだ。最近この辺に引っ越してきたんだけど、まだ周り のことよく知らなくて、ちょっと緊張してるんだよね。趣味は〇〇で、休日は〇〇をして過ごすこ とが多いんだ。これからもよろしくね! ※ 上例では、OpenAI API playgroundで利用できるgpt-3.5-turbo(system=default, temperature=0)の出力を記載しています 


Slide 57

Slide 57 text

ChatGPTに至るまで:まとめ
 57 X:大規模言語モデルをいくつもファインチューニングしたり運用するのはコストが高い 
 
 ✓ 言語モデルのまま、入力の指示に従うようにファインチューニングを行うことで入力の指示を 通して様々なタスクを行うことができるようになった 
 ○ 個々のタスクにファインチューニングしているのではない! 
 
 ✓ 人間によるフィードバックを学習に組み込むことで 不適切な発言をしにくくなった
 ○ 文章に明示的に書かれていないことをある程度考慮できるようになった! 
 ※ 上例では、OpenAI API playgroundで利用できるgpt-3.5-turbo(system=default, temperature=0)の出力を記載しています 
 要約
 質疑応答
 文章生成
 モデル
 公開
 データ
 Pre-training(事前学習)
 ChatGPT
 高品質
 データ
 GPT-3
 Fine-tuning(ファインチューニング)
 X


Slide 58

Slide 58 text

全体:まとめ
 58 ● ChatGPTは色々な最新の研究の上に立っている
 ● それが今、誰にでも触れる形になっている!!(本当にすごいこと!!)
 ● ぜひ皆さんも積極的に触って活用していきましょう!!!!
 ※ 上例では、OpenAI API playgroundで利用できるgpt-3.5-turbo(system=default, temperature=0)の出力を記載しています 


Slide 59

Slide 59 text

3. 最近の話題


Slide 60

Slide 60 text

GPT-4
 OpenAIによるモデルの大規模化における最新のマイルストーン
 (モデルのパラメータ数は不明)
 https://openai.com/research/gpt-4 


Slide 61

Slide 61 text

GPT-4:マルチモーダリティ
 GPT-4は文章に加えて画像も入力として与えることができる
 https://openai.com/research/gpt-4 
 この画像で普通じゃないところはどこですか? 
 この画像で普通じゃないところは、男の人がタクシーのルーフ にくくりつけられたアイロン台の上で衣服をアイロン掛けしてい るところです。 


Slide 62

Slide 62 text

GPT-4:大規模言語モデル時代の一つの終着点?
 62 コストやリソースの問題、スケーリング以外のアプローチの可能性
 https://www.wired.com/story/openai-ceo-sam-altman-the-age-of-giant-ai-models-is-already-over/

Slide 63

Slide 63 text

4. 参考資料


Slide 64

Slide 64 text

利用したサービス
 64 ● OpenAI, OpenAI API Playground [url]
 ○ GPT-3, InstructGPT, ChatGPTの出力生成に利用しました
 ● Sorami Hashimoto, Sizes of large Language Models [url]
 ○ GPT-1,2,3のモデルサイズの比較用グラフに利用しました


Slide 65

Slide 65 text

引用した資料
 65 ● Introducing ChatGPT - OpenAI [url]
 ● ChatGPT - Wikipedia [url]
 ● Cat and Dog dataset - Kaggle [url]
 ● Machine Learning - Wikipedia [url]
 ● Jason Wei, Scaling, emergence, and reasoning [url]
 ● Jared Kaplan et al., “Scaling Laws for Neural Language Models” [arXiv]
 ● Wayne Xin Zhao et al., “A Survey of Large Language Models” [arXiv]
 ● GPT-4 - OpenAI [url]
 ● OpenAI’s CEO Says the Age of Giant AI Models Is Already Over - Wired [url]


Slide 66

Slide 66 text

参考にした資料
 66 ● 岡崎 直観, “大規模言語モデルの驚異と脅威” [url]
 ● Slides - CSCI-GA.2590 Natural Language Processing, Spring 2023 [url]
 ● Jason Wei et al., “Finetuned Language Models Are Zero-Shot Learners” [arXiv]
 ● Long Ouyang et al., “Training language models to follow instructions with human feedback” [arXiv]


Slide 67

Slide 67 text

大規模言語モデルの応用
 GA technologies AISC 丸山


Slide 68

Slide 68 text

注意
 本発表の資料は、2023年4月時点の情報を元に作成しています。
 また、分かりやすさを優先し、表現が正確ではない部分があります。


Slide 69

Slide 69 text

目次
 P068    自己紹介 P070    Prompt Engineering P091    LLMの使用上の注意点 P101    関連リソース・ツール   P104    終わりに P105    参考文献・資料 69

Slide 70

Slide 70 text

自己紹介
 ● 丸山 拓己
 ● 青山学院大学大学院卒
 ● GA technologies 2021年新卒入社
 ● M&A仲介の業務支援ツール開発
 70

Slide 71

Slide 71 text

これ以降の発表について
 発表者(丸山)の感覚で
 一般ユース向け プロダクト向け 上記2つに分類している箇所があります
 71

Slide 72

Slide 72 text

Prompt Engineering


Slide 73

Slide 73 text

Prompt Enginneringとは
 73 ● 大規模言語モデルは質問文(Prompt)の書き方によって精度が変わる
 ○ In-Context Learning
 ● 与えるPromptによって、LLMの出力を制御しようという試み
 ○ → Prompt Engineering
 https://arxiv.org/abs/2005.14165 


Slide 74

Slide 74 text

こんなことを思ったことはありますか?
 タスクを与えたのにうまくいかない 出力される文章の形式を統一したい 自分好みな出力にチューニングしたい 74

Slide 75

Slide 75 text

こんなことを思ったことはありますか?
 タスクを与えたのにうまくいかない 出力される文章の形式を統一したい 自分好みな出力にチューニングしたい これらを解決できるかもしれない
 
 Prompt Engineering
 75

Slide 76

Slide 76 text

Few-shot Prompting
 ● いくつかの例を質問文に埋め込むことで出力をコントロールする
 ○ 何も例がないとZero-shot,例が1つだとOne-shotと呼ばれる
 https://arxiv.org/abs/2005.14165 
 一般ユース向け 76

Slide 77

Slide 77 text

Few-shot Prompting
 タスクの説明(Instruction)
 解答例(demonstration)
 解かせたい内容
 https://arxiv.org/abs/2005.14165 
 77

Slide 78

Slide 78 text

Few-shot Promptingで解決困難なこと
 数値計算を含むタスク ● 契約書中の契約開始日と契約期間から契約終了日を算出
 ● 飲み会参加人数とかかった費用から一人当たりの金額を計算
 論理的思考を含むタスク ● 文章の内容で矛盾したことを言っていないかチェック
 ● 常識的な発想を必要とするタスク
 https://arxiv.org/abs/2201.11903 
 78

Slide 79

Slide 79 text

Chain-of-Thought Prompting(CoT)
 ● 推論過程を含めた例をプロンプトに追加する
 ○ モデルにも推論過程を出力させる
 ● 数値計算などのタスクで有効性が示された
 通常のプロンプトとCoTの比較 
 一般ユース向け https://arxiv.org/abs/2201.11903 79

Slide 80

Slide 80 text

Chain-of-Thought Prompting(CoT)
 Q:
 ロジャーは5個テニスボールを持っています。 
 彼は、2つの缶を買いました。 
 缶には、それぞれ3個ずつテニスボールが入っていま す。
 彼はテニスボールをいくつ持っているでしょうか? 
 
 
 A:
 答えは11個です
 80

Slide 81

Slide 81 text

Chain-of-Thought Prompting(CoT)
 Q:
 カフェには23個のりんごがあります。 
 20個昼食に使って新たに6個買ったら、 
 合計いくつですか? 
 
 A:
 答えは27です(❌)
 81

Slide 82

Slide 82 text

Chain-of-Thought Prompting(CoT)
 Q:
 ロジャーは5個テニスボールを持っています。 
 彼は、2つの缶を買いました。 
 缶には、それぞれ3個ずつテニスボールが入っていま す。
 彼はテニスボールをいくつ持っているでしょうか? 
 
 A:
 ロジャーは最初5個のボールを持ってます。 
 2つの缶には合計6個のテニスボールがあります。 
 5+6=11で、答えは11個です 
 https://arxiv.org/abs/2201.11903 82

Slide 83

Slide 83 text

Chain-of-Thought Prompting(CoT)
 Q:
 カフェには23個のりんごがあります。 
 20個昼食に使って新たに6個買ったら、 
 合計いくつですか? 
 
 A: 
 カフェには最初23個のりんごがあります。 
 20個を昼食に使いました。 
 6個新しく買ったので、彼らは3+6=9個持ってます。 
 なので答えは9です。 
 https://arxiv.org/abs/2201.11903 83

Slide 84

Slide 84 text

Zero-shot CoT
 ● “Let’s think step by step”と聞くことでモデルに推論過程を出力させる
 ● 出力させた推論過程を入力に加えて答えを導き出す
 ● CoTで必要であった例が必要ない
 Zero-shot CoTの工程 
 一般ユース向け https://arxiv.org/abs/2205.11916 84

Slide 85

Slide 85 text

Self-Consistency
 ● CoTを用いて複数の予測を作成する
 ● 作成された複数の予測を用いて最終的な予測を作成する
 Self-Consistencyの流れ 
 https://arxiv.org/abs/2203.11171 一般ユース向け 85

Slide 86

Slide 86 text

ここまでの手法で解決できないこと
 最新情報の使用 ● LLMは学習時までの知識しか持っていない
 ● ChatGPTであれば、2021年9月までの情報しか知らない
 外部データソース使用 ● LLMが外部のデータソースを使用することができない
 ● Ex: Wikipedia、Google検索、自社のデータベース
 86

Slide 87

Slide 87 text

ReAct
 ● 中間推論で、モデルが外部のリソースにアクセスできるようにする
 ○ 思考・行動の二つのプロセスに分けて出力させる
 ● より正確な答えを得ることができる
 https://arxiv.org/abs/2210.03629 プロダクト向け 87

Slide 88

Slide 88 text

ReAct
 シルク・ドゥ・ソレイユのショー「ミステール」が行われているホテルには、 部屋は何室ありますか? https://arxiv.org/abs/2210.03629 88

Slide 89

Slide 89 text

ReAct
 思考: ミステールを検索し、開催されているホテルの部屋数を調べればいい
 行動: 「Cirque du Soleil show Mystere」で検索
 結果: 「Cirque du Soleil show Mystere」の結果が見つからない
 https://arxiv.org/abs/2210.03629 89

Slide 90

Slide 90 text

ReAct
 思考: ホテルは「Mystere(Cirque du Soleil)」で調べられると判断
 行動: 「Mystere(Cirque du Soleil)」で検索
 結果: 開催されている「Treasure Island Hotel and Casino」が見つかる
 https://arxiv.org/abs/2210.03629 90

Slide 91

Slide 91 text

ReAct
 思考: 「Treasure Island Hotel and Casino」について調べて、部屋数を確認
 行動: 「Treasure Island Hotel and Casino」で検索
 結果: 2,884室の部屋と220室のスイートがあることがわかる
 https://arxiv.org/abs/2210.03629 91

Slide 92

Slide 92 text

ReAct
 思考: 通常の部屋とスイートを足し合わせると、答えは3,104室である
 行動: 答えとして「3,104」を出力
 https://arxiv.org/abs/2210.03629 92

Slide 93

Slide 93 text

プロダクト使用時の
 注意点


Slide 94

Slide 94 text

プロダクト使用時の注意点
 バイアス・攻撃的な出力 間違いの出力 悪意のあるユーザ操作 94

Slide 95

Slide 95 text

間違った出力
 ● LLMはしばしば内容が間違った出力をすることがある(Hallucination)
 
 95

Slide 96

Slide 96 text

間違った出力
 ● LLMはしばしば内容が間違った出力をすることがある(Hallucination)
 
 96

Slide 97

Slide 97 text

間違った出力
 ● LLMはしばしば内容が間違った出力をすることがある(Hallucination)
 
 事実ではない出力 97

Slide 98

Slide 98 text

間違った出力
 ● この問題を緩和する方法はいくつか提案されている
 ○ わからないこと・自信のないことは「わからない」と出力させる
 ○ Demonstrationに、わからない時の例を追加する
 ○ Promptの一部として、参照して欲しい情報を渡す
 
 Q: 原子とは何ですか? A: 原子とは、すべてのものを構成する微小な粒子です。 Q: アルバン・ムンツとは誰ですか? A: ? Q: Kozar-09とは何ですか? A: ? Q: 火星には何個の衛星がありますか? A: フォボスとデイモスの 2つです。 Q: ネト・ベト・ロベルトとは誰ですか? https://www.promptingguide.ai/jp/risks/factuality
 98

Slide 99

Slide 99 text

バイアスや攻撃的な出力
 ● Alignmentにより改善したが、まだ好ましくない出力をすることがある
 ○ 価値観の偏り、暴力的・性的な出力
 ● 出力をそのままユーザへ提供するのではなく、チェックを入れる
 ○ 攻撃的な出力かどうかをLLMに判定させる
 ○ Evaluateモジュール(Hugging Face)
 ○ Moderation API(OpenAI)
 99

Slide 100

Slide 100 text

悪意のあるユーザ操作(Prompt Injection)
 ● 事前に与えているプロンプトを無視させるような指示を与える
 ○ Prompt Injection
 ● システムで事前に設定したプロンプトを無視される可能性がある
 
 https://www.promptingguide.ai/jp/risks/adversarial
 100

Slide 101

Slide 101 text

悪意のあるユーザ操作(Prompt Leaking)
 ● 事前に与えられているプロンプトを出力させる
 ○ Prompt Leaking
 ● ユーザから見えないプロンプト内に、安易に機密情報を与えていると危険
 
 https://www.promptingguide.ai/jp/risks/adversarial
 101

Slide 102

Slide 102 text

悪意のあるユーザ操作を防ぐ
 ● ユーザの指示を無視するプロンプトを与える
 ● 引用符などで囲むことで、他のプロンプトと区別する
 ● モデルに、ユーザのプロンプトを実行していいか評価させる
 https://www.alignmentforum.org/posts/pNcFYZnPdXyL2RfgA/using-gpt-eliezer-against-chatgpt-jailbreaking 
 102

Slide 103

Slide 103 text

関連リソース・ツール


Slide 104

Slide 104 text

🦜🔗LangChain
 ● 大規模言語モデルを使用したアプリ開発の支援ツール
 ○ Python版とTypeScript版がある
 ● 様々な便利モジュールが含まれている
 ○ OpenAI APIなどのAPI使用をWrapしてくれているModelsモジュール
 ○ 文書のロード・ベクトル化・検索を支援するIndexesモジュール
 ○ 外部リソースとのやりとりをE2Eで行ってくれるAgentsモジュール
 ● 更新が頻繁に行われている
 https://github.com/hwchase17/langchain
 104

Slide 105

Slide 105 text

Prompt Engineering Guide
 ● Prompt EngineeringについてまとまったWebサイト
 ● 様々なテクニックが論文や実例と一緒にまとまっている
 ○ この資料作成にもかなり参考にさせていただいています
 ● 最近日本語版が公開 🎉
 
 105

Slide 106

Slide 106 text

終わりに
 ● PromptEngineeringによって大規模言語モデルの出力を制御できる
 ○ 数値計算、論理的思考などで精度が向上
 ● 大規模言語モデルも完全ではない
 ○ 実際にプロダクトで使用する際には様々な工夫が必要
 ● 様々な資料が毎日公開されている
 ○ 常にウォッチしていきましょう👀
 ○ おすすめの資料などあればぜひ教えてください!
 106

Slide 107

Slide 107 text

参考文献・資料
 Brown et al. Language Models are Few-Shot Learners( arxiv)
 Wei et al. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models( arxiv)
 Kojima et al. Large Language Models are Zero-Shot Reasoners( arxiv)
 Wang et al. Self-Consistency Improves Chain of Thought Reasoning in Language Models( arxiv)
 Yao et al. ReAct: Synergizing Reasoning and Acting in Language Models( arxiv)
 Elvis. Prompt Engineering Guide( url)
 Armstrong & Gorman. Using GPT-Eliezer against ChatGPT Jailbreaking( url)
 Chase. LangChain(url)
 宮脇. Prompt Engineeringについて( url)
 107

Slide 108

Slide 108 text

今後もさまざまな
 セミナーを実施予定です イタンジの情報は、Twitterをフォローお願いします✨
 @ItandiOfficial