llama.cppの最新修正:Qwen4ExpのMTP実装、IQ4_NLのバグ修正、Linuxでのメモリ削減
目次
今回の要点
- Qwen4Exp (Qwen3.8-Flash-Next) のMTP実装とアーキテクチャ修正:推論速度の大幅な向上(最大1.67倍)が確認されている。16GB環境でもMTP draftとして使用可能。
- CUDA IQ4_NL デ量子化カーネルの修正:RTX 30/40系ユーザーにとって必須の修正。行境界を超えたアクセスによるクラッシュや誤動作を回避する。
- Linux direct-io によるメモリ削減:テンソル読み込み時のホストメモリ二重確保を回避し、VRAMアロケーション効率を改善する。
- Speculative Decodingのバッチ順序保持修正:MTPを含む推論の安定性を向上させる。
Qwen4Exp (Qwen3.8-Flash-Next) のMTP実装とアーキテクチャ修正
前提
Multi-Token Prediction (MTP) は、複数のトークンを同時に予測することで推論速度を向上させる技術です。Qwen4Exp (Qwen3.8-Flash-Next) は、125B-A6B MoE アーキテクチャを持つ大規模モデルで、GGUF形式での量子化がコミュニティによって進められています。
何が変わったか
llama.cpp に Qwen4Exp 向けの MTP 実装が追加されました。DGX Spark (GB10) 環境でのベンチマークでは、iq4_xs 量子化版において、デコード速度が最大 1.67 倍、レイテンシが最大 2.18 倍向上しました。また、アーキテクチャの修正により、短い行境界を超えてアクセスするバグが修正され、推論の安定性が向上しています。
なぜ重要か
16GB GPU (RTX 3080/4080/5060 Ti 等) を持つユーザーにとって、MTP 実装により推論速度が大幅に向上する可能性があります。また、アーキテクチャ修正により、モデルの誤動作やクラッシュを防ぐことができます。
根拠のリンク
利用者の報告
Qwen3.8-Flash-Next (Qwen4Exp) の GGUF 変換が複数コミュニティメンバーからリリースされています。jamesrogers (MXFP4+MTP)、zlaabsi (OpenTQ+MTP)、MarxistLeninist (1bit-class)、AtomicChat (self-quantized) などが該当し、いずれも 16GB+ GPU + CPU hybrid serving 向けです。
CUDA IQ4_NL デ量子化カーネルの短行ガード修正
前提
IQ4_NL 量子化は、モデルのサイズを削減しつつ精度を維持するための技術です。CUDA カーネルは、量子化されたデータを復元する際に、行境界を超えてアクセスするバグがありました。
何が変わったか
IQ4_NL デ量子化カーネルが、短い行境界を超えてアクセスするバグを修正しました。これにより、行が QK_K の倍数でない場合でも、末尾のサブブロックをスキップし、クラッシュや誤動作を防ぐことができます。
なぜ重要か
RTX 30/40 系ユーザーにとって必須の修正です。IQ4_NL 量子化モデルを実行する際に、クラッシュや誤動作が発生する可能性があります。
根拠のリンク
利用者の報告
demon851113 氏は、RTX 5070 Ti 16 GB 環境で llama.cpp + expert-cache セットアップを使用しています。IQ3_XXS 量子化モデルにおいて、QSA (Quantized Sparse Attention) パッチを適用することで、デコード速度が向上し、Recall test (8 depths) が 8/8 で成功しています。
Linux direct-io によるテンソル読み込み時の VRAM/メモリ削減
前提
Linux 環境で direct-io を使用すると、テンソル読み込み時にホストメモリを二重に確保する問題がありました。これにより、VRAM アロケーション効率が低下し、16GB 環境での安定性が損なわれる可能性があります。
何が変わったか
テンソル読み込み時のホストメモリ二重確保を回避する修正が追加されました。これにより、VRAM アロケーション効率が向上し、16GB 環境での安定性が改善されます。
なぜ重要か
16GB GPU を持つユーザーにとって、VRAM アロケーション効率が向上することで、より大きなモデルや長いコンテキストを処理できるようになります。
根拠のリンク
利用者の報告
demon851113 氏は、RTX 5070 Ti 16 GB 環境で llama.cpp + expert-cache セットアップを使用しています。IQ3_XXS 量子化モデルにおいて、QSA (Quantized Sparse Attention) パッチを適用することで、デコード速度が向上し、Recall test (8 depths) が 8/8 で成功しています。
推論時バッチ順序保持による Speculative Decoding 修正
前提
Speculative Decoding は、複数のトークンを同時に予測することで推論速度を向上させる技術です。バッチ順序が保持されない場合、推論の安定性が損なわれる可能性があります。
何が変わったか
Speculative Decoding 時に、バッチ順序が保持されるように修正されました。これにより、推論の安定性が向上し、MTP を含む推論の品質が向上します。
なぜ重要か
16GB GPU を持つユーザーにとって、推論の安定性が向上することで、より大きなモデルや長いコンテキストを処理できるようになります。
根拠のリンク
利用者の報告
demon851113 氏は、RTX 5070 Ti 16 GB 環境で llama.cpp + expert-cache セットアップを使用しています。IQ3_XXS 量子化モデルにおいて、QSA (Quantized Sparse Attention) パッチを適用することで、デコード速度が向上し、Recall test (8 depths) が 8/8 で成功しています。
Volta (sm_70) 向け MMVQ 量子化最適化
前提
MMVQ 量子化は、モデルのサイズを削減しつつ精度を維持するための技術です。Volta 世代の GPU 向けに最適化が行われています。
何が変わったか
Volta (sm_70) 向けに MMVQ パラメータテーブルが追加されました。これにより、Volta 世代の GPU 向けに量子化処理が最適化されます。
なぜ重要か
Volta 世代の GPU を持つユーザーにとって、量子化処理が最適化されることで、推論速度が向上する可能性があります。
根拠のリンク
出典
- llama.cpp #29761 Qwen4Exp: add MTP
- llama.cpp #29751 llama: fix qwen4exp
- llama.cpp #29683 cuda: guard the iq4_nl dequantize row kernel against short rows
- llama.cpp #29749 Avoid a second full-size copy of each tensor with direct-io
- llama.cpp #29019 llama : preserve original batch order for speculative decoding layer inputs
- llama.cpp #29753 CUDA: sm70(Turing)をTuring MMVQ nwarps tableにルーティング
- Strata #71: Data point from a llama.cpp + expert-cache setup (16 GB)
- HuggingFace: Qwen3.8-Flash-Next GGUF 多数のコミュニティ変換
SwitchBot公式ページ
クーポン「AF-4903」で5%引き(アフィリエイトクーポンになりますのでご協力お願いします)
割引の詳しい仕組みに関してはこちらのページを参照ください。
製品ごとの特徴・紹介動画は SwitchBot 製品ガイド にまとめています。