Mixture of Experts(MoE)をご覧ください。NLP、ビジョン、ロボティクスなどのスケーラブルで効率的なモデルを可能にする画期的なAIアーキテクチャです。
Mixture of Experts (MoE) は、次のように設計された特殊なニューラルネットワーク (NN) アーキテクチャです。 ニューラルネットワーク(NN)アーキテクチャーである。 計算コストを比例して増加させることなく、モデル容量を効率的に拡張できるように設計された特殊なニューラルネットワーク(NN)アーキテクチャです。従来の MoEモデルは、すべての入力に対してすべてのパラメータがアクティブになる従来の「密な」モデルとは異なり、条件付き計算と呼ばれる手法を利用する。 条件付き計算これによりシステムは、「エキスパート」と呼ばれる全パラメータのうち、ごく一部のパラメータだけを動的にアクティブにすることができる。 これは「エキスパート」と呼ばれるもので、入力データの特定の要件に基づいている。この この疎な活性化を活用することで、研究者は次のような大規模なシステムを訓練することができる。 大規模言語モデル(LLM)のような大規模システムを訓練することができる。 何兆ものパラメーターを持つ 数兆個のパラメータを持つ大規模言語モデル(LLM)のような大規模なシステムを訓練することができる。 モデルである。
MoEフレームワークは、標準的な密なレイヤーを疎なMoEレイヤーに置き換える。 で構成されている:
どちらのアーキテクチャーも複数のサブモデルを含むが、以下の点を区別することが重要である。 専門家の混合と モデル・アンサンブル。
MoEアーキテクチャは、特に膨大な知識の保持とマルチタスク能力を必要とするシナリオにおいて、現代の高性能AIの礎石となっている。 MoEアーキテクチャは、現代の高性能AIの基礎となっている。
ルーティングのメカニズムを理解することは、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 DeepSpeedや TensorFlow Meshのようなライブラリは、これらの並列化のハードルを処理するために特別に開発された。 並列化のハードルを処理するために特別に開発されました。