専門家を全員参加させながら計算は軽く:IntBMoEが解くMoEの三重のジレンマ

参加・実行・保存を個別に調整できなかったMixture-of-Expertsの限界を、ブロック条件化で三つの軸へと分離したIntBMoE。AMapのレコメンドでUVCTRが2.4%向上。
← 목록으로
온
온틀 리서치
2026년 10월 03일 更新 2026.10.16 読了 12分 閲覧 2

IntBMoEは、巨大なAIモデルを効率よくスケールさせる手法である「Mixture-of-Experts(専門家の混合、以下MoE)」が長年抱えてきたジレンマに正面から取り組んだ研究だ。従来のMoEでは「専門家をどれだけ参加させるか」「実際にどれだけ計算するか」「どれだけ多くのパラメータを保持するか」という三つを別々に調整することができなかった。IntBMoEはこの三つを分離(decouple)し、すべての専門家が知識に寄与しながらも、計算量とメモリは低く抑える。実際にこの技術は中国の地図サービスAMapの生成AI型レコメンドシステムに導入され、数億人のユーザーに60ms以内で提供されており、オンラインA/Bテストで UVCTR(ユーザーあたりクリック率)の相対2.4%向上を記録した。

この論文が解く問題

MoEを料理人の軍団にたとえてみよう。客(入力トークン)が来ると、複数の専門料理人(専門家)のうち誰を呼ぶかを決める。問題は、この「料理人の運用」に三つの異なるコストが絡んでいる点だ。

論文はこの三つを明確に区別する。

  • 参加(participation): 一人の客の料理に、何人の料理人が自分の知識を注ぎ込むか。多いほど結果は豊かになる。
  • 実行(execution): 実際に何人が手を動かして調理するか。これがそのまま計算コストになる。
  • 保存(materialization): 実行中に、何セットの「料理人サイズの合成パラメータセット」を新たに作って抱えていなければならないか。論文のいう materialization コストだ。ここで注意したいのは、これは専門家の元の重みを倉庫に備蓄しておく基本的な保存とは別物だという点。その基本的な保存は、どの方式であれ専門家をすべて保管する必要がある。

理想的には「すべての料理人が知識を注ぎ込みつつ(参加は最大)、実際に手を動かすのは数人だけ(実行は最小)、倉庫に新たに積み上げるセットも少なく(保存も最小)」が望ましい。ところが従来の手法は、この三つを独立に設定することができなかった。

従来の手法 参加 実行(計算) 保存(materialization)
スパースルーティング(Sparse routing) 少ない(減る) 低い 低い
密な出力混合(Dense output-mixing) 満杯 専門家の数だけ大きくなる -
パラメータマージ(Parameter-merging) - 専門家1個分に保たれる ルーティング決定の数だけ大きくなる
  • スパースルーティング: 客ごとに数人しか呼ばないので、実際に手を動かす計算(実行)は安い。ただし安くなるのは実行だけで、専門家の重みはすべて倉庫に保管しなければならないため、「メモリまで安い」と一括りにするのは不正確だ。しかも少数しか寄与しないので、参加が縮んでしまう。
  • 密な出力混合: すべての料理人を呼ぶので参加は満杯になるが、専門家の数が増えるほど実際の計算がそれだけ大きくなる。
  • パラメータマージ: 複数の料理人を一人にまとめて実行は1人分に保つが、ルーティング決定(まとめ方の組み合わせ)が多くなるほど、新たに作って抱えておくべきセットが膨れ上がる。

つまり、どれか一つを押さえれば別のどこかが漏れる構造だった。この三重のジレンマこそ、論文が狙った問題だ。

核心となるアイデア

IntBMoE(Integrating Block-Level Conditioning、ブロックレベル条件化)の核心は、「密な専門家の構成」と「スパースなブロックの実行」を組み合わせることで、三つの軸を同時に切り離す点にある。料理のたとえを続けよう。

1) 決められたブロック一覧表(コードブック)を置く。 IntBMoEは既存の専門家を小さな断片に切り刻んだりしない。代わりに、学習された小型のコードブック(codebook、決められたブロック一覧表)が使える「ブロック」の一覧を定め、コードブックの一つのマスがブロック一つに対応する。各ブロックは一つの層に閉じ込められた断片ではなく、複数の内部層にまたがる多層構造であり、層ごとにその層の専門家基盤全体を合成して作られる(次項)。重要なのは、ブロックの個数を入力ではなくコードブックが固定する点だ。客がどれだけ多様であっても、実行中に新たに作って抱えておくべき合成ブロックの数はコードブックのサイズに縛られている。だから保存(合成コスト)が上限の中に閉じ込められる(bounded)。

2) 各層ごとにその場で専門家を一人組み立てる。 各内部層で、軽量なハイパーネットワーク(hypernetwork、他のネットワークのパラメータを作ってやる小さなネットワーク)が、その層のプール(pool)にいるすべての専門家基盤(expert bases)を一つの合成専門家(composed expert)へとマージする。こうして作られた合成専門家はプール全体を引っ張り出して使うので、参加が満杯になる(full)。すべての料理人の知識が、その場で組み立てられた一人の料理人の中に溶け込む形だ。

3) ルーターは少数のブロックだけを実際に計算する。 参加は満杯だが、ルーター(router)は各トークンをいくつかのブロックにだけ送る。だから実行(計算)は依然としてスパースに保たれる。知識はすべて反映されるが、実際に手がかかる断片は数個だけ、というわけだ。

この三つの仕掛けの組み合わせのおかげで、参加(満杯)・実行(スパース)・保存(上限付き)が互いに絡まず、それぞれ個別に決まる。

さらにもう一つ、デュアルパス残差ゲーティング(Dual-Path Residual Gating、DPRG) が乗る。独立に構成された二つの経路を、乗算ゲーティング(multiplicative gating、一方の信号でもう一方を門のように開け閉めして掛け合わせる方式)で結合する。異なる組み立て方をした二つの料理を単に混ぜるのではなく、一方がもう一方を調節するように絡ませ、表現力を引き上げる仕掛けと見ることができる。

結果と意味

アブストラクトが示す成果は次のとおりだ。具体的な数値が提示された項目だけをそのまま移す。

  • 画像分類(vision): 代表的なスパース・密なMoEのベースライン(baseline)に対して一貫した性能向上を示した(アブストラクトは定量的な数値を明かしていない)。
  • 一般化の検証: 言語モデリング(language modeling)と逐次レコメンド(sequential recommendation)でも追加実験を行い、ビジョンを超えた一般化を確認した。
  • 実サービス導入: AMapの生成AI型レコメンドシステムに完全に導入され、数億人(hundreds of millions)のユーザーを60msのレイテンシ予算内で提供している。
  • オンラインA/Bテスト: UVCTRの相対2.4%向上(relative gain)。

ここで注目すべきは、この手法が論文上のベンチマークにとどまらず、厳しいレイテンシ制約(60ms)をもつ大規模な実サービスで実際の指標を押し上げたという点だ。MoEの研究はしばしば「精度は上がったが導入コストは?」という問いで行き詰まるが、IntBMoEは実行・保存を意図的に低く縛る設計のおかげで、その問いへの答えをサービスとして示してみせた形だ。コードも公開されている(github.com/AMAP-ML/DreamX-Rec)。

限界と残された疑問

アブストラクトだけで判断する限り、正直に言って次の点はまだ開いている。

  • 定量的な幅が不明確: 画像分類で「一貫した向上」とだけ述べられており、どれだけ上がったのかアブストラクトには数値がない。実際の改善幅は本文や表を確認する必要がある。
  • UVCTR 2.4%の文脈: 相対2.4%向上はレコメンドサービスにおいて意味のある数値かもしれないが、単一サービス(AMap)の単一指標の結果だ。他のドメイン・他の指標での再現性はアブストラクトだけでは断定できない。
  • ハイパーネットワーク・コードブックのコスト: 各層で専門家をマージするハイパーネットワークとコードブックそのものの学習・チューニングの難しさ、そしてそれが60ms予算で占めるオーバーヘッドの詳細は、アブストラクトには表れていない。
  • DPRGの寄与の切り分け: デュアルパスゲーティングが性能にどれだけ寄与したか(ablation)は、アブストラクトの範囲外だ。

要するに「設計思想と実サービスの成果」は明確だが、「各仕掛けの定量的な寄与と一般化の幅」は本文を読んで初めて埋まる部分だ。

ONTLEの視点

ONTLEは、繰り返し業務に疲れた小規模企業や一人起業家の手を補う「AIプロジェクトマネージャー派遣型」のプロダクトを目指している。だから私たちにとって重要なのは、「賢さ」と「運用コスト」を同時に押さえる設計だ。IntBMoEの問題意識は、ここに直接つながる。

第一に、「参加・実行・保存の分離」はプロダクトアーキテクチャの隠喩としても有効だ。 エージェントシステムでも似た三重のジレンマがある。複数の専門エージェント(あるいはツール)の「知識をすべて反映したい(参加)」「しかし毎リクエストで全部呼べば遅くて高い(実行)」「すべての専門モデルを常時立ち上げておけばメモリ・コストが爆発する(保存)」。IntBMoEは、この三つをあえて一緒に縛らず、それぞれ別の仕掛けで制御せよというヒントをくれる。私たちのルーティング(リクエスト→適切な少数のツールだけ実行)と知識統合(全体コンテキストの反映)を、別個のレイヤーとして設計する根拠になる。

第二に、「60ms予算での実導入」という規律だ。 ONTLEのような実サービスは、デモの精度ではなく、レイテンシ・コストの中での実効指標(クリック・完了・再訪)で評価される。IntBMoEが実行・保存を設計段階で定数として縛った取り組みは、RAGやエージェントパイプラインで「品質は上げつつ、応答時間とインフラコストは予算内に固定する」という私たちの原則と重なる。

第三に、逐次レコメンドへの一般化は、ONTLEが扱うパーソナライズ・レコメンド系の機能(次に何を処理・提案するか)への参考点になる。ただし上の限界で指摘したように、導入の判断は私たちのドメインデータで小規模な検証を経た後が妥当だ。良い論文を「すぐ導入」ではなく「設計原理を借りて実測で検証する」順序を守ること——それがONTLEのやり方だ。

MoEとは正確には何ですか?

Mixture-of-Experts(専門家の混合)は、一つの巨大なニューラルネットワークの代わりに複数の小さな専門家ネットワークを置き、入力ごとに適切な一部だけを選んで使う構造です。モデルの容量(capacity)を大きくしながらも毎回すべてを計算せずに済むため効率的で、大規模モデルで広く使われています。

「参加・実行・保存」を分離することがなぜ重要なのですか?

従来のMoEはこの三つが互いに縛られており、参加を増やせば計算が大きくなり、計算を減らせば参加が減るか(スパースルーティング)、実行中の合成パラメータが膨れ上がりました(パラメータマージ)。IntBMoEは、密な構成(すべての専門家を反映)とスパースな実行(少数のブロックだけ計算)、コードブックに基づく固定された保存を組み合わせ、三つの軸をそれぞれ独立に調整します。

実際のサービスで効果が検証されたのですか?

アブストラクトによれば、AMapの生成AI型レコメンドシステムに完全に導入され、数億人のユーザーに60msのレイテンシ予算内で提供されており、オンラインA/BテストでUVCTR(ユーザーあたりクリック率)の相対2.4%向上を記録しました。画像分類・言語モデリングでも一貫した向上を報告しています(具体的な数値はアブストラクトにありません)。

コードは見られますか?

はい、アブストラクトに公開リポジトリが明記されています:github.com/AMAP-ML/DreamX-Rec。下の参考資料のarXiv/HuggingFaceリンクもあわせて確認してください。

参考資料