ChatGPTの頭の中

発刊
2023年7月19日
ページ数
168ページ
読了目安
226分
推薦ポイント 8P
Amazonで購入する

Amazonで購入する

ChatGPTはどのように機能しているのか
ChatGPTを開発するOpenAIのCEOが「最高の解説書」とするChatGPTの解説書。
ChatGPTがどのような仕組みによって動いているのかをニューラルネットの構造や原理の知見をもとに解説しています。
現在のAIの仕組みがどのようになっていて、今後どのような可能性があるのかがわかります。

実は、1つずつ単語を足しているだけ

ChatGPTは基本的に、そこまでに出力された内容の「順当な続き」を出力しようと試みる。ここでいう順当とは「億単位のウェブページなどに書かれている内容を見た上で人間が書きそうだと予測される」という意味である。人間が書いた億単位の文章をスキャンして、その一文が出現するあらゆるケースを見つけ、どの単語がどのくらいの確率で次に続くかを調べる。

ChatGPTで驚異的なのは、例えば小論文を書く時などでも、基本的には「ここまでの文を受けて、次に続く単語は何か?」という質問を繰り返し、そのたびに1つずつ単語を追加しているに過ぎないということだ。厳密に言うと、実際には「トークン」と呼ばれるものを追加している。トークンは単語の一部の場合もあって、ChatGPTが時々「存在しない言葉を造語する」のは、これが理由である。

 

では、小論文を書きながら次に追加していく単語をどうやって選んでいるのか。普通なら「確率(ランク)」が最も高い単語が選ばれるはずだと考えるが、常に最高ランクの単語を選んでいると単調になり、クリエイティビティを発揮するところがなくなる。逆に時々はランクの低い単語をランダムに選んでやると「もっと興味深い」小論文ができあがる。
ランダムさが介在しているので、同じプロンプト(AIに対する指示や命令)を何度か繰り返すと、そのたびに違った小論文が生成される。ランクの低い単語を使う頻度を決める「温度」というパラメーターが存在し、小論文を生成する場合には、この「温度」を0.8に設定すると最もうまく機能することがわかっている。最初の温度0.8の時点では選択できる「次の単語」候補はたくさんあるものの、文章が進めば、その確率は急速に下がっていく。

ウェブをクロールすれば、数千億からの単語が存在する。単語の組み合わせの数は、宇宙に存在する粒子の数すら超えてしまう。そこで、現存するコーパスに含まれるテキストでは単語の組み合わせを実際にはっきりと確認できないとしても、その組み合わせが出現する確率を推定してくれるモデルを作ればいいのではないか、という考え方が出てくる。そして、ChatGPTの中心となっているのが、そのような確率の推定を上手く処理するように設計されたモデル、いわゆる「大規模言語モデル(LLM)」なのである。

 

どんなモデルにも、その基礎に何らかの構造があり、データに合わせて様々なオプション(設定できるパラメーター)が存在する。ChatGPTの場合には、こうしたパラメーターが1750億個ある。その数だけでも、次の語が続く確率を「かなりうまく」計算し、小論文といえる妥当な長さの文章を生成できるモデルを作れるのである。

 

計算的に還元不能なプロセス

ChatGPTの場合、人の脳によって作り出されるのと同じような自然言語の文章に対応するモデルを作らなければならない。そのような機能となると、「単純な数学」に当たるようなものを私たちは持ち合わせていない。

 

ChatGPTのベースにあるのは、ニューラルネットという概念だ。人間の脳のはたらきを単純に理想化したものと考えるとわかりやすい。このニューラルネットは、特に「理論的に導き出された」といえる点はない。現実的な技術の産物として考案され、実際に機能したものなのだ。今のところ、ニューラルネット全体が何をしているのか「説明的に語る」手段を私たちは持ち合わせていない。これはおそらく、ニューラルネットが事実として計算的に還元不能だからであり、各段階を確実に追跡していく以外に、そのふるまいを知る方法はないのである。

ChatGPTによる言語の生成について説明する時にも、同じような問題にぶつかる。やはり「何をしてるかを要約する」手段が定かでないのである。

 

ニューラルネットが実用的なのは、原則的にどんな処理でもこなせる上、段階的に「サンプルから学習」してその処理をこなせるからだ。私たちが基本的に試みるのは、与えられたサンプルをニューラルネットがうまく再現できるような重みを探し出すことである。その上で、ニューラルネットがサンプルとサンプルの間を合理的な形で補間するのに任せる。つまり「汎化」である。

肝心なのは、重みをどう設定すれば、与えられた訓練サンプルを最も正しく取り込めるかということに尽きる。そして、重みの微調整には、ありとあらゆる選択と「ハイパーパラメーター設定」が存在する。今後、ニューラルネットの訓練に関して、今よりも優れた手法が登場するのは確実だろう。

 

意味を成すための法則は見つかっていない

ChatGPTの内部では、どんな文章も数字の配列として表現されており、これはある種の「言語特徴空間」における点の座標と考えることができる。従って、ChatGPTが文章の続きを出力するのは、言語特徴空間で軌跡を描くことに当たるといえる。そうなると、次に考えるのは「意味を成している」と私たち人間が考える文章にこの軌跡を対応させる要素は何かということだ。言語特徴空間における点が「有意味性」を維持したままどうやって位置を変えるのか。それを制約する「意味論上の運動の法則」といえるものは存在するのだろうか。

 

今のところ、人間の言語がどのように「成り立っている」かについてChatGPTが発見したことを、その内部動作から経験的にデコードできるには至っていない。