見出し画像

AGIとGPT法の限界について

今LLMで主流のGPT法での学習と推論ですが、本当にこの形式でAGIを達成することはできるのでしょうか?
もしできないのであれば、OpenAIやMetaは何か手を考えているのでしょうか。

実はこの話はさんざん言われている話題ではあるのですが、「でも、ChatGPTってめっちゃ成長してるじゃん」と言われ、足蹴にされがちな話題です。

この記事では、根本的な構造から問題を見つめることで、これからの可能性と限界について考察します。


はじめに

まずGPTですが、これは「Generative Pre-trained Transformer」の略称です。
Chat GPTが出始めのころ、「○○GPT」というサービスが大量に出現し、それに対抗するためにOpenAIが「GPT」の商標を申請する、ということがありましたが、「GPT」とは学術的なものが初出なので、普通に却下された、という話がありました。(OpenAIも無理だとわかっていたとは思いますが)

ということで、ざっくりとGPTについての説明をして、そこから問題点を考えていきます。

めっちゃ大雑把な仕組み

超大雑把に、かつ語弊を恐れずに言うと、
「意味を持った文字列を、その文字列の「意味」を表す超多次元ベクトルの座標としてとらえ、それらの関係を地道に計算し、次に来る単語を予測する」
という仕組みです。端折りすぎてもはや意味が分からないレベルですが、これを少しだけ解説します。詳しい話は、「3Blue1Brown」を見てください。有志による和訳動画もありますので、詳しく知りたい人、そうでない人も絶対に見ましょう。

Transformerどころかニューラルネットワークすらわからん、という方は、このシリーズのChapter1から見ることをお勧めします。

これらの動画を見た場合は、この章は読まなくても大丈夫です。


さて、少しだけ細かい解説へ入ります。
もし、わかりにくい説明だなぁと、ブラウザバックするくらいなら、飛ばしてもらっても結構です。

まず、GPTのそれぞれの略称の元の意味について説明します。

GはGenerative、つまり生成なので、出力は画像判別のAIのように0~1の定められた値ではなく、自由な形式をとります。

PはPre-trained、事前に学習された、という意味で、最初から学習済みのモデルを使用しますよ、という意味です。つまりはトレーニングと実行は別に区別されたシステムだということです。

TはTransformerで、これは深層学習モデルがTransformer型、という意味です。最初から翻訳や要約などの自然言語処理をさせるためにGoogleによって開発されたもので、再帰型ネットワークに代表される今までの形式と比べ、並列化しやすいこと、そして何よりも超大規模にスケーリングできることで知られています。

Transformerとは?

ここから少し込み入ったTransformerの解説をします。できる限りかみ砕いて解説するので、よくわからない場合は先ほどの動画を見るであったり、以下の説明をGPT4に投げて詳しく聞いたりしてください。

Transformerの構造は動画を参照してもらうのが一番わかりやすいので、どうやって生成するか、道筋だけ解説します。

まず、トークン単位に区切られた文字列を取得します。
これを、「すでに学習されたモデル」を参照し、ベクトルに置き換えます。
この状態では、それぞれのトークンは、独立した意味を持ったままです。

例として出すと、「Listening to Queen songs written by Freddie.」という文字列があったとします。入力された直後では、Queenという単語が、女王を意味するものなのか、バンドを意味するものなのかは、ベクトルに反映されていないということです。

次にすることは、それぞれの単語が前後の単語からどういう意味合いを持っているのか、をベクトルを少しいじることで表現していきます。先ほどの例文なら、QueenはsongsやFreddieなどの単語から、これはきっとバンドのクイーンなんじゃないかな、と値を変化させます。そしてこれを、何度も何度も繰り返します。何千億だとか、パラメータ数でよく言われる数値の9割以上はここでの計算での数値です。

最後に、文字列の最後のトークンのベクトルから、次に来る単語の確率を算出し、そこからsoftmaxするなどしてデータを整えてから単語を選びます。

ざっくりしていてよくわからないかもしれませんが、基本構造としては、
すでに学習してあるデータをもとに、送られてきた文字列の意味を考え、理解していって、最後に次に来る単語を返す
という手段です。

繰り返しになりますが、やはり先ほど載せた動画を見ることを非常にお勧めします。

仕組みから考えられる問題点

さて、仕組みが(なんとなく)わかったので、ここから考察していきます。

1. 誤差が増幅されて会話がズレていくのでは?

まず最初に思う点は、「最後のトークンのベクトルだけ見て次のトークンを予測とか本当に大丈夫か?」という点です。動画内でも言われていました。
動画では、学習の過程でどうこう、という説明がされていましたが、違う視点で一つ懸念点が思い浮かびます。

それは、「誤差がたまっていく」という懸念です。
いくら最後のトークンが文全体の意味を含んでいるとはいえ、文章を生成するには、次のトークンを予測することを繰り返す必要があります。これを繰り返していくことで、最後のトークンの抽選をミスしてしまった場合、だんだんと文全体が崩壊していってしまうのを引き起こしてしまう可能性はあると思います。
もちろんある程度対策はされていると思います。それなりに確度の高いトークンをより優先的に選択するようになっているのではないでしょうか。
さらに今は人間とLLMがキャッチボールして会話しているので、人間によって修正されるタイミングがありますが、AGIを達成することを考えると、人間同士のやり取りよりもAI同士のやり取りが発生する可能性があります。もし大真面目にGPT法で実現するならば互いに誤差が増幅していってしまい、全く意味をなさない会話をしてしまう可能性があると思います。
これはたとえ次元数が増えたとしても、根本的な解決は難しい問題であると考えられます。

2. 継続学習ができない

GPT法では、Pre-trainedとあるように、すでに学習されたモデルを使用することで、次のトークンを予測します。今ではナレッジカットが定期的に行われることで、この問題にある程度対応していますが、更新頻度は高くありませんし、AGIが達成されるとき、それは人間を超えるときなので、少なくとも人間のように、常に知識を得て、学習し続ける必要があります。しかしGPT法ではこれは仕組み上不可能(できるのかもしれませんが)なので、AGIを達成するのは難しい可能性があると考えられます。


もっとたくさん考えられると思いますが、今回はここまでにします。何かアイデアがある方はコメントではなく、記事を書いてそれを共有していただくと嬉しいです。コメントでもうれしいです。

GPT法を改良する対処法

では、これら二つの問題を解決する方法として何か現実的な解は考えられているのでしょうか。

とりあえずChat GPTに聞いてみました。

1. 誤差が増幅されて会話がズレていくのでは?

GPT法における誤差の蓄積は大きな懸念事項です。これを解決するために、以下のようなアプローチが提案されています:

1.1. 強化学習による調整 強化学習を用いて、モデルが予測したトークンの質を改善する試みがあります。特に、OpenAIは「Reinforcement Learning from Human Feedback (RLHF)」という手法を導入しており、人間のフィードバックを基にモデルの出力を調整しています。この手法により、誤差の蓄積を減少させ、より自然で一貫性のある会話を実現することが可能です。

1.2. ビームサーチとトークン選択の改善 ビームサーチは、複数の候補トークンを保持しつつ最良の選択肢を見つける手法です。これにより、誤差が蓄積されるリスクを減らし、文全体の一貫性を保つことができます。また、トークン選択の際に確率的な選択(サンプリング)を行うことで、同じ文脈でも異なる出力を生成することができ、これが誤差の蓄積を抑える一助となります。

1.3. メタラーニング メタラーニングは、モデルが新しいタスクを迅速に学習できるようにする手法です。これにより、モデルは新しい文脈に対しても適応しやすくなり、誤差が蓄積しにくくなります。メタラーニングの一つの方法として、Few-shot LearningやZero-shot Learningがあり、少ないデータで新しいタスクを学習できる能力を持たせることができます。

2. 継続学習ができない


GPT法のもう一つの大きな課題は、継続的な学習能力の欠如です。これに対しても様々な研究が行われています。

2.1. 連続学習(Continual Learning) 連続学習は、モデルが新しいデータを学習する際に、既存の知識を忘れずに新しい情報を取り入れることを目指します。特に、エラスティック・ウェイト・コンソリデーション(EWC)やプロジェクティブ・エピソード・メモリ(PEM)などの手法が提案されており、これによりモデルが継続的に学習できるようになります。

2.2. オンライン学習 オンライン学習は、データが逐次的に提供される環境でモデルが学習を続ける手法です。これにより、モデルは常に最新の情報を基に予測を行うことができます。オンライン学習のアプローチとしては、ストリームデータに対応するアルゴリズムの開発や、インクリメンタルな更新手法が研究されています。

2.3. 終身学習(Lifelong Learning) 終身学習は、モデルが一生涯にわたって学び続けることを目指すアプローチです。これは、モデルが新しいタスクや情報に適応し続ける能力を持つことを意味します。このためには、ダイナミックなモデルアーキテクチャやメモリ機構の改善が必要となります。特に、ニューラルネットワークのアーキテクチャを動的に変える手法や、効率的なメモリ管理が注目されています。

実際の研究事例

1. DeepMindの「Gopher」プロジェクト DeepMindは、GPTの限界を克服するための新しいアプローチを研究しています。彼らの「Gopher」プロジェクトでは、長期的な記憶と短期的な推論を組み合わせることで、より一貫性のある出力を生成することを目指しています。これにより、誤差の蓄積を減少させ、長期的な文脈理解を向上させています。

2. Facebook AIの「DINO(DIstillation with NO labels)」 Facebook AIの研究チームは、DINOという自己教師あり学習の手法を開発しました。これは、ラベルなしデータから効果的に学習する手法であり、モデルが継続的に学習し、新しい情報に適応する能力を持つことを目指しています。

3. OpenAIの「CLIP(Contrastive Language–Image Pre-training)」 OpenAIのCLIPは、テキストと画像を統合して学習するマルチモーダルモデルであり、より広範な情報を基に予測を行うことができます。これにより、データ依存性の問題を軽減し、より柔軟で多様な知識を持つモデルの実現が期待されています。

GPT-4o

継続学習については様々な手法が考えられ、研究されているようなので、技術的な実現は近いうちにあるかもしれません。ただし、クリーンな出力を求められるような、大規模で社会的影響の大きい企業では、リアルタイムに変化したパラメータを用いて出力させることは難しい可能性があります。判別のシステムや、学習するデータをはじくなどの監視するシステムも同時にリアルタイムに運用する必要もあることから、実際にサービスとして使えるのはかなり遅れるかもしれません。

全然別のアプローチからの対処法

さて、ここで気になるのは、現在人工知能で主流となっているTransformerですが、これを完全に上回るような構想は存在するのでしょうか
一般人として考えられるのは、人間の脳みたいにしたらうまく出力できるんなら、もっと人間の脳みたいにすればいいじゃん、と思いつきます。
では、実際にはどのような構想があるのでしょうか。

まずはChatGPTに聞きましょう。

1. ニューラルシンボリックAI(Neural-Symbolic AI)

ニューラルシンボリックAIは、ニューラルネットワーク(深層学習)とシンボリックAI(知識ベースの推論)を統合するアプローチです。この手法は、人間のような論理的推論と知識の表現を可能にします。シンボリックAIは、明確なルールとロジックに基づいて問題を解決しますが、ニューラルネットワークはパターン認識に優れています。これらを組み合わせることで、両方の利点を活かし、より高度な知能を実現することが期待されています。

2. 脳インスパイアードコンピューティング(Brain-Inspired Computing)

脳インスパイアードコンピューティングは、人間の脳の構造と機能を模倣したコンピュータアーキテクチャを開発する試みです。これには、ニューロモルフィックチップやスパイキングニューラルネットワークなどが含まれます。ニューロモルフィックチップは、神経細胞(ニューロン)とシナプスの動作をハードウェアレベルで再現し、エネルギー効率が高く、リアルタイムで学習・適応する能力を持つことが特徴です。スパイキングニューラルネットワークは、脳内の神経伝達のスパイク(パルス)をモデル化し、より生物学的に妥当な情報処理を行います。

3. 知識グラフと意味論的推論(Knowledge Graphs and Semantic Reasoning)

知識グラフは、情報をエンティティ(実体)とそれらの関係として表現するデータ構造です。これを用いることで、AIはより深い意味理解と論理的推論を行うことができます。意味論的推論は、自然言語の意味を解釈し、論理的な結論を導き出す能力を指します。これにより、AIはより複雑で抽象的な問題を解決することができるようになります。

4. 生物学的に妥当な学習モデル(Biologically Plausible Learning Models)

生物学的に妥当な学習モデルは、脳の学習メカニズムを模倣したアルゴリズムを開発する試みです。例として、ヘブ学習やシナプスの可塑性などの概念が挙げられます。これらのモデルは、脳の動作に近い方法で情報を処理し、学習する能力を持つことを目指しています。これにより、より自然な形で知識を蓄積し、適応するAIを開発することが可能となります。

実際の研究事例

1. IBMのTrueNorth IBMのTrueNorthは、ニューロモルフィックチップの一例であり、神経細胞とシナプスの動作をハードウェアで模倣しています。TrueNorthは、エネルギー効率が高く、大規模な並列処理を行うことができます。このアプローチは、従来のコンピュータアーキテクチャを超える性能を持つ可能性があります。

2. GoogleのDeepMindとシンボリックAI GoogleのDeepMindは、ニューラルネットワークとシンボリックAIを統合したモデルを開発しています。これにより、より高度な推論能力を持つAIを実現することを目指しています。例えば、AlphaGoやAlphaZeroは、ニューラルネットワークとシンボリック推論の組み合わせによって高い性能を発揮しています。

3. OpenAIのDALL-E OpenAIのDALL-Eは、テキストから画像を生成するモデルであり、マルチモーダル学習の一例です。DALL-Eは、テキストと画像の両方のデータを統合して学習し、複雑な情報を処理する能力を持ちます。これにより、より直感的で創造的なAIの実現が期待されています。

GPT-4o

出力から読み取れるのは、ソフト側での改良も大事だけど、チップの構造を変える必要もあるよ。ということでしょうか。

現時点でも、ノイマン型コンピュータはニューラルネットワークのようなデータを扱うのは理にかなっていないといわれています。
これを解決するためにデータフロー型コンピュータが開発されて、理化学研究所に採用されていますが、今後はコンピュータの構造そのものを変化して、人工知能を走らせるためのコンピュータ、それ以外の人間にインタフェースとして使うコンピュータを別に使うようになるのかもしれません。

まとめ

さて、最後に少し話からズレてしまいましたが、
結論としては、現行で使われているGPT方式を単純に超大規模にするだけではAGIを達成することは難しい、というか無理。と考えられます。

ただし、Transformerはとてもよく働く仕組みであり、完全に否定されるような代替となる手法は今後長らくは現れないのではと私は思います。

Chat GPTが教えてくれたように、GPT法を改良したり、シンボリックAIのように複合することで短所を克服する、という形式がとられていくのではないでしょうか。

人間の脳を模倣することで、AIは大きく発展しました。しかし、消費電力や速度では本物の脳にはかないません。コンピュータなりの構造や手法で、AGIを達成することが最も現実的な手段ではないでしょうか。

最後に、AGIについてGPT3が出始めたころに言われたことをひとつ共有します。
それは「AGIを達成するのに、思考法や手法は問わない」ということです。人間の脳を模倣して人間を超えるのではなく、単に人間を超えればやり方とか何を考えているのか、どうしてそう考えたなどは、何でもよし、となっているのです。

AGIを達成する前に、少なくとももう一つは革新的な何かがあるのは確実そうです。

いいなと思ったら応援しよう!