人工知能テクノロジーの進化に興味がある人なら誰でも、今日のソリューションはすべて大規模言語モデル (LLM)とトランスフォーマーに関するものであることを知っています。一言で言えば、LLM は入力トークンに基づいて次のトークンを予測できるニューラル ネットワークです。通常、これらのトークンは単語であり (これは完全に正確ではありませんが、このように概念化する方が簡単です)、ネットワークの出力も単語です。これがChatGPTの仕組みです。質問を入力すると、ネットワークが単語を生成します。次に、質問と単語が一緒になってネットワーク入力となり、完全な答えが形成されるまで別の単語が生成されます。
ただし、トークンは単なる単語以上のものになる可能性があります。 GPT-4 や Gemini などの高度な言語モデルはマルチモーダルになり、入力に画像や単語を含めることができます。文を単語に分割できるのと同じように、画像も小さなパッチに分割でき、そこから同じ変換アーキテクチャでそれらを処理できます。たとえば、マルチモーダル ネットワークでは、画像の内容を説明したり、画像に表示されるユーザー インターフェイスをコーディングしたりすることが求められます。
このアーキテクチャはさらに一般的です。 DeepMind の Gatoシステムはその代表的な例であり、単一の変換ネットワークで同時に質問に答えたり、ビデオ ゲームをプレイしたり、ロボットを制御したりすることができ、ロボットはChatGPT を使用して制御されることもあります。 LLM はトークンを使用し、あらゆるタスクをトークン化できるため、LLM はあらゆるタスクに汎用的なソリューションを提供します。
最近最も誇大宣伝された技術ニュースの 1 つは、従来の GPU よりもはるかに効率的かつ少ないエネルギーで LLM を実行できるASIC (特定用途向け集積回路) を開発しているGroq社に関するものでした。これは、LLM アーキテクチャが非常に基本的なものになっているため、専用のハードウェアを作成する価値があることを明確に示しています。
また最近、「 1 ビット LLM の時代: すべての大規模言語モデルは 1.58 ビットである」というタイトルの出版物が登場しました。ニューラル ネットワークの量子化は、サイズと計算需要を削減するための一般的な方法です。このソリューションの本質は、浮動小数点数を使用して大規模な GPU クラスターでトレーニングを実行し、完成したネットワークの重みを精度の低い形式に変換することで、ユーザー デバイスのプロセッサがより効率的に動作できるようにすることです。たとえば、トレーニングは 16 ビットまたは 32 ビットの浮動小数点数を使用して実行され、その後、高速クライアント側操作のために 8 ビットまたは 4 ビットの固定小数点数に変換されます。このようにして、モデルはモバイルまたは IoT デバイスでも適切に機能できます。この量子化の極端な形式は、重みが 1 ビットの数値に変換される場合です。これは完全なバイナリ変換である場合もあれば、出版物が示唆しているように、値 {-1,0,1} (したがって 1.58 ビット) を使用する場合もあります。このような極端な量子化によりネットワークが完全に使用できなくなると考える人もいるかもしれませんが、実際はその逆です。これらの 1 ビット ネットワークは非常に優れたパフォーマンスを発揮します。
これら 3 つの値が重みを表すのに十分であれば、現在ニューラル ネットワークで最も頻繁に使用されている演算である乗算は必要ありません。 GPU は乗算を非常に効率的に実行できるため、GPU クラスターがニューラル ネットワークに使用されるのはこのためです。乗算の必要がないため、GPU も必要なく、モデルは CPU 上でも効率的に実行できます。あるいは、これらの 1 ビット ネットワークを (アナログ方法でも) 実行できる専用のハードウェア (ASIC) を構築することも可能です。
現在、量子化はトレーニング後の操作です。したがって、1 ビット ネットワークを使用してもトレーニング プロセスは加速されません。それにもかかわらず、トレーニングは 1 回限りの操作でありながら、ニューラル ネットワークは数え切れないほど実行されるため、依然として有用です。したがって、ネットワークの実行はトレーニングよりも大幅に多くのエネルギー消費を意味します。したがって、トレーニングの場面でもこのテクノロジーの恩恵を受ける可能性があります。
勾配ベースのトレーニングは 1 ビットまたはバイナリ化されたネットワークでは機能しないため、遺伝的アルゴリズムやその他の勾配のないテクノロジなど、勾配ベース以外のテクノロジが関連します ( nevergradとPyGADを確認してください)。ほとんどの場合、バックプロパゲーションは勾配のないソリューションよりもはるかに効率的ですが、1 ビット ネットワークは浮動小数点ネットワークよりもはるかに効率的に実行できます。したがって、バックプロパゲーションを使用すると、浮動小数点数を使用した場合、たとえば遺伝的アルゴリズムを使用した場合よりも 10 倍速く最適なネットワークを見つけることができる可能性があります。しかし、1 ビット ネットワークが 20 倍高速に動作する場合でも、遺伝的アルゴリズムを使用するとトレーニングは 2 倍高速になります。 1 ビット ネットワークを勾配のない手法でどのように効果的にトレーニングできるかを調査することは、非常に興味深い研究トピックになる可能性があります。
このトピックが非常に興味深いもう 1 つの理由は、これらのネットワークが自然の脳に見られる (生物学的にもっともらしい) 神経ネットワークによりよく似ていることです。したがって、優れた勾配のないトレーニング アルゴリズムを選択し、これらの 1 ビット ネットワークを適用することで、人間の脳によりよく似たシステムを構築できると私は信じています。さらに、これにより、アナログ、光ベース、さらには生物学ベースのプロセッサなど、これまで実現不可能だった ASIC を超えた技術ソリューションの可能性が開かれます。
この方向性は長期的には行き止まりになる可能性がありますが、今のところ、その革命的な可能性は明らかであり、人工知能の分野に携わるすべての人にとって非常に有望な研究手段となっています。