──
確率と頻度
ここまでに述べた話は、普通に出回っている解釈と同様である。
さて。このあとは私の独自の解釈を示そう。
言語AIにおける「確率」とは何か? ……これがテーマである。
前々項では、Transformer の手法として、次のように示した。
隠された単語には何が入りそうか確率値を出力するのが、このTransformerの構成です。
Transformer では、穴埋め式で、その箇所に入る単語を予想する。その予想の仕方は、確率的に決まる。
また、関連度の点で、確率的に予想されることもある。
例えば、「日本で一番高い山」という文章をGPTに入力したとします。すると、GPTはその文章に関連する可能性の高い単語を推論します。この場合、「富士山」という単語が出力されることが期待されます。
以上のいずれも、前々項で示した通りだ。(詳しい内容はリンク先を参照。)
では、上の二つの例で言う「確率」とは何のことか? それはどのようにして定まるのか?
──
この問いに対して、私は次のように答えよう。
「穴埋め式(または関連式)で単語を求めるとき、その単語を確率的に予想すると言われる。ここで、予想するというのは、過去の大量の用例から、最もありそうな単語を、確率的に候補として出す、ということだ」
とすると、ここでは次のことが大切だ。
「このようにして定まる確率は、数学的な意味の確率ではない。それは正しくは、確率でなく、頻度である」
数学的な意味の確率とは何か? 基本としては、「等分に起こる事象」を前提として、それの組み合わせで起こる事象の割合だ。
ここで、前提となる「等分に起こる事象」とは、次のようなものだ。
・ 表と裏がともに 1/2 の確率で起こる。
・ サイコロの 1,2,3,4,5,6 がともに 1/6 の確率で起こる。
・ すべての電子はともに同等の存在である
このような「同等性」を前提とした上で、その組み合わせとなるような事象の起こる割合を考えることができる。たとえば、
「コインを投じたとき、表が3回連続する確率」
というふうに。
こうして得られる確率は、最初の同等性さえ仮定すれば、あとは数学的な論理だけで数値を導出できる。
一方、現実において、さまざまな事象が起こる頻度を統計的に調べて、その割合を得ることができる。たとえば、
「この交差点で事故が起こる頻度」
などだ。
このような頻度は、数学的な確率とは性質を異にする。単に現実の統計数値を調べるだけだ。
では、Transformer における確率とは何か?
それは、明らかに数学的な意味の確率ではない。むしろ統計的な意味の頻度である。その値を「統計的確率」と呼ぶこともできるが、それは「数学的確率」とはまったく異なるものだ。ただの統計的な頻度であるにすぎない。
では、そのようにして得られた頻度とは、いったい何のことか?
その頻度は、現実における大量の言語情報を調べることによって得られた頻度だ。特に、ある種の特定の状況において得られた頻度だ。
その頻度を、全体数で割ると、割合(比率)が得られる。それを「確率」というふうに呼ぶこともできる。だが、その値は、「確率」というよりは、「関連度」と呼ぶ方がふさわしい。(特に言語においてはそうだ。)
──
以上のことから、次のように結論できる。
「言語AIにおいて、確率と呼ばれているものは、実は、言語的な関連度のことである。それは、最もありそうだと予想されているのではなく、過去の用例において統計的な頻度が最も高かったものなのだ。つまり、関連性が最も高いものなのだ」
こうして、「確率」というよくわからなかった言葉が、「統計的な頻度」という言葉を通じて、実質的には「言語的な関連度」というふうに解釈された。
たとえば、次の説明がある。(前出・再掲)
例えば、「日本で一番高い山」という文章をGPTに入力したとします。すると、GPTはその文章に関連する可能性の高い単語を推論します。この場合、「富士山」という単語が出力されることが期待されます。
これは、次のように解釈し直される。
例えば、「日本で一番高い山」という文章をGPTに入力したとします。すると、GPTはその文章に関連する可能性の高い単語を推論します。
推論するというのは、どういうことか? 機械が頭を働かせて、じっくり考えるということか? そうではない。過去の用例を大量に調べて、統計的に最も頻度の高い単語を導出する。これは機械的な操作であり、コンピュータには得意な操作である。この操作で、実質的に、言語レベルで関連性の強い単語を導出する。
その結果、「富士山」という単語が出力される。
結局、確率的に予想するというのは、過去の莫大な用例を調べるということに相当する。
ただし、現実には、そのたびそのたびに、過去の莫大な用例をすべて調べ直しているわけではない。そんなことをやっていたら、大量の情報を処理しきれない。
言語モデルの精度に直結するといわれるパラメータ数の進展だ。昨年11月に公開されたGPT-3.5が1,750億パラメータであるのに対し、GPT-4のパラメータ数は非公開ながら5,000億以上といわれており、文献によっては100兆とも記されている。2018年の初代GPTが1.1億、2019年のGPT-2が15億であったことから、驚異的な進展を遂げていることがわかる。
次にトークンといわれる扱えるデータ量の違いだ。大規模言語モデルでいうトークンとは形態素解析などで扱う単位なのだが、一般的にトークン数に比例して単語数も増えていくものである。分かりやすく説明すると、GPT-3.5の上限は英語ベースだと3,000語程度である。(日本語だとこれより少なくなる。ChatGPTに聞いてみたところ、1,000〜2,000語程度との回答であった。)対してGPT-4は、最大25,000語程度まで扱うことができるため、GPT-3.5の約8倍という計算になる。
( → 「GPT-4」がもたらすChatGPTのさらなる進化。「GPT-3.5」との比較で整理 【DIGIFUL】デジフル )
このように大量のデータを扱っている。その大量のデータから、いちいち頻度を調べ直しているわけではない。その頻度は、あらかじめ調べておいて、もともとインプットしておく。
※ これは、「全文検索」(インデックス型)の方法に近い。Google が世界中の文献情報から、ほぼ瞬間的に対象文書を見出すのは、あらかじめ単語に対するインデックス・データを作成してあるからだ。詳しくは「全文検索」(インデックス型)の解説を参照。
→ 全文検索 - Wikipedia
このように、インデックスをあらかじめ作成しておくことで、いちいち統計的な頻度を調べ直したりしないで、言語的な関連度を瞬間的に導出することができる。
これが、言語AIのやってることだ。
※ そのようにして関連度の体系を構築するということは、人間の脳が言語についてやっているということと同様である。こうして言語AIは、人間の脳における言語能力と同等の能力を、獲得するに至ったのだ。
※ 次項に続きます。
> ※ そのようにして関連度の体系を構築するということは、 (以下略)
Amazon の電子書籍や、電子図書館などから、紙の本の書籍情報も得ているようです。1980年以前の紙の本の書籍も、かなり大量に収録しているようだ。
青空文庫の本は、真っ先に取得されただろう。