Mixture of Experts(MoE)は、NLP、ビジョン、ロボット工学などのためのスケーラブルで効率的なモデルを可能にする画期的なAIアーキテクチャです。
エキスパート混合(MoE)とは、ニューラルネットワーク(NN)アーキテクチャの一つで、問題を「エキスパート」と呼ばれる専門化されたサブモデル間で分割することで、モデルがより効率的に学習できるようにするものである。MoEアーキテクチャは、単一のモノリシックなモデルがすべての入力を処理する代わりに、「ゲーティングネットワーク」を使用して、各入力を最も関連性の高いエキスパートに動的にルーティングする。このアプローチは、それぞれが特定のタスクに秀でたスペシャリストのチームは、単一のジェネラリストよりも複雑な問題をより効果的に解決できるという考え方に着想を得ている。この条件付き計算により、MoEモデルは膨大な数のパラメータに拡張できる一方で、推論にかかる計算コストは管理可能なレベルに保たれる。
MoEのアーキテクチャは、2つの主要コンポーネントで構成されている:
エキスパート・ネットワーク:これは複数の小さなニューラルネットワークで、多くの場合同じアーキテクチャを持ち、データの異なる部分の専門家になるように訓練される。例えば、自然言語処理(NLP)のモデルでは、あるエキスパートは英語からフランス語への翻訳に特化し、別のエキスパートはPythonコード生成に習熟する。各エキスパートは、より大きな深層学習システムの構成要素である。
ゲーティング・ネットワーク:これは、トラフィックコントローラーまたはルーターとして機能する小さなニューラルネットワークである。入力を受け取り、どの専門家または専門家の組み合わせがその入力の処理に最も適しているかを判断する。ゲーティング・ネットワークは各エキスパートの確率を出力し、それに基づいて、入力を処理するために1人または数人のエキスパートを選択的にアクティブにする。ネットワークのサブセットのみを活性化させるこの手法は、しばしばスパース活性化と呼ばれ、Googleの「Outrageously Large Neural Networks」のような影響力のある論文で詳述されている中核概念である。
学習プロセスでは、エキスパート・ネットワークとゲーティング・ネットワークの両方が、バックプロパゲーションを用いて同時に学習される。システムは、エキスパート内でタスクを解決する方法だけでなく、ゲーティング・ネットワークを介して入力を効果的にルーティングする方法も学習する。
専門家の混合は、しばしばモデル・アンサンブルと比較されるが、両者は基本的に異なる原理に基づいている。
MoEアーキテクチャーは、特に自然言語処理において、最先端のモデルをスケールアップする際に特に顕著になっている。
MoEモデルを効果的に実装するには、エキスパート間でバランスの取れた負荷の確保(一部のエキスパートが過不足なく利用されることを防ぐ)、(PyTorchや TensorFlowのようなフレームワークで見られるような)分散トレーニング環境における通信オーバーヘッドの管理、トレーニングプロセスの複雑性の増加などの課題があります。また、Ultralytics HUBのようなプラットフォームを使用したモデルデプロイメントのオプションと管理についても慎重に検討する必要がある。