ChatGPTは何をしていてなぜ機能するのか?を理論物理学者が解説
OpenAIの対話型AI「ChatGPT」は、人間からの質問に対して非常に自然に受け答えできます。どのように自然な文章を生成しているのか、そしてなぜその機能がうまく働いているのか、というChatGPTの内部で起こっている概要を、ソフトウェア会社「ウルフラム・リサーチ」のCEOを務める理論物理学者のスティーブン・ウルフラム氏が解説しています。
What is ChatGPT doing...and why does it work? https://t.co/eNEPcTU01Y
— Stephen Wolfram (@stephen_wolfram) 2023年2月17日
What Is ChatGPT Doing … and Why Does It Work?—Stephen Wolfram Writings
https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/
ウルフラム氏は最初に、「ChatGPTが常に、そして基本的にやろうとしていることは、これまでに得たテキストの『合理的な続き』を作成することです」と説明しています。ここで言う「合理的な続き」とは、人が文章を読んだときに、次に誰かが何を書くかをどう期待しているか、という内容を意味します。ChatGPTはウェブ上の何十億ものテキストをスキャンすることで、「とある文章が書かれたとき、次にはどのような文章が書かれるか」という確率を予測します。
例えば、「The best thing about AI is its ability to(AIの最も優れた点は、~という能力です)」という文章を考えると、ChatGPTはこの文章に関連する文章をスキャンしたテキストから探しだし、意味が一致するものを「確率」によってランク付けします。
この「次に続く単語のランク付け」を繰り返すことで文章を作成しますが、ウルフラム氏によると、ランク付けした際の最高ランクの単語を常に選択するわけではないとのこと。というのも、常に最高ランクの単語を選ぶと創造性のないフラットな文章になるため、「あえて崩す」ような形でランクが低い単語が選ばれることもあるそうです。そのため、同じプロンプトを複数回使用しても、毎回異なる回答が返ってくる可能性が高くなります。
同様のChatGPTの仕組みについて、クイーンズランド大学の経済学助教授でチェスのグランドマスターでもあるデビッド・スマードン氏も指摘しています。スマードン氏によると、ChatGPTは大まかに考えると「文の始まりから、次に来る可能性が最も高い単語を予測していく」という仕組みになるため、事実に関する質問をした時、ありそうな単語の組みあわせだけを重視して存在しないデタラメなものをでっちあげて回答することがしばしばあるとのこと。
ChatGPTは高性能な対話ができるのになぜデタラメな回答をすることがあるのか? - GIGAZINE
続けて、ウルフラム氏はChatGPTが「次に続く単語のランク付け」によって文章を生成していく仕組みについて解説しています。ランク付けを行うための確率表を取得するために、ChatGPTはまず基礎となる言語モデルニューラルネットワークを取得します。
その次に、取得したネットワークモデルをテキストに適用し、モデルに従って次に続く確率の高い単語の上位5個を求めます。
これを繰り返し行うことで、確率が高い単語を文章に追加していきます。単語の選択におけるランダム度合を変更することで、常にトップの単語を選択するわけではなく、異なるテキストを出力します。
ウルフラム氏は「次に来る可能性が高い単語を選択する」という仕組みについて、さらに細かい具体例を示しています。Wikipediaの「ネコ」「イヌ」についての記事内で使われている英語のサンプルを取得した場合、以下の画像のように、文字の出現頻度を計算することができます。
抽出した頻度に従って一連の文字を生成し、それを特定の確率で単語ごとの区切りを入れた場合、以下のような文章になります。ある程度見栄えのよい形にはなりましたが、ランダムに文字を選択しただけでは、実際の言葉として読めるものにはなりません。
そこで、ここに典型的な英語のテキストにおける「文字のペア」の確率を追加します。ここでは、例えば「q」という文字が来た場合には、ペアとなる文字は「u」を除くと確率がゼロになっていることがわかります。このように2文字ずつを見て単語を生成すると、全く読めなかった文章に、実際に存在する単語が含まれるようになります。
さらに、同じように「ペア」だけではなく文字が長く続く場合の「組みあわせ確率」についても、十分な量のテキストがあれば推定値を得ることができます。すると、ランダムな単語を生成した場合でも、より現実的な文章になっていきます。
同じように、ChatGPTは文字ではなく単語全体を、大規模なテキストデータから「単語がどの程度一般的に用いられるか」を推定し、各単語が個別にランダムに選択される文章の生成を行います。しかし、ここでも文字から単語の生成を行ったと同様に、確率だけでは意味が通る文章は生成されません。そのため、ここでも文字と同じように「単語のペア」または複数の組みあわせの確率も考慮に入れることで、よりあり得そうな文章に近づいて行くというものになっています。
このようにウルフラム氏は「ChatGPTは何をしているのか」を説明していますが、「どのように機能しているか」を説明するのは難しいと述べています。例えば、ニューラルネットワークがネコの画像を認識する場合、それがどれほど困難な試みかは理解できる一方で、実際にネットワーク内で行われているプロセスを具体的に説明する方法は、計算上のブラックボックスも含まれているため、存在しないとのこと。
ウルフラム氏によると、ChatGPTは1750億のウェイトを持つ巨大なニューラルネットワークで、言語理解タスクに秀でたGoogleの「Transformer」というニューラルネットワークアーキテクチャを最大の特徴としています。Transformerは翻訳モデルとして開発されましたが、画像などのパラメータを言語と同様に翻訳するプロセスでマッピングすることができるため、シーケンスの一部に他の部分よりも「注意を払う」といった概念を導入することで、物事を「モジュール化」することができるとのこと。Transformerが機械学習でどのようなブレイクスルーを生み出したかなどの詳細は、以下の記事を読むとよく分かります。
画像や文章の生成などを行う「ジェネレーティブAI」はなぜ急に発展したのか? - GIGAZINE
以上を踏まえて、ウルフラム氏はChatGPTの実際の動作について3段階に分けて説明しています。まず、従来のテキストに対応する一連のトークンを取得し、これらに対応するルールを数値の配列として見つけます。次に、ルールを「標準的なニューラルネットの方法」で操作し、値がネットワーク内の連続するレイヤーを「波及」することで、新しいルールが生成されます。そして、このルールを取得し、そこから約5万個の値の配列を生成します。この配列はさまざまなトークンの可能性を示した確率になるため、単語を組み合わせていく確率が導き出されます。
ウルフラム氏によると、このような仕組みはすべてニューラルネットワークによって実装されており、すべてがトレーニングデータから学習されるのみであるため、アーキテクチャ全体を除いて何一つ明示的に設計されてはいないそうです。ただし、アーキテクチャ全体の設計にはあらゆる種類の経験とニューラルネットワークの知識が反映されています。
アーキテクチャの仕組みとしては、まず入力された無数のトークンを「埋め込みベクトル」に変換し、Transformerの主な機能となる「注意を払う」機能により、一連のテキストを「注意して振り返る」ことで単語の組みあわせを理解したり、全体の統一感を整えたりできます。これらの注意プロセスを通過した後、Transformerは一連のトークンを最終的なコレクションに変換するため、ChatGPTはコレクションを取得してデコードし、次に来る単語の確率リストとして作成します。ChatGPTの中身の概要としてはこのように機能しており、ウルフラム氏は「複雑に見えるかも知れませんが、実際には単なるニューラルネットワークが数値入力のコレクションを取得し、それらを特定の重みと組み合わせてリストに仕上げるという、単純な要素によってできています」と説明しています。
最後に、ウルフラム氏は「最終的に注目すべきことは、これらすべての操作が何らかの形で連携して、テキストを生成するという優れた人間らしいタスクを行うことができるということです。少なくとも私たちが知る限り、このようなものが機能する『究極の理論的理由』は存在しない、ということを再度強調しておく必要があります」と述べた上で、「そしてこれは科学的発見であると見なすことができます。ChatGPTのようなニューラルネットワークでは、人間の脳が言語を生成するために行っていることの本質を捉えることができるかもしれません」と語っています。
・関連記事
OpenAI開発のテキスト生成AI「GPT-3」がどんな処理を行っているのかを専門家が解説 - GIGAZINE
画像や文章の生成などを行う「ジェネレーティブAI」はなぜ急に発展したのか? - GIGAZINE
ChatGPTは高性能な対話ができるのになぜデタラメな回答をすることがあるのか? - GIGAZINE
SF映画「メッセージ」の異星人の恒星間航行は非常に高いレベルで考証済み、監修したのは理論物理学者であのMathematicaの生みの親スティーブン・ウルフラム - GIGAZINE
一流プログラマーになるためには「1万時間の法則」ならぬ「3万時間の法則」が適用される - GIGAZINE
ChatGPTやStable Diffusionを生み出した「機械学習ソフトウェア」の10年間の流れを専門家が解説 - GIGAZINE
・関連コンテンツ