Yolo 深圳
深セン
今すぐ参加
用語集

Mixture of Experts (MoE)

Mixture of Experts(MoE)をご覧ください。NLP、ビジョン、ロボティクスなどのスケーラブルで効率的なモデルを可能にする画期的なAIアーキテクチャです。

Mixture of Experts (MoE) は、次のように設計された特殊なニューラルネットワーク (NN) アーキテクチャです。 ニューラルネットワーク(NN)アーキテクチャーである。 計算コストを比例して増加させることなく、モデル容量を効率的に拡張できるように設計された特殊なニューラルネットワーク(NN)アーキテクチャです。従来の MoEモデルは、すべての入力に対してすべてのパラメータがアクティブになる従来の「密な」モデルとは異なり、条件付き計算と呼ばれる手法を利用する。 条件付き計算これによりシステムは、「エキスパート」と呼ばれる全パラメータのうち、ごく一部のパラメータだけを動的にアクティブにすることができる。 これは「エキスパート」と呼ばれるもので、入力データの特定の要件に基づいている。この この疎な活性化を活用することで、研究者は次のような大規模なシステムを訓練することができる。 大規模言語モデル(LLM)のような大規模システムを訓練することができる。 何兆ものパラメーターを持つ 兆個のパラメータを持つ大規模言語モデル(LLM)のような大規模なシステムを訓練することができる。 モデルである。

MoEアーキテクチャのコア・コンポーネント

MoEフレームワークは、標準的な密なレイヤーを疎なMoEレイヤーに置き換える。 で構成されている:

  • 専門家ネットワークこれらは 独立したサブネットワークであり、多くの場合単純な フィード・フォワード・ネットワーク(FFN)である。 である。例えば 自然言語処理(NLP) 例えば、自然言語処理(NLP)のタスクでは、ある専門家は文法構造に注目し、別の専門家は慣用表現に特化するかもしれない。
  • ゲートネットワーク(ルーター):ルーターはトラフィック・コントローラーの役割を果たす。すべての入力トークンまたは画像 パッチに対して、ソフトマックス関数で確率分布を計算し ソフトマックス関数を用いて確率分布を計算し、特定の入力を処理するのに最適なエキスパート を決定する。これは通常、データを「トップK」エキスパート(通常は1か 2)にデータをルーティングし、モデルの大部分は非アクティブのままであることを保証し、計算資源を節約する。

MoEとモデルアンサンブルの比較

どちらのアーキテクチャーも複数のサブモデルを含むが、以下の点を区別することが重要である。 専門家の混合と モデル・アンサンブル

  • モデルアンサンブル:バギングやブースティングのような手法では バギングやブースティングのような手法では、複数の異なるモデルが同じ入力を独立に処理し 同じ入力を独立に処理し、その予測値を集約して精度を向上させる。 精度を向上させる。このアプローチは、モデルの数 はモデルの数に比例して増加する。
  • 専門家の混合:MoEは単一の統一されたモデルであり、異なる入力はネットワークを介して異なる経路をたどる。 選択されたエキスパートだけが実行される。選択されたエキスパートだけが実行されるため、モデルのパラメータ数は非常に大きくなるが、計算量は疎になる。 が非常に大きくなるが、計算は疎になる。これにより 密なアンサンブルでは対応できない高いスケーラビリティを実現する。

実際のアプリケーション

MoEアーキテクチャは、特に膨大な知識の保持とマルチタスク能力を必要とするシナリオにおいて、現代の高性能AIの礎石となっている。 MoEアーキテクチャは、現代の高性能AIの基礎となっている。

  1. 高度な言語生成:以下のような著名な基礎モデル Mistral AIのMixtral 8x7Bや Google スイッチ・トランスフォーマー、 は、多様な言語タスクを処理するためにMoEを採用している。トークンを専門のエキスパートにルーティングすることで、これらのモデルは複数の言語とコーディング構文を同時にマスターすることができる。 これらのモデルは、複数の言語とコーディング構文を同時にマスターすることができる。 を同時に習得することができる。
  2. スケーラブルなコンピュータ・ビジョンコンピュータビジョン(CV)の分野では コンピュータビジョン(CV)の分野では、MoEは以下のようなタスクのための汎用的なバックボーンを作成するために使用されます。 オブジェクト検出や画像分類などの オブジェクト検出や画像分類のようなタスクのMoEベースのビジョンモデル Google Vision MoE(V-MoE)のようなMoEベースのビジョンモデルは、テクスチャと形状のような明確な視覚的特徴を認識するために特定のエキスパートを割り当てることができる。 のような膨大なデータセットでのパフォーマンスを向上させる。 のような大規模データセットでのパフォーマンスを向上させます。 ImageNet.現在の効率的なモデル のような YOLO11のような現在の効率的なモデルは,最適化された高密度アーキテクチャに依存していますが YOLO26のような将来の研究開発プロジェクトでは、サイズと速度のトレードオフを最大化するために YOLO26のような将来の研究開発プロジェクトでは、サイズと速度のトレードオフを最大化するための高度なアーキテクチャ戦略を模索している。

ルーティング・ロジックの例

ルーティングのメカニズムを理解することは、MoEがどのように機能するかを把握するための鍵となる。以下はその例である。 PyTorchスニペットは、与えられた入力バッチに対して上位2名のエキスパートを選択する単純化されたゲーティングメカニズム 与えられた入力バッチに対して上位2名のエキスパートを選択する。

import torch
import torch.nn as nn

# A simple router selecting the top-2 experts out of 8
num_experts = 8
top_k = 2
input_dim = 128

# The gating network predicts expert relevance scores
gate = nn.Linear(input_dim, num_experts)
input_data = torch.randn(4, input_dim)  # Batch of 4 inputs

# Calculate routing probabilities
logits = gate(input_data)
probs = torch.softmax(logits, dim=-1)

# Select the indices of the most relevant experts
weights, indices = torch.topk(probs, top_k, dim=-1)

print(f"Selected Expert Indices:\n{indices}")

トレーニングにおける課題

その効率性にもかかわらず、MoEモデルはトレーニングプロセスに複雑さをもたらす。 トレーニングプロセスに複雑さをもたらす。主な課題は ゲーティングネットワークは、少数の「人気のある」専門家だけにすべてをルーティングする状態に収束するかもしれない。 ゲーティングネットワークは、すべてを少数の「人気のある」専門家にルーティングする状態に収束し、他の専門家は訓練されないままになる可能性がある。これを防ぐために、研究者は補助的な 損失関数を適用する。 を適用する。さらに、MoEを実装するには、洗練された 分散訓練インフラが必要である。 異なるGPU GPU。以下のようなライブラリが必要です。 Microsoft DeepSpeedTensorFlow Meshのようなライブラリは、これらの並列化のハードルを処理するために特別に開発された。 並列化のハードルを処理するために特別に開発されました。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加