Mixture of Agents (MoA)
エージェントの混合(MoA)では、複数のLLMがプロンプトに回答し、集約モデルがすべての回答を読み取って、より良い回答を作成します。仕組みとコストを解説します。
Mixture of Agents(MoA)は推論時の手法です。複数の大規模言語モデル(LLM)が同じプロンプトに回答し、1つ以上のアグリゲーターモデルがすべての回答を読み、改善した単一の回答を生成します。Together AIのJunlin Wang氏らが、2024年の論文Mixture-of-Agents Enhances Large Language Model Capabilitiesでこの手法を発表しました。この手法は、著者らが「協調性」と呼ぶ効果を利用しています。LLMは、自分より性能の低いモデルであっても、同じ質問への他のモデルの回答を参照できると、より良い回答を生成する傾向があります。MoAでは学習やファインチューニングは不要で、必要なのはAPI呼び出しとプロンプトだけです。そのため、異なるプロバイダーのモデルを組み合わせられます。
Mixture of Agentsの仕組み#
MoAでは、モデルを複数のレイヤーに配置します。最初のレイヤーでは、複数の提案モデルがそれぞれ独立してプロンプトに回答します。後続の各レイヤーには、元のプロンプトと前のレイヤーのすべての回答が渡されます。集約・統合用のプロンプトは、回答に偏りや誤りがある可能性も考慮して批判的に評価し、洗練された回答を1つ生成するようモデルに指示します。最終レイヤーには1つのアグリゲーターがあり、その出力がシステムの回答になります。役割によってモデルの適性は異なります。論文の実験では、WizardLMは優れた提案を生成しましたが、集約は苦手でした。一方、GPT-4oとQwen1.5は、どちらの役割でも良好な性能を示しました。
論文の主要な構成では、6つのオープンソースモデル(Qwen1.5-110B-Chat、Qwen1.5-72B-Chat、WizardLM-8x22B、Llama-3-70B-Instruct、Mixtral-8x22B、DBRX-Instruct)を3つのレイヤーに配置し、最終アグリゲーターにはQwen1.5-110B-Chatを使用しました。この構成は、指示追従ベンチマークであるAlpacaEval 2.0で、回答の長さを調整した勝率65.1%を達成しました。当時のGPT-4oの57.5%を上回る結果です。より低コストの2レイヤーMoA-Liteでは、Qwen1.5-72B-Chatをアグリゲーターとして使用し、59.3%を記録しました。著者らは、この手法のリファレンス実装を公開しました。
Mixture of Agentsと関連手法の比較#
- Mixture of Experts(MoE): 単一のニューラルネットワーク内部のアーキテクチャです。学習済みルーターがトークンごとにいくつかのエキスパート層を有効化し、すべてのエキスパートを同時に学習します。MoAは、推論時にプロンプトを介して、独立した完全なモデルを組み合わせます。
- モデルアンサンブル: アンサンブルは、各モデルの予測を平均するか、投票で集約します。MoAのアグリゲーターは、すべての候補を条件として新しいテキストを生成するため、それぞれ一部に誤りがある回答から正しい部分を組み合わせられます。
- モデルルーティング: ルーターは、最小のコストで適切に回答できる可能性が最も高い1つのモデルに、各クエリを送ります。MoAは、すべてのプロンプトに対して複数のモデルに問い合わせます。
- AIディベート: マルチエージェントディベートでは、モデルが互いの回答を読み、複数回のラウンドを通じて自分の回答を修正します。MoAはレイヤー間で情報を引き継ぎ、最後に1つのアグリゲーターが回答を生成します。
- AIエージェントオーケストレーション: オーケストレーションでは、通常、異なるサブタスクを担当するエージェントを連携させます。MoAはその中の並列処理パターンの1つで、すべてのモデルが同じプロンプトに取り組みます。
実際のアプリケーション#
- テキスト生成: AlpacaEvalが評価する自由形式の文章作成、分析、指示追従では、複数の草案を統合することで最も大きな効果が得られます。
- エージェント型コーディング: 複数のモデルが同じプログラミング問題に対する解決策を提案し、アグリゲーターが有力なアイデアを統合します。意見が分かれる提案は、ユニットテストで評価します。
- 合成データ生成: チームはMoAの出力を、小規模モデルの学習用の高品質な目標データとして利用します。この場合、追加の推論コストは一度だけ発生します。
同じパターンはマルチモーダルAIにも拡張できます。複数のビジョン・ランゲージモデルが同じ画像を説明し、アグリゲーターが説明を統合します。Ultralytics LLMインターフェースは、同じLLM()クラスを通じて、OpenAIやDeepSeek、Kimi、Z.AI、OpenRouterなどのOpenAI互換プロバイダーを呼び出します。そのため、1つのスクリプトで画像を複数の提案モデルに送り、回答をアグリゲーターに渡せます。
強みと制約#
MoAは、品質と引き換えに計算リソースを使います。主要な構成では、プロンプトごとに十数回を超えるモデル呼び出しが発生します。また、最後のレイヤーが完了するまでアグリゲーターは最初のトークンを生成できないため、論文ではTime to First Tokenが長いと指摘されています。この点は、対話型の用途に不利です。そのため、推論レイテンシとコストによって、MoAの用途は速度より回答品質が重視されるタスクに限られます。
異なるモデルを混在させる効果も、当初考えられていたほど大きくありません。性能の低い提案モデルを加えると、アグリゲーターが読む回答の平均品質が下がるためです。Wenzhe Li氏らによるSelf-MoAの研究では、最良の単一モデルから複数の出力をサンプリングして集約する方法が、異なるLLMを標準的に混合する方法を上回りました。AlpacaEval 2.0では6.6%、MMLU、CRUX、MATHなどを含むベンチマーク全体の平均では3.8%上回りました。










