MoEスパース活性化とは、Mixture-of-Expertsモデルにおいて全エキスパートのうち一部(Top-K)のみを各トークンの処理に使用する計算方式である。総パラメータ数に対して実際の演算量(FLOPS)を大幅に削減でき、Mixtral 8x7Bでは8エキスパート中2つのみの活性化で推論コストを約1/4に抑制している。
MoEスパース活性化とは、Mixture-of-Expertsモデルで全エキスパートのうちごく一部だけを各トークンの計算に用いる仕組みである。これにより「パラメータ数は多いが計算量は少ない」という効率的なモデル運用が可能になる。
従来のデンス(Dense)ニューラルネットワークでは、入力データが全てのパラメータを通過して処理される。パラメータ数が増えるほど計算量も比例して増大するため、モデルの大型化はコスト増に直結していた。MoEのスパース活性化はこの制約を打破する。
具体的には、Transformerブロック内のFFN層をN個のエキスパートに分割し、各トークンに対してルーターがTop-K(通常K=1〜8)のエキスパートを選択する。選択されなかったエキスパートの計算は完全にスキップされるため、推論時のFLOPSは「エキスパート1個あたりのFLOPS × K」に抑制される。
Mixtral 8x7Bの例では、8個のエキスパートのうちTop-2を選択する。各エキスパートは約6.4Bパラメータ(Shared Attention層を除く)で、推論時の実効計算量は約12.9Bパラメータ相当になる。つまり46.7Bの総パラメータを持ちながら推論コストは13B級デンスモデルと同等である。
| モデル | 総パラメータ | 活性化パラメータ | スパース率 | FLOPS削減比 |
|---|---|---|---|---|
| Mixtral 8x7B | 46.7B | 12.9B | 72.4% | 3.6x |
| DeepSeek-V2 | 236B | 21B | 91.1% | 11.2x |
| DeepSeek-V3 | 671B | 37B | 94.5% | 18.1x |
| Switch Transformer | 1.6T | 約100B | 93.8% | 16x |
| Qwen3-235B-A22B | 235B | 22B | 90.6% | 10.7x |
同等精度を達成するために必要な計算リソースを比較する。
Q1: スパース率が高いほどモデルの性能は良いのか? A: スパース率が高いほど推論効率は向上するが、各トークンが使えるパラメータ数が減るため精度とのトレードオフがある。実験的にはスパース率80-95%(Top-K=1〜8)がバランス良いとされている。Switch TransformerのTop-1(スパース率93.8%)は効率最大だが精度面でTop-2に劣る場面がある。
Q2: スパース活性化はファインチューニングにも適用できるのか? A: はい。MoEモデルのファインチューニングではLoRAを全エキスパートに適用する方式と、特定エキスパートのみに適用する方式がある。後者は「Expert-Specialized LoRA」と呼ばれ、計算効率が高い。Mixtral 8x7BのLoRAファインチューニングでは全エキスパートに適用する方が精度面で優位との報告がある。
Q3: スパース活性化のローカルPC運用での実用的なセットアップは?
A: Mixtral 8x7B Q4_K_Mをllama.cppで動かすのが最も一般的。RTX 4090(24GB)1枚ではVRAM不足のため、--n-gpu-layers 28(約24GB分)+ CPU オフロードの構成が実用的。完全GPU搭載にはRTX 3090×2(48GB)またはRTX 5090(32GB)+CPU構成が必要。生成速度はGPU完全搭載で約15-20 tok/s。