遅いローカルLLM、実行エンジンをMagnitudeに変えると2倍速い?

ノートパソコンの画面で高速に生成されるトークンの光の流れと、投機的デコーディングの原理を歯車で表したテックイラスト

ローカルLLMの答えが出る速度がもどかしいとき、たいていはもっと大きなVRAMを積んだグラフィックカードを思い浮かべる。ところが、モデルを実行するプログラムを変えるだけで速くなるという主張が出てきた。Magnitudeというオープンソースの実行エンジンだ。

開発元は、11のモデルをOllamaと比べて、回答生成の速度がMac M4 Proで平均2.19倍、NVIDIA DGX Sparkで2.17倍速かったと発表した。

ところが独立したテストでは、同じモデルが文章を写すときは2.17倍速かったのに、新しい話を作るときはむしろ遅くなることもあった。いったい何が違うのだろう?

モデルを変える代わりに、実行方法を変える

LLMを動かすときに使う実行エンジンは、Ollama、llama.cppなどが代表的だ。今回話題になっているMagnitudeも実行エンジンだ。

モデルを学習させるプログラムではなく、モデルがハードウェアでより効率よく計算できるよう助ける実行環境だ。

Magnitudeは、モデルを最初にダウンロードするとき、今のコンピューターに合う計算設定を試す。GPUがどんな大きさの作業を処理するか、計算をどう分けるか、いくつもの組み合わせを回して、速い設定を選んで保存するというやり方だ。

開発元の説明では、このチューニングに最大1分ほどかかる。これが速度を引き上げる一つの要素だ。

もしLM Studioのような実行エンジンを使ったことがあるなら、モデルを読み込むたびに、それぞれの設定値をどう合わせれば自分のコンピューターで最適になるのか、混乱することが多かっただろう。キャッシュ設定をはじめ、調整できる値がかなり多いからだ。

こういう設定をMagnitudeが自分に合わせてやってくれると考えれば、わかりやすい。

✦ 投機的デコーディングはこう回る

小さなモデルが候補を先に作って、大きなモデルが検証する

1ドラフト候補の生成
小さなモデルや専用のドラフト生成器が、次のトークンの候補をあらかじめ提案する
2大きなモデルの検証
大きなモデルが候補を確認する
3一致したトークンの受け入れ
合っているものを受け入れればその分だけ速くなる。外れれば効果は減る

速度を引き上げるもう一つの要素は「投機的デコーディング」だ。大きなモデルが次の単語を一つずつ計算する間に、小さなモデルや専用のドラフト生成器が、次に出てくるトークンの候補をあらかじめ提案する。

大きなモデルがその候補を確認して、合っているものを受け入れれば、その分だけ速くなるということだ。次に出てくるトークンの候補をうまく予想できたなら、その分だけ得が大きくなるし、外れれば効果は減る。

〈投機的デコーディングによってLLMの推論を高速化する仕組みを視覚的に解説した映像です(英語音声)。〉
* YouTubeチャンネル『IBM Technology』にあがっている動画だよ。

「2倍速くなった」は、どの段階の話か

✦ プリフィルとデコード、何が違うか

入力の文脈を処理する段階と、回答を作る段階

プリフィル
• 質問と会話の記録を読んで、入力の文脈を処理する段階
デコード
• 回答をトークン単位で生成する段階
• 一文字ずつ遅れて現れる感覚に直接影響する

LLMはユーザーの質問を受け取ると、その質問とこれまでの会話の記録を読んで、回答をトークン単位で作り始める。入力の文脈を処理する段階はプリフィル(prefill)、回答を生成する段階はデコード(decode)と呼ぶ。

回答が一文字ずつ遅れて現れる感覚に直接影響するのは、主にデコードの速度だ。

Magnitudeは、もっとも代表的な実行エンジンであるOllamaとベンチマークで比較評価をした。

ベンチマークでは、どちらのエンジンも投機的デコーディングを使ったけれど、Ollamaは各モデルに付属のドラフト生成器を使い、Magnitudeは独自のドラフト生成器を使った。

✦ Magnitudeの平均速度の比較

11のモデルの比較、Ollama比

2.19倍デコード
Mac M4 Pro 48GB
1.32倍プリフィル
Mac M4 Pro 48GB
2.17倍デコード
NVIDIA DGX Spark 128GB
1.34倍プリフィル
NVIDIA DGX Spark 128GB

Magnitudeが公開した11のモデルの比較で、Magnitudeが記録した平均の結果はこうだった。

Mac M4 Pro 48GBの環境での処理速度は、プリフィル1.32倍、デコード2.19倍。NVIDIA DGX Spark 128GBの環境での処理速度は、プリフィル1.34倍、デコード2.17倍。

つまり、2倍という数字は回答を生成するデコードの速度のことだ。長い質問を読むプリフィルの速度まで2倍になったわけではない。

✦ モデルごとに結果は違った

デコード速度、毎秒のトークン数

✔ Mac · Qwen 3.5 4B:Ollama 45.2/Magnitude 134(約2.97倍)
✔ DGX Spark · Qwen 3.5 4B:Ollama 61.1/Magnitude 296(4.84倍)
✔ DGX Spark · Nemotron 3.5:Ollama 94.9/Magnitude 72.2(約24%遅い)

個別のモデルを見ると、差はもっと大きい。Mac M4 ProでQwen 3.5 4Bは、毎秒45.2トークンから134トークンに上がり、約2.97倍になった。

NVIDIA DGX Sparkでは、同じモデルが61.1から296トークンに上がり、4.84倍を記録した。

一方、DGX SparkでNemotron 3.5は、毎秒94.9トークンから72.2トークンに落ちて、むしろMagnitudeのほうが約24%遅かった。

なぜ文章のコピーには速くて、新しい文章には遅くなるのか

公式ベンチマークの作業方式も知っておく必要がある。約6万4000トークンの長さの『白鯨』の文章を入力して、モデルに最後の部分を繰り返し書かせた。出力は256トークンに制限して、両方のエンジンで投機的デコーディングをオンにした。

これは、長い文脈を読んだあとで決まった文章をもう一度出力する速度を比べた実験で、回答の品質やコーディングの成功率を評価したものではない。

✦ 独立した再テスト、作業によって結果が逆転した

Qwen3.6 35B-A3B、OllamaとMagnitudeの比較

長い文章のコピー
Ollama 87.2/Magnitude 188.9(約2.17倍)
長い文脈のあとの新しい話
Ollama 63.4/Magnitude 50.4(約0.79倍)

こうしたコピー作業では、次に出てくる文章がすでに「入力」の中にあるから、ドラフト生成器が候補をうまく当てる可能性が高い。当然だよね?

実際に独立したテストを行ったNiklas Lenzは、NVIDIA DGX SparkでQwen3.6 35B-A3Bを実行して、似たコピーのテストをもう一度した。

Ollamaは毎秒87.2トークン、Magnitudeは188.9トークンを記録して、約2.17倍の差が出た。

ところが同じモデルで、長い文脈のあとに新しい話を書かせると、結果が逆転した。Ollamaは毎秒63.4トークン、Magnitudeは50.4トークンだった。Magnitudeの速度はOllamaの約0.79倍、つまり約21%遅かった。

〈Magnitudeの「2倍高速」という主張に対し、実際の検証でllama.cppの方が速かった経緯を解説したニュース動画です。〉
* YouTubeチャンネル『人間不要新聞』にあがっている動画だよ。

長い文脈なしに新しい話を作るテストでも、Magnitudeが少し遅かった。

✦ ドラフト候補、どれだけ当たったか

作業によってドラフト生成器の的中率が大きく分かれた

約75%コピー作業
ドラフト候補が的中
約43%新しい話を作る作業
ドラフト候補の採用率

なぜこんな差が生まれるのか。もう気づいたよね?コピーのように次のトークンをうまく予測できる作業では、ドラフト生成器の予測の正確さが上がる。逆に、新しい話を書くなら、次に来る表現がずっと多様だから、ドラフトがより頻繁に外れるしかない。

Lenzのテストで、Magnitudeのドラフト生成器が出した候補は、コピー作業で約75%が当たったけれど、新しい話では約43%にすぎなかった。

同じモデルファイルをOllamaに入れて回したテストもあって、そのときはコピー作業でMagnitudeが188.9対45.6トークンとずっと速く、新しい話では50.4対46.1トークンでほぼ同じだった。

だから、今までの結果だけで見れば、特定の作業ではMagnitudeの強みがあるのは確かに見える。けれど、私たちがローカルLLMに期待する一般的な作業で、安定して速度向上を期待するのは難しいということだ。

では、入れてみる価値はあるのか

✦ Magnitudeの始め方

インストールからエージェントとの連携まで

1Magnitudeのインストール
macOS、Windows、Linuxで使える無料のオープンソースのツール
2モデルのダウンロードとチューニング
コンピューターに合う計算設定を試して選んで保存する。最大1分ほどかかる
3エージェントとの連携
CodexやOpenCodeのようなエージェントとつなげる

Magnitudeは、macOS、Windows、Linuxで使える無料のオープンソースのツールだ。誰でもダウンロードして実行できて、CodexやOpenCodeのようなエージェントとつなぐ機能も提供している。

もしインストールしてみたいなら、下のリンクを参考にするといい。

公式サイト:https://magnitude.dev 公式リポジトリ:https://github.com/magnitudedev/magnitude

こういうツールをあまり扱ったことがなくてよくわからないなら、使っているAIエージェント(Codex、Claude Codeなど)に上のリンクを教えて、Magnitudeを自分の環境にインストールしてと頼んでみるといい。すぐにインストールしてくれるはずだ。

とにかく今回の結果を見ると、「実行エンジンを変えるだけで必ず2倍速くなる」という言葉は、いくらか誇張した表現だ。それでも、ローカルLLMを使い続ける人なら、Magnitudeを使ってみる価値は十分にある。

実のところ、今の状況では、グラフィックカードを変える以外に、ローカルLLMの速度を引き上げる方法が特にない。量子化をすれば速度を得る代わりに品質を失うし、グラフィックカードは高すぎる。ところが、無料でこういう実行環境が提供されるのだから、いいチャンスだ。

とくに、主に処理する作業が、すでに入力したプロンプトや会話の内容の繰り返しが多いなら、かなりの速度向上を得られるかもしれない。一度試してみて。えへへ♡

今回はここまでにするよ。また会おう。

関連記事

💬 コメント

まだコメントがないよ。最初のコメントを書いてみてね。

コメントを投稿