【えきすぱーとへいれつ】

エキスパート並列(EP) とは?

公開:
💡 AIの専門チームを、複数の計算機へ分担配置

エキスパート並列は、MoEモデルのエキスパートを複数のGPUなどへ分けて配置する並列化手法。入力を担当のエキスパートへ送り、計算結果を戻すための通信も必要になります。

📌 このページのポイント
専門担当を、複数のGPUへ分けて置く ルーターが担当を選ぶGPU 1E1E2GPU 2E3E4GPU 3E5E6GPU 4E7E8
8エキスパートを4 GPUへ2つずつ配置する例(Eはエキスパート)。担当先への入力の配布を示しており、結果を戻す通信も必要です。
ひよこ ひよこ
ペンギン先生、エキスパート並列って専門家が一緒にAIを作るの?
ペンギン先生 ペンギン先生
ここでのエキスパートはMoEモデル内の計算を担当する部分だよ。その複数のエキスパートを、複数のGPUなどへ分けて配置する方法なんだ。
ひよこ ひよこ
入力は、どのGPUへ渡すの?
ペンギン先生 ペンギン先生
ルーターが選んだエキスパートを持つデバイスへ送るよ。そこで計算し、結果を戻してまとめる。エキスパートが分かれているので、デバイス間の通信も重要になるんだ。
ひよこ ひよこ
EPが4なら、エキスパートも4つ?
ペンギン先生 ペンギン先生
同じ数とは限らないよ。例えば8つのエキスパートを4台へ均等に配置すれば、1台あたり2つ。EPのグループサイズは、エキスパートを分けて置くデバイスの数を表すんだ。
ひよこ ひよこ
台数を増やすだけで速くなる?
ペンギン先生 ペンギン先生
計算の分担には役立つけれど、通信や負荷の偏りが増える場合もあるよ。どのエキスパートに入力が集まるか、デバイス同士をどうつなぐかも含めて調整する必要があるんだ。
もっと詳しく知りたい人へ

テンソル並列との違いは?

エキスパート並列はエキスパートを分けて配置し、テンソル並列は行列など一つの計算の要素を分割します。組み合わせる構成もありますが、利用するフレームワークの対応条件を確認します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「エキスパート並列」って出てきたら「MoEの専門担当を複数のGPUなどへ分けて置く方法」と思えばだいたいOK!
📖 おまけ:英語の意味
「Expert Parallelism」 = エキスパートの並列化
💬 ExpertはMoE内で選ばれて計算を担う部分、Parallelismは並列化だよ。人間の専門家が同時に働くという意味ではないんだ。

参考資料

← 用語集にもどる