r/LocalLLaMA、ik_llama.cppでQwen 3.5のprompt ingestionが26倍高速と報告

この community benchmark は generation より prompt ingestion を重視していた

March 22, 2026 UTC、r/LocalLLaMA には Lenovo ThinkStation P520、Xeon W-2295、128GB DDR4 ECC、NVIDIA RTX PRO 4000 Blackwell 24GB を使った実測値が投稿された。設定は Qwen 3.5 27B Q4_K_M、context 131,072 tokens、KV cache q8_0/q4_0、用途は agentic coding だ。結果は非常に目立つ。mainline llama.cpp b8457 から ik_llama.cpp b4370 に切り替えると、prompt evaluation は約 43 tok/sec から 1,122 tok/sec に、generation は約 7.5 tok/sec から 26 tok/sec へ伸びた。

投稿の主張は、model weights が変わったのではなく runtime が変わったという点にある。投稿者によれば、mainline llama.cpp は Qwen 3.5 の hybrid Gated Delta Network と Mamba-style SSM path を 34 個の graph node に分割して処理しており、CPU の関与が大きかった。これに対して ik_llama.cpp fork は fused GDN CUDA kernel を使い、graph splits を 34 から 2 まで削減した。その結果、CPU はほぼ idle になり、prompt processing が実質的に GPU 側へ移ったという。

なぜ local agent workflow に重要なのか

この discussion が useful なのは、coding assistant や agentic tool では raw decode speed より prompt ingestion が隠れた bottleneck になりやすいからだ。long-context の local workflow では codebase、plan、tool trace を何度も読み直す。そのため、短い prompt の生成 benchmark よりも prompt 処理速度の方が実用感に直結する。投稿者も 131K context の local agent work が painfully slow ではなく practical になったと述べており、これは運用寄りの評価軸だ。

ただし caveat もある。Qwen 3.5 の recurrent architecture は prompt が変わるたびに全文を再処理する挙動をまだ抱えているようで、これは llama.cpp issue #20225 として追跡されている。follow-up comment では、46K tokens 付近でも prompt ingestion は 950 tok/sec 以上を維持した一方、generation は 10K tokens 付近の 26 tok/sec から 46K tokens 付近では約 20 tok/sec まで下がったと説明されている。つまりこの fork は大きな bottleneck を 1 つ減らすが、long-session re-ingestion の architectural cost 自体を消したわけではない。

実務的な takeaway

Qwen 3.5 を local で動かしている人にとって、r/LocalLLaMA のメッセージはかなり明快だ。mainline llama.cpp だけで model を評価すると、実際には model より runtime を benchmark している可能性がある。thread は Thireus fork の prebuilt Windows CUDA 12.8 binary を案内しており、同じ command-line argument と同じ OpenAI-compatible API surface を持つ drop-in replacement と説明している。

出典: r/LocalLLaMA discussion. Related release: Thireus/ik_llama.cpp.