生成AI の未来 パート2:混合再帰 vs トランスフォーマーアーキテクチャ

AI研究
この記事は約37分で読めます。

この動画は、AI モデルの効率化革命を詳しく探る解説である。従来の「大きければ良い」という考え方から、条件付き計算、混合専門家(MoE)、そして最新の混合再帰(MoR)まで、どのようにしてAIモデルが巨大な計算コストを伴わずに高い性能を実現するようになったかを段階的に説明している。特に、2017年のGoogle BrainによるMoE論文が実用的な解決策をもたらし、さらにMoRが パラメータ効率と適応的計算を統合した革新的アプローチを提供することを論じている。

GenAI Futures. Part-2. Mixture of Recursions vs Transformer Architecture.
GenAI Futures. Part-2. Mixture of Recursions vs Transformer Architecture.

生成AI効率化の革命的な道のり

生成AI未来シリーズの詳細解説へようこそや。これはパート3やな。今日はかなり変革的な旅に出発するで。AI モデルの初期時代から追跡していくんや。その頃は生の大きさが王様やったけど、コストはめちゃくちゃ高かった。そして最先端の未来まで行くで。

その未来では、知能は単に巨大なだけやなくて、驚くほど効率的で、自分の処理能力をどう配分するかがめっちゃスマートなんや。今回の詳細解説の使命は、AIモデル効率化の最前線で何が起こってるかを正確に探ることや。革命的な概念をいくつか解き明かしていくで。まずは条件付き計算という基本的なアイデアから始まって、それから画期的な混合専門家(MoE)に移って、最後に混合再帰(MoR)という最新の進歩を覗いてみるんや。

これは全部、無制限の計算リソースや、正直言うて絶えず拡大するカーボンフットプリントを必要とせずに、AIをよりスマートにする方法についてなんや。

まさにその通りやな。君が今強調したその核心的な緊張関係が、この研究分野全体を定義してるんや。本当にそうなんや。どうやって、ますます巨大で有能なAIモデルを構築するかっていう問題やな。膨大な量の情報を吸収し、複雑なパターンを学習し、少数ショット汎化や洗練された推論のような信じられない偉業を達成できるモデルを作りながら、絶対に法外な計算とメモリコストを発生させずにっていうのは、めちゃくちゃ大きな挑戦や。

長い間、一般的な知恵は単純に「スケールアップせよ」やった。つまり、もっと大きくするだけや。でもそのスケーリングは、ほぼ想像もつかない代償を伴ったんや。今日は、いくつかの本当に独創的な解決策と驚くべき事実についてもカーテンを引いて見せるで。これらは根本的にその方程式を変えているもので、強力で先進的なAIを単なる理論的可能性やなくて、数年前には想像もできなかったようなはるかに幅広い応用範囲での実用的で展開可能な現実にしてるんや。

従来スケーリングの限界と新たな挑戦

長年にわたって、深層学習のマントラは基本的に「大きいほど良い」やったな。パラメータをどんどん追加して、もっとデータを投げ込んで、そうしたらパフォーマンスが上がる。まるで魔法みたいに見えたけど、君が今ほのめかしたように、確実にコストはかかる。めちゃくちゃ急な坂のコストや。

この効率化革命を最初に始めた根本的な挑戦は何やったんや?研究者たちに「ちょっと待てよ、単純にスケールアップするのは持続可能やない」と言わせたのは何やったんや?

君は重要なことを突いてるな。重大なジレンマは確かに、容量と計算の間のこの壊れそうにない結びつきや。モデル容量、つまりパラメータの純粋な数を増やすことが、巨大なデータセット、テキスト、画像、音声を扱う時に、明らかにはるかに良い精度をもたらしたのは絶対に真実や。全面的にそうや。

従来のアプローチには根本的な、ほぼ、まあほぼ素朴な欠陥があったんや。これらの従来のモデルでは、ネットワーク全体、すべての単一パラメータ、何百万、何十億というパラメータが、すべての単一の入力例に対して活性化され処理されるんや。考えてみいや。すべての単一のパラメータがや。

すごいな。そうや。想像してみてくれ、巨大で広がる工場を。その工場のすべての単一機械が、最小のドリルプレスから最大の組み立てロボットまで、製造されるすべての単一製品に対して電源が入って全力で動いてるんや。その特定のアイテムには実際にはそれらの機械のほんの一握りしか必要やないのにな。

狂気の沙汰や。途方もないエネルギーの無駄、不必要な摩耗があるやろう。まさにそうや。リソースを消費するだけの多くのアイドル容量があるんや。ニューラルネットワークでのこの常にオンのアプローチは、Google Brainの研究者たちが卓越した2017年の論文、「とてつもなく巨大なニューラルネットワーク」というタイトルの論文で非常に適切に説明したものにつながるんや。素晴らしいタイトルやな。

彼らはこれを「おおむね二次的な訓練コストの爆発」と呼んだ。そしてこの問題は、モデルサイズと訓練データの純粋な量の両方が爆発的に増加し続けるにつれて悪化するだけや。複合するんや。これは、より多くのGPU、何百台の機械にわたる分散計算のような、コンピューティングパワーの最も印象的な進歩でさえ追いつくのに苦労する要求なんや。そういう進歩でも追いつくのに苦戦したんや。

純粋な規模が急速に持続不可能になってた。経済的実現可能性とエネルギー消費の両方で、厳しい限界に当たってたんや。

あの工場のアナロジーは非効率性を本当に明確にするな。非常に明確な絵を描いてくれる。そこでこれと戦うために、条件付き計算のアイデアが理論的な答えとして最初に現れた。めちゃくちゃ直感的に聞こえる。必要なものだけ使う。完璧に理にかなってる。

モデルが猫の画像を処理してる時は、人間の音声や金融分析に特化した部分を活性化する必要はおそらくないやろう。これは理論的にどう動作するはずやったんや?実用的現実になる前の構想は何やったんや?

理論的には、条件付き計算は、その大きな異なる部分が例ごとに活動的または非活動的になれるニューラルネットワークを仮定してるんや。基本的なアイデアは、君が言った通り直感的で、計算の比例的な増加なしに劇的にモデル容量を増加させることやった。

我々が議論したあの広がる工場として考えてみてくれ、でも今度はよりスマートに再設計されてる。すべての機械が動いてる代わりに、高度に専門化されたワークステーションがあるんや。そして各ワークステーション、または彼らが呼び始めた専門家は、現在処理されている製品にその特定のスキルセットが必要な時だけ起動して働き始めるんや。

タスクの専門化みたいなもんやな。まさにそうや。これが夢やった。基本的に有限の計算での無限の容量、理論的には望むだけ多くの専門家を追加できて、モデルをほとんど何でも学習できるようにしながら、その特定の瞬間にその特定の入力に必要な特定の専門家の計算コストだけを支払えばいいんや。

なるほど、理にかなってる。これに対する初期の理論的提案は、実装の詳細でかなり違いがあった。例えば、ゲーティング決定、どの部分を活性化するかを選ぶ方法は、バイナリ、単純なオンまたはオフ、またはスパースで連続的にできた。つまり専門家が30%や70%貢献するかもしれへんということで、より微妙な混合を可能にするんや。

そしてこれらの活性化決定は確率的にもなりえて、探索を助けるためにいくらかのランダム性を導入したり、完全に決定論的で、同じ入力に対して常に同じ専門家を選んだりできる。そしてこれらのゲーティング決定を訓練する方法、何を活性化するかを決定するメカニズムは、広く範囲があった。良い選択に対してモデルが自分自身に報酬を与える強化学習を使うことを提案する人もいた。

他の人はより従来の逆伝播を狙って、勾配をゲーティングメカニズム自体に流すようにした。約束は巨大やった。その二次スケーリング障壁から解放されて、前例のないモデルサイズを解き放つんや。

条件付き計算の実用化への障壁

その理論的約束は本当に銀の弾丸みたいに聞こえるな、ほとんど良すぎて真実やないみたいや。でも理論から実践への道は滅多に滑らかやないことを知ってる、特にAIでは。しばしば混乱してるんや。これらの初期の条件付き計算アイデアが広く普及するのを妨げた重要な実用的障害は何やったんや?なぜアイデアが浮上した直後に、これらの無限に容量の大きいモデルがあちこちに現れなかったんや?

それは重要な点や。エレガントな理論と君が言うような混乱した現実の間のギャップが実質的やった。いくつかの主要な挑戦が本当にそれらの初期の試みを妨げた。そしてそれらは単なる小さな問題やなかった。根本的なアーキテクチャと工学的ハードルやった。

実際の障害とは具体的に何や?まず、これはちょっと直感に反するように聞こえるかもしれへんけど、現代のコンピューティングデバイス、特にGPUは、分岐よりも算術の方がはるかに速いんや。決定するよりも数学の方が速いんや。

GPUは純粋な並列数値計算用に設計されてる。何百万、何十億の計算を一度に。通常は大きな行列の乗算や。それが最適化されてることや。でも絶えず条件をチェックしたり、この部分は活動的か?この塊をこの特定の入力のためにオンオフしたりして、それらのチェックに基づいて動的に計算を再構成するのは、重大なオーバーヘッドを導入するんや。速度を落とすんや。

それは超高速組立ラインが、標準部品を生産するだけやなくて、個々のアイテム仕様に基づいて絶えず一時停止、再ツール化、再ルーティングしなければならないようなもんや。その分岐オーバーヘッドは、理論的な計算節約を簡単に消し去ってしまうかもしれへん。

障害その1、ハードウェアがそれにかなり適してなかった。他に何がある?2つ目は、大きなバッチサイズが深層学習でのパフォーマンスに重要やということや。大きなバッチが必要なんや。効率的な訓練は多くの例を同時に処理することに依存してる。これはパラメータをGPUに移動して更新するようなコストを償却するんや。大きなバッチは良いGPU使用、より安定した更新を意味する。

しかし条件付き計算は本質的にこれらのバッチを断片化する。ほぼ粉砕するんや。ネットワークの小さなサブセットだけが例に対して活動的で、例えば千の専門家がある場合、各活動的専門家は例の小さな非効率的なサブバッチしか得られへん。これが縮小バッチ問題や。

だから全体のモデルが大きなバッチを処理してるかもしれんけど、各個別専門家は基本的に効率的に計算するのに十分な作業を待ってるんや。訓練を劇的に遅くするんや。

各専門家が効率的になるために独自の臨界質量のデータが必要やからな。正確にそうや。3つ目の障害、ネットワーク帯域幅がボトルネックになりうる。一緒に働く強力なGPUのクラスターについて考えてみてくれ。

その生の計算パワーは、ネットワーク越しに互いに話す速度の何千倍も大きくなりうる。条件付き計算がうまく働くためには、専門家が内部で行う計算量が、送受信する必要があるデータ量より著しく大きくなければならない。専門家がコミュニケーションニーズに対して十分な思考をしない場合、データを待ってスタックしてしまう。

ネットワークによってボトルネックになるんや。単語の意味を扱う埋め込み層のような特定のタイプの層は、しばしばこれに悩まされる。それらのパフォーマンスは計算やなくて帯域幅によって制限される。

ハードウェア分岐、縮小バッチ、ネットワークボトルネック。他に何かある?はい。もう一つ主要なことがある。いくつかの初期スキームは複雑な損失項、訓練中の追加の数学的目標を必要とした。これらは望ましいスパース性、入力あたり少数の専門家のみの使用を奨励し、重要なのは負荷バランシングを確保するために必要やった。計算負荷がすべての専門家に均等に分散されることを確認する必要がある、他が怠けてる間に少数の人気のものがすべての作業をするんやなくて。

これらの追加損失項を、モデルの全体的品質を台無しにしたり偏った資源使用につながったりせずに正しく調整するのは、本当に巧妙なバランス行為やった。そして覚えておいてくれ、初期文献の多くは比較的小さな画像認識データセットに焦点を当ててた。これらはシステムを十分にストレステストしなかったり、これらの問題が本当に深刻になる巨大なパラメータ数を必要としなかったんや。

混合専門家(MoE)による突破口

素晴らしい理論があるけど、これらの非常に頑固な実用的問題、分岐オーバーヘッド、縮小バッチ、ネットワーク制限、負荷バランシングの複雑さがあるんやな。これは2017年のGoogle BrainによるMoE論文のための舞台を完璧に設定してる。君は彼らが効果的にコードをクラックしたと言った。

彼らは最終的にそんなに手に負えなかった約束をどう実現したんや?コードを最終的に機能させた核心的革新は何やったんや?

彼らは新しい非常に効果的で実際にかなり汎用的なニューラルネットワークコンポーネントを導入した。スパースゲート混合専門家層、MoEや。その輝きは、エレガントでありながら強力な構造にあると思う。巧妙やな。

その核心で、MoE層には多数の専門家がある。各専門家は通常、独自のパラメータを持つ単純で独立したフィードフォワードネットワーク、独自の小さな脳や。でも本当の魔法、秘密のソースは訓練可能なゲーティングネットワークから来る。その仕事は、これらの専門家のスパースな組み合わせ、多分1つか2つ、またはもう少し多いかもしれへんけど、決してすべてやないものを、各入力データを処理するために知的に選択することや。

だからトラフィックをルーティングするんや。まさにそうや。トラフィック警官やな。任意のデータ片、単語、文、画像パッチに対して、ゲーティングネットワークは、おそらく何千も利用可能な中から専門家番号7と専門家番号512にこれを送ることを決定するかもしれへん。そして、ここで絶対に重要なのは、ネットワークのすべての部分、個々の専門家とゲーティングネットワーク自体の両方が、逆伝播によって共同で訓練されることや。この共同訓練がキーなんや。

これによりシステム全体が一緒に学習できる、どの専門家がどのタイプのデータに最も適してるか、そして全体的なパフォーマンスを最大化するために入力を効果的にルーティングする方法をな。巨大な計算節約は、ゲート値がゼロの専門家を評価しないという単純な事実から来るんや。専門家が選ばれなかった場合、その計算は完全にスキップされる。終わりや。

彼らの基本的作業では、大きな言語モデルと翻訳システムでスタックされたLSTM層の間にMoEを畳み込み的に適用し、本当に要求の厳しい大規模タスクで機能することを証明した。

それは信じられないほど巧妙やな。使われてない部分をスキップするのは今では明らかに見えるけど、それを機能させるのがトリックやな。そのゲーティングネットワーク、トラフィック警官は、実際にどう選択を行うんや?単純なオンオフスイッチなのか、それとも情報をどう書くかについてもっと微細な部分があるんか?

単純なスイッチよりも確実により微細やな。そのゲーティングメカニズムの進化が、彼らの突破口の本当に中心的な部分やった。最初は、基本的なソフトマックスゲーティングを使えた。入力を取って、学習された重みで掛けて、ソフトマックスを適用して、すべての専門家に対する確率分布を得る。十分簡単や。

でも重要なスパース性、少数の専門家だけが選ばれることを確実にし、また負荷バランシングを積極的に助けるために、彼らはノイジートップゲーティングと呼ばれるより高度な技術を開発した。

ノイジートップ。分解してくれ。ソフトマックス前に各専門家のスコアに、慎重に調整された量のガウシアンノイズ、ちょっとしたランダム性を追加することから始まる。このちょっとしたノイズは、ゲーティングネットワークが常に全く同じお気に入り専門家を選び続けることに固着するのを防ぐのに役立つ。もう少し探索を奨励するんや。

それから、これらのわずかにノイズの多いスコアを計算した後、トップK値だけを保持する、例えばK=2の場合、トップ2の最高スコアを保持する。そしてここが巧妙な部分や。他のすべてのスコアを効果的に負の無限大に設定し、ソフトマックス関数の後でゲート値を正確にゼロにし、スパース性を保証するんや。

ノイズが負荷を広げ、トップKがスパース性を強制するんやな。正確にそうや。ノイズ項は、選択を微妙に動かして少数の専門家がすべての作業を独占するのを防ぐことで負荷バランシングを助ける。そして本当に魅力的やったのは、彼らの実用的観察や。このハードスパース性、この急激なゼロ化によって引き起こされる不連続性は、多くの人が予想したかもしれへん訓練中の主要問題を実際には引き起こさなかった。

そして重要なのは、勾配がこのノイジーゲーティングネットワークを通して逆流することや。学習するんや。専門家と一緒に訓練される。これは、ブール演算ゲートや強化学習のようなより扱いにくいものを使う初期の方法に対する大きな利点やった。それらはしばしば効果的に訓練するのがより困難やったんや。

このノイジートップKゲーティングでスマートな専門家選択があったんやな。でも彼らはまだ君が先ほど言及した根本的な工学的ハードル、縮小バッチ問題とネットワーク帯域幅制約を克服しなければならなかった。それらは単に消えなかったやろう?どうやってそれらを解決することができたんや?これを巧妙な層から大規模にスケーラブルな現実に変えて。

それらのハードルはまだ非常に現実的やった。そしてここで工学的独創性と分散システムの深い理解が本当に活かされた。単なるアルゴリズム的巧妙さやなかった。縮小バッチ問題、各専門家が総バッチBのほんの小さな分数K/Bしか得られんことを覚えてるか。彼らの解決策は驚くほどエレガントやった。基本的に、各専門家がより大きなバッチを必要とするなら、全体のバッチサイズをはるかにはるかに大きくして、多くの機械にわたって作業を調整しようと言ったんや。

彼らはデータ並列性とモデル並列性を混合することでこれを達成した。

データとモデル並列性の混合。この文脈でそれはどう動作するんや?完全に独立して動作する複数のモデルコピーを持つこと、それは純粋なデータ並列性やけど、その代わりに、各自が大きなデータバッチの独自のスライスを処理する複数のデータ並列モデルコピーが、MoE層の直前で関連する例を同期的に結合するように設定したんや。

D個のGPUがあって、それぞれがバッチBを処理すると想像してくれ。MoE層に到達すると、それらすべてが例えば専門家5に行く必要がある例を効果的にプールする。だから専門家5は今、すべてのD個のデバイスから例を受け取る。これは各専門家が効果的にはるかに大きく、より効率的なバッチ、おおよそKBD/N例を得ることを意味する。専門家あたりの効果的バッチサイズがデバイス数によって掛け算されるんや。

だから彼らは分散セットアップを使って個々の専門家のバッチサイズ問題を解決したんやな。まさにそうや。この巧妙な調整により、彼らは専門家の数、つまりパラメータをデバイス数に比例してスケールアップしながら、各デバイスでのメモリフットプリント、ネットワーク帯域幅使用、訓練ステップあたりの時間をおおよそ一定に保つことができた。スケーリングの突破口やった。

この技術は、1兆パラメータのモデルを1兆単語のコーパスで訓練するという目標で明示的に設計された。MoE以前は単に目がくらむような規模やった。

バッチサイズを処理するんやな。ネットワーク帯域幅のボトルネックはどうや?それは別のトリックが必要やったんか?はい、彼らは専門家自体を計算的に密度が高く、太いと言うかもしれへん、ように設計することでそれに取り組んだ。各専門家、多分大きな隠れ層を持つフィードフォワードネットワーク、数千ユニットが、その入力出力サイズに対して相当な量の内部計算を実行することを確実にした。

この設計は、専門家の内部計算と入力出力データのサイズの比が、デバイスの計算対ネットワーク容量比より大きいことを保証した。より簡単な言葉で、専門家は内部作業を非常に多く行ったので、ネットワーク上でデータが到着するのを待つ時間が、実際に計算に費やす時間と比べてはるかに重要でなくなったんや。

データハイウェイの各トラックが出発前に絶対に満載されていることを確実にして、旅を価値あるものにし、その帯域幅制限を克服するようなもんやな。

理にかなってる。コミュニケーションコストに見合う価値のある作業にするんや。数千、さらには数万の専門家の可能性と、多分2つだけを選ぶこのスマートなゲーティングネットワークがあると、少数のスター専門家がすべての重労働を行い、他の人は単にアイドル状態で座ってる、使われることのない死んだ専門家になる本当のリスクがあるように思える。

利用可能なすべてのこれらの専門家にわたるバランス取れた利用をどう保証したんや?その種の支配をどう防いだんや?

それは極めて重要な点で、はい、それは彼らが自然に起こることを観察したものや。ゲーティングネットワークは確かに特定の専門家を好む傾向がある。自己強化サイクルになるんや。好まれた専門家はより多くの訓練データを得て、良くなって、だからさらに頻繁に選ばれるようになる。

これに対抗するために、彼らはメインの訓練目標に追加された2つの追加の慎重に設計された損失項を使った独創的なソフト制約アプローチを導入した。

2つの追加損失か。1つ目は、彼らが重要度と呼んだ損失項がある。こう動作するんや。バッチに対する専門家の重要度を、そのバッチ内でその専門家に割り当てられたすべてのゲート値の合計として定義する。重要度損失は、すべての専門家にわたるこれらの重要度値の大きな変動にペナルティを与える。

数学的に、これらの重要度値の変動係数の二乗を最小化する。本質的に、すべての専門家が大きな違いにペナルティを与えることで、おおよそ等しい総重み付き入力を持つよう奨励するんや。ゲートがより均等に注意を広げるよう優しく促すようなもんやな。

等しい重要度やな。でもそれは等しい作業負荷を保証するんか?必ずしもそうやない。それが微細な部分や。専門家は非常に大きなゲート重みを持つ少数の例から高い重要度を得るかもしれへんし、別の専門家は小さな重みを持つ多くの例から同じ重要度を得るかもしれへん。これは依然として不均衡な計算負荷、処理される例の実際の数につながりうる。

そしてそれは分散ハードウェアでのメモリとパフォーマンスに悪い。一部の専門家は過負荷になり、他の専門家はアイドル状態や。だから彼らは2番目の損失関数、負荷を導入した。これは明示的にバランス取れた負荷を目指すんや。専門家がおおよそ等しい数の例を受け取ることを確実にしようとする。

実際の例数は離散量やから、カウントを通して直接逆伝播できへん。彼らは負荷のための巧妙な滑らかな推定器を使い、ゲーティング関数のノイズが実際にこの推定器をうまく動作させるのに役立った。この重要度と負荷の組み合わせは本当にエレガントやった。モデルに作業負荷を公平に分散させることを効果的に強制し、専門家の支配を防ぎ、すべてのその高価な分散ハードウェアの効率的でバランス取れた使用を確保したんや。

MoEの画期的な実験結果

これらすべての部品が整った状態で、スパースゲーティング、バッチングと帯域幅の巧妙な修正、バランシング損失、これは本当に堅牢なシステムのように聞こえるな。実際の結果はどうやったんや?MoEは言語モデリングや機械翻訳のような重要なAIベンチマークで何の実感的改善をもたらしたんや?実際に誇大宣伝に応えたんか?

絶対に応えた。結果は単なる段階的改善やなかった。本当に画期的やった。全面的により低い計算コストで最先端より著しく良い結果を実証したんや。まず10億語の言語モデリングベンチマーク、標準的なテストベッドを見てみよう。

彼らのMoEモデルは劇的により低いパープレキシティを達成した。覚えておいてくれ、より低いパープレキシティはモデルがテキストにより驚かないことを意味する。だからはるかに良く言語を理解し予測するんや。彼らがテストした最大のMoEモデル、4096の専門家、43億パラメータを持つモデルは、当時の強いベースラインと比較して印象的な24%低いパープレキシティを示した。品質の巨大な跳躍やな。

言語モニタリングで24%低いのは巨大やな。本当にそうや。そしてさらに印象的なのは、高予算MoEモデルが28.0のパープレキシティを達成したことや。競合他社からの最良の以前の結果は30.6やった。でもここがキーや。MoEモデルは、10訓練エポックに対してわずか6%の計算を必要としながら、この良い結果を達成したんや。

6%やて、信じられない効率や。94%少ない計算でより良いモデル。驚異的やった。そして彼らがさらに大きなデータセット、1000億語のGoogle Newsコーパスまでスケールアップした時、65,536の専門家を持つモデル、680億パラメータに変換されるモデルが、計算的に一致したベースラインより39%低いパープレキシティを実現した。

これは単にポイントを叩きつけた。MoEは巨大に増加した容量を効果的に使用することを可能にし、巨大なデータセットで巨大な品質向上をもたらしたんや。

言語モデリングで印象的やな。機械翻訳はどうや?それは別の悪名高く困難なタスクや。そこでも似たような話や。広く使用されるWMT14英語からフランス語ベンチマークで、2048の専門家を持つMoEモデルが40.56のBLEUスコアを持った。BLEUは人間の参照に対する翻訳品質を測定するんや。

このスコアは、以前のGoogle神経機械翻訳GNMTモデルの最先端に対して1.34 BLEUポイントの重要な向上を表してた。翻訳の流暢さと精度の非常に顕著な改善やな。そしてこれは、MoE層だけで87億パラメータ、以前は効率的に管理するのが非常に困難やった規模で達成された。

利益は多言語機械翻訳にまで拡張された。これは本当にクールや。複数の言語ペアで訓練された単一のMoEモデルが、12の言語ペアのうち11で専門の多言語GNMTモデルを破った、時には6 BLEUポイント近くの巨大なマージンで。

そして信じられないことに、12ペアのうち8ペアで、単一の言語ペアのためだけに特別に訓練されたモノリンガルGNMTモデルさえ破った。加えて、全体的に19%低いパープレキシティを達成した。これらの結果は単に否定できなかった。MoEはその壊滅的計算爆発なしに優れた品質をもたらす前例のないモデル容量を提供した。

それは本当にゲームチェンジャーで、今日見る本当に巨大なモデルへの扉を開いたんや。

トランスフォーマー時代の新たな課題

MoEは2017年に明らかに革命を起こした。巨大なモデルを実用的にしたんや。でも君が言及したように、さらに大きなトランスフォーマーの時代が来た。数千億、さらには数兆パラメータが、少数ショット学習、高度推論のような驚くべきことを解き放った。

一つのスケーリング問題を解決しただけで、また別のレベルで別の問題に遭遇したような感じや。MoE単独では完全に対処できなかった、これらの怪物トランスフォーマーモデルで現れた新しい挑戦は何やったんや?混合再帰やMoRのようなもの需要につながったのは何やったんや?まだ何が欠けてたんや?

それを枠組みする優れた方法やな。一つの山のピークに登って、前方により高いピークを見るようなもんや。これをより大きな絵に結びつけると、トランスフォーマーは確かに本当に信じられない大きさまでスケールし、AI能力を本当に再定義したこれらの印象的な少数ショット汎化と推論能力を解き放ったが、君が示唆したように、巨大なメモリフットプリントと計算要件と一緒に来たんや。

単に巨大や。その純粋な大きさとアテンション機構の二次複雑性が、それらを訓練し、特に巨大なハイパースケールデータセンター外で展開することを信じられないほど挑戦的にした。しばしば法外に高価やった。この信じられない優れた脳を持ってるようなもんやけど、それがリソースに非常に飢えてるので、巨大なテック企業のほんの一握りだけがそれを養う余裕があるんや。

だからその能力にもかかわらず、アクセスはまだ制限されてたんやな。まさにそうや。そしてトランスフォーマー時代の効率化努力は、2つの陣営のうちの1つに属する傾向があった。パラメータ効率に焦点を当てる人々、層の結合、重み共有のようなもの、モデルが学習し保存しなければならない固有重みの数を減らそうとしたり、または適応的計算に焦点を当てたりした。

必要な時だけ計算に費やすんや。出力に確信を持った後にトークンの処理を開始する早期出力モデルのことを考えてくれ。MoEに似てるけど、しばしば異なって適用される。重要な欠けてる部分は、真に統一されたアーキテクチャやった。単一のコヒーレントフレームワーク内でパラメータ効率と適応的計算の両方を同時に達成できるもの。

その2つの目標を統一するんやな。そうや、同じ共有層を繰り返し適用する再帰的トランスフォーマーモデルは、重み共有が組み込まれてるため、パラメータ効率の強い基盤を提供した。しかし動的再帰の初期の試み、異なるトークンが異なる回数共有層をループできるもの、それらは重要な実用的ハードルに直面した。

しばしば複雑な訓練セットアップを必要としたり、効率的に展開するのが困難やったりした。これらのアイデアを効果的に組み合わせるために、より統合されたエレガントなアプローチが必要であることが明らかになった。

MoRはそのギャップを埋めることを目指してるんやな。パラメータ効率と適応的計算を統一して、すべてを一緒にもたらす。実際にそれをどう管理するんや?部品を再利用することと各部品がどれだけ作業を必要とするかを決定することをどう組み合わせるんや?必要な時にモデルに動的により激しく考える能力を与えるように聞こえるな。

MoRの統一されたアプローチ

それが正確に核心的アイデアや。MoRは再帰的トランスフォーマーの上に巧妙に構築されたフレームワークや。だからまずパラメータ効率のために、再帰的構造を継承する。再帰ステップにわたって共有された層のスタックを再利用するんや。数十や数百の固有層の代わりに、繰り返し適用される層のブロックを少数だけ持つかもしれへん。

これは固有パラメータの数を劇的に削減する。大きなメモリ節約、より簡単な訓練やな。

再帰からのパラメータ効率部分やな。でも本当の革新、MoRのひねりは、軽量ルーターを追加することや。これらのルーターは個々のトークンに異なる再帰深度を動的に割り当てる。

複雑な問題をどう解決するかについて考えてみてくれ。いくつかの部分は深く慎重な思考、多分数回のパスが必要や。他の部分は一目見て、すぐに理解して、先に進む。MoRはそのトークンに似たようなことをさせるんや。

すべての単一トークンが全く同じ固定数の処理ステップを通る代わりに、標準トランスフォーマーや基本的な再帰的トランスフォーマーでさえそうやけど、いくつかのトークン、多分より複雑やったり重要やったりするもんは、より多くの思考ステップのためにルーティングされる。それらの共有層を通るより多くのパス、一方でより単純なトークンは、十分な処理を受けた後に早期に終了できるんや。

それが適応的計算部分や。だからトークンごとに処理深度の点で適応的やな。まさにそうや。トークンごとにな。そしてこの動的ルーティングは効率にとって信じられないほど強力や。MoRがその計算的に高価な二次アテンション計算を、与えられた再帰深度でまだ活動的なトークン間でのみ集中させることを可能にするんや。

アテンションはシーケンス長で悪くスケールする。より深いレベルでアテンションが必要なトークンのセットを剪定することで、大量の計算を節約するんや。そしてそれは記憶アクセス効率も劇的に改善する。

その深度でまだ活動的なトークンのためだけのアテンション記憶であるキー値ペアを選択的にキャッシュすることでこれを行う。これは、その悪名高いKVキャッシュボトルネックのためにより少ない計算と著しくより少ないメモリが必要ということを意味する。彼らは対話的アプリに重要な、初期プロンプトを処理する時間であるプリフィル遅延を削減するために特別に設計されたKV共有バリアントさえ含んでる。

だから本質的に、MoRは1つのアーキテクチャで3つのことをする。1つは重みを結びつけてパラメータを削減する。2つはトークンをルーティングして冗長なFLOPを削減する。3つはキー値を再帰的にキャッシュしてメモリトラフィックを削減する。また概念的に潜在空間推論のアイデアにリンクし、モデルが復号中に適応的反復思考を実行することを可能にし、そのプロセスをより効率的で、多分さらに解釈可能にもするんや。

再帰的基盤とパラメータ共有

動的ルーティングをより深く調べる前に、この再帰的基盤を理解してることを確認しよう。これらのモデルは実際にそのパラメータ節約を得るために層をどう再利用または共有するんや?共有ブロックについて言及したな。

まさにそうや。モデルがN個の再帰ブロックに分割されてると考えてくれ、各ブロックが完全に固有の層を持つ代わりに、各ブロックは共有プールから引き出されたパラメータを利用するんや。ビルドの異なる段階で新しいツールセット全体を必要とする代わりに、異なる段階で繰り返し使う1つの本当に多用途なツールキットを持ってるようなもんや。これは、すべての層が異なる標準トランスフォーマーと比較して総パラメータ数を劇的に削減するんや。

それらのパラメータを共有する異なる方法があるんか?はい、論文は4つの主要戦略を探索してる。サイクル共有がある。層0、1、2があって、それから同じパラメータが層3、4、5などでサイクルで再び使われるかもしれへん。それからシーケンス共有がある。同じ層を連続的に再利用するんや。

層0が複数回使われ、層1が複数回使われるなどや。それから両方のミドルバリアント、ミドルサイクルとミドルシーケンスがある。これらはもう少し微細や。非常に最初の層、しばしば埋め込み層と、非常に最後の層、しばしば出力射影のために固有パラメータを保持する。

しかし中間のすべての層のために重みをサイクル的またはシーケンス的に共有するんや。これは中間で巨大な節約を得ながら、専門化された入出力処理の利益を与える。経験的に、彼らはミドルサイクル共有が最もうまく機能し、最低の検証損失を達成することを発見した。固有の端とサイクル的に共有された中間のその混合が最適点やったようや。

そしてこの共有はメモリ以上に助けるやろう?分散訓練について言及したな。絶対に。FSDP、完全シャード化データ並列のような技術、GPUにわたってモデルパラメータを分散するものは、はるかに効率的になる。なぜか?ある再帰ステップのためにGPUに収集するパラメータが、同じ前向き後向きパス内の後続ステップのために再利用されるからや。効率向上を掛け算するんや。

そして推論では、継続的深度バッチングと呼ばれるものを可能にする。すべての再帰深度が同じ共有パラメータを使用するため、実際に再帰的旅程の異なる段階にあるトークンを一緒にバッチできるんや。これはGPUを絶えず忙しく保ち、早く終了するトークンが残したギャップを埋める。スループットの巨大な勝利やな。

再帰的基盤は今明確やな。共有ブロック、異なる共有戦略、訓練と推論での利益。今、本当に適応的な部分のために、MoRはどう各個別トークンが必要とする思考ステップ数、再帰回数を決定するんや?モデルが入力の複雑さに基づいて自分の計算を動的に調整できるのは魅力的やな。その決定プロセスはどう動作するんや?

動的ルーティングメカニズム

ここでMoRが本当に興味深くなるんや。モデルにその種のメタ認知能力を与える。トークンに特定の再帰深度を割り当てるために2つの主要ルーティングメカニズムを使用するんや。

2つのメカニズムか。まず専門家選択ルーティングがある。これは他のいくつかの深度混合モデルからインスピレーションを得てる。このセットアップでは、各再帰深度自体が専門家のように機能する。各ステップで、軽量ルーターが現在活動的なすべてのトークンのスコアを計算する。

これらのスコアに基づいて、その深度のルーターは次の再帰ステップに進むために好ましいトップK個のトークンを選択する。だからより深く行くにつれて、活動的トークンの数は自然に狭くなる。モデルはその段階で最も重要やったり困難やったりすると判断されたトークンにリソースを集中させるんや。

ここでの重要な利点は、専門家選択が完璧な負荷バランシングを保証することや。ルーターが次の深度に行くトークン数を明示的に決定するので、深度が過負荷になったりアイドル状態で座ったりしない。

保証された負荷バランシングは良さそうやな。キャッチはあるんか?ある。キャッチは、ルーターの与えられたステップでどのトークンがトップKかの決定が、シーケンスで後に現れるトークンからの情報に暗黙的に依存するかもしれへんということで、それは実際のステップバイステップ推論中には利用できないような潜在的因果関係違反や。

これに対処するために、彼らは補助損失関数を追加したり、訓練中に別の補助ルーターを使ったりするような緩和技術を使用しなければならなかった。基本的にメインルーターに生成の因果順序を尊重する決定を行うよう教えるんや。

専門家選択は良い負荷バランスやけど因果関係の慎重な取り扱いが必要やな。2番目のメカニズムは何や?2番目はトークン選択ルーティングや。これは概念的により単純や。ここで各トークンは最初に単一の決定を行う。いくつの再帰ステップが必要か?最初から固定された再帰深度が割り当てられるんや。

だからトークンは3ステップ必要やと決定して、正確に3つの共有ブロックを通って、それから停止するかもしれへん。別のトークンは「1つだけ必要や」と言うかもしれへん。これは、決定がトークンの初期状態のみに基づいて一度行われるため、専門家選択の因果関係問題を完全に回避する。

しかしトレードオフは、潜在的な負荷不均衡を管理するために通常バランシング損失や他のアルゴリズムが必要なことや。深度、この見方では専門家が、自然に等しい数のトークンを受け取る保証がない。バランスを奨励しなければならない。

彼らの実験は、専門家選択では、その補助損失を使うのが最もうまく機能することを示した。トークン選択では、安定で正確なルーティングを得るためにバランシング損失を追加するのが効果的やった。

これらの異なる深度専門家をバランスするのは最初はトリッキーやったけど、明確なトレードオフを持つ本当に興味深い設計選択やな。

KVキャッシュ最適化戦略

魅力的なトレードオフやな。そしてもう一つの重要な部分、KVキャッシュ、そのメモリモンスター。MoRはその悪名高いKVキャッシュメモリ問題をどう取り組むんや、特にトークンが異なる動的深度を持つ時、それは速く複雑になりそうに思えるな?

そこに焦点を当てるのは正しい。アテンション用のキーと値表現を保存するKVキャッシュは、特に長いシーケンスでしばしば最大のメモリ喰いやな。MoRは2つの調整された戦略でこれに直接取り組む。

キャッシュのための2つの戦略やな。1つ目は再帰的KVキャッシングや。これはかなり直感的や。選択的にKVペア、つまりトークンのKVペアをトークンが実際に訪れる再帰深度でのみ保存するんや。トークンがステップ2の後に終了すると、そのKVペアはステップ3、4などのために保存されない。それらのより深いレベルのために単に破棄されるんや。

これは非常に効率的や。再帰ステップ数に応じて、KVメモリとIO、保存とデータ移動をおおよそ半分以上大幅に削減する。また、アテンションが各深度で活動的トークンのより小さなセットの間でのみ計算されるため、アテンションFLOPも二次的に削減する。

これは、合理的なメモリ制限内ではるかに長いコンテキストの取り扱いを実行可能にし、訓練と推論の両方をブーストするんや。

必要な場所で必要なもんだけをキャッシュするのは理にかなってる。代替案は何や?代替案は再帰的KV共有や。これはメモリ節約でさらに積極的や。ここでは最初の再帰ステップからのKVペアのみを計算し保存するんや。覚えておいてくれ、すべてのトークンは少なくとも最初のステップを通るんや。

これらの初期KVペアは、より深く続くトークンのためのすべての後続再帰ステップにわたって再利用される。これは最大限のメモリ節約、潜在的に巨大で、最初のステップ後にKV射影とプリフィル計算をスキップすることで推論を速めることもできる。

しかし、アテンションFLOPの削減はここではそれほど劇的やない、活動的トークン数とともに線形的だけや。そして非常に長いシーケンスでは、保存が低くてもまだ高いKVデータ転送IOボトルネックに直面しうる。

そして重要なのは、論文が興味深い相互作用に注目してることや。KV共有は専門家選択を劣化させるが、MoRでトークン選択ルーティングに利益をもたらすんや。

興味深いな。なぜやろう?専門家選択のより精密な深度特定ルーティングが各深度で調整されたKVキャッシュを持つことからより利益を得るのに対し、早期に決定を行うトークン選択は、共有された最初のステップKVからのより広いコンテキストをより効果的に活用するかもしれへんようや。

再び、正確なMoR構成に応じてこれらの微細な設計トレードオフを強調してるな。詳細が本当に重要やな。

MoRの実験結果と性能評価

MoRの背後の理論とメカニズムは信じられないほど洗練されて聞こえるな、再帰、動的ルーティング、巧妙なキャッシング、複数の効率層が一緒に働く、しかし証拠はプディングにあるやろう?MoRは実験で実際に何を提供したんや?より少ないコストで大きなモデル品質を達成するというその約束に本当に応えたんか?

絶対に提供した。経験的結果は本当に強く、MoRがその計算対品質曲線でより良い新しい位置を切り開くことを示した。数字を見てみよう。等しい訓練FLOPで訓練されたモデルを比較する時、16.5エクサフロップの固定計算予算で、MoRモデルは、1億1800万パラメータのMoR2対3億1500万パラメータの標準のような著しく小さなモデルサイズでも、著しく低い検証パープレキシティと改善された少数ショット精度を達成した。

例えば、そのより小さなMoR2モデルは43.1%の少数ショット精度を得たが、はるかに大きなバニラベースラインは42.3%を得た。ほぼ50%少ないパラメータでより良い結果やな。

どうやってそれを管理するんや?より少ないパラメータでより良い結果。鍵は効率や。MoRのより高い効率は、同じFLOP内でより多くの訓練トークンを処理できることを意味した。同じ計算量からより多くを学習したんや。そして訓練トークン数、両方で200億トークンを制御した時でも、2つの再帰ステップを持つMoRモデルは、同じ量のデータを処理するために25%少ない訓練FLOPを使用したにもかかわらず、ベースラインを上回った。

そしてそれは現実世界の節約に直接変換される。19%の訓練時間削減と25%のピークメモリ使用削減。これらのモデルを訓練する誰にとっても、それは巨大や。より速い実験、より低いクラウド請求書、または既に持ってるハードウェアでより大きく、より良いモデルを訓練する能力。それは本当にMoRが優れた計算精度トレードオフを提供することを示した。

それらは巨大な節約やな、特に悪名高く高価な事前訓練側で。でもモデルを訓練を超えて使用することはどうや?MoRは推論中、現実世界でこれらの強力なAIモデルをより速くするんか?展開には重要やな。

絶対に。これは我々が先ほど触れた継続的深度バッチングのおかげで、MoRが輝くもう一つの領域や。覚えておいてくれ、トークンが必要な再帰ステップを終了して早期に終了する時、処理バッチに空のスロットを残すんや。MoRは巧妙にこれらの空いたスロットを、新しい着信クエリや次のステップの準備ができたトークンで即座に埋める。

GPUパイプラインを詰まった状態で忙しく保つ。無駄なサイクルがない。これは推論スループットを劇的にブーストする。彼らがテストしたすべてのMoRバリアントは、速度の点でバニラベースラインを一貫して上回る。そして予想通り、より多くのステップを許可するより深い再帰は、一般的により多くのトークンが早期に終了することにつながり、KVキャッシュ圧力をさらに減らし、スピードアップを複合させる。

例えば、最大4つの再帰ステップを許可するMoR4モデルは、バニラトランスフォーマーベースラインと比較して最大2.06倍のスピードアップを達成した。2倍以上の速度やな。

それは重要やな。その速度のための品質トレードオフはあるんか?非常に深い再帰を許可することで絶対最大速度を押し進める時、時々わずかなパフォーマンス劣化がありうる。しかししばしばこれは展開のための非常に有利なトレードオフと考えられる。多分小さな、ほとんど感知できない生の品質低下のために2倍の速度を得るんや。

ほとんどのアプリケーションは、特にチャットボットやコーディングアシスタントのようなリアルタイムのものは、そのディールを一瞬で受けるやろう。

実用的使用にとって完璧に理にかなってる。だから一歩下がって、MoRは将来AIモデルをスケールする最適な方法について何を教えてくれるんや?より多くのデータを投げることに対してより大きなモデルを構築することについての計算を変えるんか?標準スケーリング法則に挑戦するかもしれへんように聞こえるな。

それは本当に深く根ざした仮定のいくつかに挑戦するようや。MoRは明確な計算最適スケーリング行動を実証する。モデルサイズパラメータに対するパフォーマンス対訓練データサイズに対するパフォーマンスをプロットすると、MoRはパラメータ側でより大きな勾配を示す。

それが意味するのは、MoRモデルは、単により多くの訓練データを供給されることよりも、パラメータ数を増やすことから著しくより多くの利益を得るということや。具体的に、その共有再帰ブロックをより強力にすることからな。

より簡単な言葉で、MoRは相対的に言って、バニラトランスフォーマーよりもデータに飢えてないように見える。なぜそうなんやろう?考え方は、その共有パラメータブロックを繰り返し再利用してるため、その共有ブロック自体の固有能力と推論力が絶対に最重要になるということや。

より強力な共有ブロックは、その再帰ステップにわたってより洗練された思考を実行できる。これは、MoRアーキテクチャの最適スケーリング戦略が、バニラモデルと比較してわずかに少ないエポックやわずかに少ないデータで訓練したとしても、より大きなモデルを使用することでモデル容量を増やすことに貴重な計算予算を配分することを好むかもしれへんことを示唆してる。

だから、わずかに少ないデータで訓練したとしても、より大きく、よりスマートな共有エンジンの構築により多く投資するんや。最適結果のためのリソース配分の考え方の根本的シフトやな。

適応的思考の洞察と応用

スケーリングについてのそれは本当に挑発的な洞察やな。エンジンのパワーに焦点を当てるんや。そして最後に、モデル自体がトークンごとにどれだけ考えるかを決定するのは信じられないほど興味深い。君はそれが意味的重要性を反映すると言った。この適応的計算は、モデルが情報をどう処理するかについて実際に何のパターンを明らかにするんや?そして多分より重要なのは、訓練後にテスト時でその動的思考を活用できるんか?

本当に魅力的なのは、再帰深度の配分が明確にトークンの意味的重要性を視覚的に反映することや。ランダムやない。どのトークンがより深くルーティングされるかを視覚化すると、非常に明確なパターンが見える。

内容豊富なトークン、キー名詞、動詞、人、薬物のような複雑な概念、または高信頼のような指標でさえ。これらは一貫してより多くの再帰ステップ、多分3、4、またはそれ以上を受ける。モデルはそれらの意味を解き明かしたり、適切に統合したりするためにより多くの内部思考サイクルを捧げてるんや。

逆に、機能語やtheの句読点、またはより単純な概念はしばしばより少ないステップを必要とする。多分1つや2つだけ。モデルはそれらをより速く処理する。それは各トークンの知覚される困難さや意味的価値に基づく知的適応的計算配分を本当に示してる。モデルは認知的努力を自己調整してるんや。

どこに注意を集中するかを決定してるのを見てるようなもんやな。まさにそうや。そして重要なのは、これは訓練中の単なる綺麗な観察やない。MoRはより深い再帰を介したテスト時スケーリングを可能にする。これは巨大な実用的利点や。

それは、モデルが完全に訓練された後でも、実際に推論のためにそれを使用してる時、単に許可される最大再帰深度を増やすことを選択できることを意味する。このタスクのために、もう少し激しく考えてくれとモデルに言えるんや。

モデルがこれらの反復的洗練ステップをより多く実行することを許可することは、一般的に生成された品質の改善、生成されたテキストのより良い尤度スコアのようなものにつながる。再訓練なしに要求に応じて推論深度をダイヤルアップするこの能力は信じられないほど強力や。

それはMoRを、AIが表面パターンに基づいて単に次のトークンを予測するだけやなくて、その内部理解のより意図的な反復的洗練が可能な真の潜在推論により近づくフレームワークとして位置づけるんや。

結論:AI開発の新たな展望

信じられない詳細解説を完了したばかりやな。本当に効率的ニューラルネットワークの進化を、とてつもなく巨大なモデルとそのコストのそれらの初期のほぼ圧倒的挑戦から、規模を実現可能にした混合専門家のような画期的解決策を通って、混合再帰の統一された適応パワーに到着するまで追跡した。正直に言って多くの独創性を明らかにした、本当に素晴らしい旅やった。

そしてこれをより大きな絵に結びつけると、これらの革新は、何らかの抽象的な方法でモデルをより大きくまたはより速くすることについてだけやない、それが全体の話やないんや。それらは根本的にAI開発にどうアプローチするかを再形成してる。パラダイムを本当にシフトさせて、単なるブルートフォーススケーリングからはるかにより知的適応的計算へと。

研究が示すように、彼らは大きなモデルコストを発生させずに大きなモデル品質を達成することを可能にする。それは巨大なシフトや。そしてそれが意味するのは、そのすべての驚くべき能力を持つ高度なAIが、ビッグテックだけやなくてより多くの研究者、より多くの組織にとってよりアクセス可能になり、ハイパースケールデータセンターをはるかに超えたはるかに幅広い現実世界アプリケーションの範囲でより実用的、より持続可能になることや。

だからこれはすべて我々、ユーザーにとって、そしてAIの将来軌道にとって何を意味するんや?これらのモデルがより有能になり続けるが、同時により効率的で、より適応的になり、情報の各特定の部分に必要なだけ深く考えることを学ぶにつれて、我々に残される本当の質問は、これやと思う。

これらの突破口は、AIとの実際の相互作用をどう変換するやろか?AIが単なる強力で時々不器用なツールから、真にユビキタスで、シームレスに統合された知能になることを可能にするやろか?我々の生活のあらゆる面に織り込まれ、我々の必要に応じて自分の思考を絶えず適応させ、多分我々が意識的にそれが起こってることを実現することなしに。

我々がどう働き、どう学び、どう創造するかへの含意は、本当に無限に思える。本当に考えさせられるな。

コメント

タイトルとURLをコピーしました