【CUDA 16GB向け】16GB GPU環境向け新モデル公開とllama.cppのバグ修正:Qwen3.8、MiniCPM-V 4.7、VRAM過剰確保問題
目次
この記事はAIによって編集・作成されています。
今回の要点
- 16GB環境向け新モデルの増加:Qwen3.8 27B (Underdog-Saluki) や AesCode-8B などが公開され、単一GPUでの推論が可能に。
- llama.cppの機能拡張:MiniCPM-V 4.7 対応と Qwen4exp (Qwen3.8 Flash) 向けMTPサポートが追加。
- サーバー競合バグの修正:RAMキャッシュ競合による生成破損を修正する b11552 がリリース。
- VRAM過剰確保と埋め込み遅延の報告:複数GPU利用時のVRAM効率低下と、埋め込み処理時のボトルネック要因が特定。
- Unslothの最適化:MoEキャッシュの自動調整と、単一GPUでのGRPOトレーニングフローが改善。
16GB GPU環境向け新モデルの公開
16GB VRAMを搭載するRTX 3080/4080/5060 TiなどのGPUで、より実用的な推論が可能になる新モデルがHuggingFace上で公開されています。特に、27Bクラスのモデルが単一GPUで動作するよう量子化された点が注目されます。
ConwayResearchが公開した Underdog-Saluki 27B 1.0 は、Qwen3.8 27Bベースの量子化モデルで、サイズは約7.89GBです。このモデルは、RTX 3080/4080/5060 Tiなどの16GB GPU上で単一カードで動作可能であり、公開から2日で1.5万回以上のダウンロードを記録しています。また、Kujiraによって Underdog-Saluki 27B 1.0-MTP-GGUF というMTP (Multi-Token Prediction) 対応版も公開されており、これにより16GB GPU上で推論速度の加速が期待できます。
コードモデルでは、bartowskiが AesCode-8B GGUF を公開しています。IQ2_MからQ6_Kまでの量子化版が提供され、8Bクラスのモデルでありながらコンテキストの余裕を持たせて16GB GPUに収まるサイズ感です。さらに、Qwen3 14Bモデルの量子化比較では、Q4_K_M (9.0GB) に16Kコンテキスト分のKVキャッシュ (3.0GB) を加えた合計12.0GBが16GBカードに快適に収まり、Q6_K (12.1GB) でも最小限の余裕で動作可能であるとの分析があります。
一方、Gemma 3 27B PTのような大規模マルチモーダルモデルは24GB以上のVRAMを必要とし、16GB環境では4Bや12Bクラスのモデルの利用に限られます。Unslothが提供するGemma 3 4B ITや12B ITの量子化版は、16GB環境での利用に適しています。
- HF: ConwayResearch/Underdog-Saluki-27B-1.0
- HF: Kujira/Underdog-Saluki-27B-1.0-MTP-GGUF
- HF: bartowski/AesCode-8B-GGUF
- Qwen3 14B GGUF 量子化比較
- Gemma 3 27B PT
llama.cpp: Qwen4exp/MTP対応とMiniCPM-V 4.7サポート
llama.cppでは、Qwen3.8 Flashなどの新モデルやマルチモーダル推論のサポートが強化されました。これにより、16GB環境でのQwen3.8 Flashの利用や、マルチモーダルモデルの推論が可能になります。
ビルド b11551 (2026-10-10) では、MiniCPM-V 4.7 マルチモーダルモデルのサポートが追加されました。これにより、3D RoPE (Rotary Positional Embedding) を持つモデルの推論が可能になります。また、PR #30316 では、Qwen4exp (Qwen3.8-Flash-Next/Flash) 向けの専門的な投影幅の不一致を補正するパディングサポートと、マルチモーダルMTP (Multi-Token Prediction) が実装されました。これにより、Qwen3.8 Flashモデルの16GB対応GGUFバリアント (例: UD-IQ1_S 6.2GB, UD-Q2_K_XL 9.83GB) の利用がスムーズになります。
llama.cpp: サーバーのビジースロット競合バグ修正
llama.cppのサーバーモードにおいて、複数のリクエストが同時に処理される際に生成が破損するバグが修正されました。RAMキャッシュの競合が原因で、異なるコンテキストでの生成が行われる問題です。
ビルド b11552 (2026-10-10) では、PR #30295 によりこのバグが修正されました。従来、リクエストがビジー状態のスロットを要求した場合、プロンプトキャッシュの更新が実行された後、リクエストが待機されていました。しかし、RAMキャッシュにより良い一致がある場合、そのキャッシュがスロットに読み込まれ、他のリクエストの生成が間違ったコンテキストで続行される問題がありました。修正後は、ビジーなスロットはそのまま返され、リクエストはスロットが解放されるのを待機するようになりました。この修正は、CUDAバックエンドを含むすべてのバックエンドで、マルチリクエストサーバーモードの安定性を向上させます。
利用者の報告
ServeurpersoCom 氏は、このバグを発見し、修正PRを提出しました。また、ggerganov 氏は、この変更が元々解決しようとしていた問題 (#24746) を再発させる可能性があると指摘しています。さらに、Xeoph 氏は、RTX 3080 20GB (sm86) 環境で、長コンテキスト時のdecode速度がvLLMと比較して2.2-2.7x遅いというパフォーマンス報告を行っています。
Unsloth: StudioのMoEキャッシュ最適化とGRPOトレーニング
Unslothでは、16GB環境でのMoE (Mixture of Experts) 推論効率化と、単一GPUでのファインチューニングフローが改善されました。
Unsloth Studioでは、PR #13291 により、DiffusionGemma GGUFモデルが単一GPUに収まらない場合、複数GPUにまたがって処理できるようになりました。また、PR #12951 では、MoEエキスパートのスパイルド (spilled) 領域に対するGPUキャッシュのサイズを自動調整する --moe-cache-mib auto オプションが追加されました。これにより、16GBユーザーがMoEモデルをより効率的に推論できます。
トレーニング面では、PR #13292 により、TRLのAsyncGRPOTrainerが fast_inference=True とともに動作するようになりました。UnslothのインプロセスvLLMエンジンがトレーナーとベース重みを共有するため、単一GPUでトレーニングと生成を同時に行うことができ、第2のvLLMサーバーや重みのコピーが不要になります。
- PR #13291: DiffusionGemmaの複数GPU分割
- PR #13292: AsyncGRPOTrainerとfast_inegration
- PR #12951: MoEキャッシュの自動サイズ調整
- Unsloth 2026年10月更新
llama.cpp: 複数GPUでのVRAM過剰確保と埋め込み遅延の報告
llama.cppにおいて、複数GPU利用時のVRAM過剰確保と、埋め込み処理時のパフォーマンス低下が報告されています。16GB GPUを複数使用しているユーザーや、埋め込みモデルを利用するユーザーに影響があります。
Issue #30317 では、--split-mode tensor 使用時に、計算バッファが約N倍 (Nはデバイス数) 過剰に確保される問題が報告されました。各デバイスが実際に保持するスライスではなく、全体のテンソル形状でサイズが設定されるため、VRAMが非効率に消費されます。4× RTX 5060 TiでQwen3.8-27B Q6_Kを262144コンテキストで実行した際、メイングラフの計算バッファが1736.30から874.00に削減される修正が提案されています。
Issue #30323 では、llama_context_params.embeddings = true 設定時、GPU埋め込みが予期せず1.55倍遅くなる問題が報告されました。これは、各ubatchごとに全語彙のロジット (n_outputs * n_vocab floats) をGPUからホストにコピーしているためです。Qwen3-Embedding-0.6B (n_vocab = 151,669) で、300トークンのチャンクで約180MBのコピーが発生し、埋め込み時間の大半を占めています。
利用者の報告
mamama1 氏は、4× RTX 5060 Ti環境でQwen3.8-27B Q6_Kを262144コンテキストで実行した際、計算バッファの過剰確保を確認し、修正によりVRAM使用量が約半分になることを報告しています。davaidev 氏は、RTX 4090 Laptop (Vulkan) でQwen3-Embedding-0.6B Q8_0を使用時、埋め込み処理が1.55倍遅くなる問題を報告し、修正パッチによりパフォーマンスが改善されることを示しています。
出典
- HF: bartowski/AesCode-8B-GGUF
- HF: unsloth/Qwen-Image-2.1-Turbo-GGUF
- HF: ConwayResearch/Underdog-Saluki-27B-1.0
- HF: Kujira/Underdog-Saluki-27B-1.0-MTP-GGUF
- Qwen3 14B GGUF 量子化比較
- Gemma 3 27B PT
- llama.cpp b11551 リリース
- PR #30316: Qwen4exp/MTP対応
- PR #29416: MiniCPM-V 4.7 サポート
- llama.cpp b11552 リリース
- PR #30295: サーバーのビジースロット競合修正
- Issue #29935: Ampere (sm86) でのfattn KVストリーミング性能問題
- PR #13291: DiffusionGemmaの複数GPU分割
- PR #13292: AsyncGRPOTrainerとfast_inegration
- PR #12951: MoEキャッシュの自動サイズ調整
- Unsloth 2026年10月更新
- Unsloth October 2025 release
- Unsloth Triton kernel improvements
- Issue #30317: 複数GPUでのVRAM過剰確保
- Issue #30323: 埋め込み処理の遅延問題
- Issue #30322: GH200でのモデル読み込み遅延
SwitchBot公式ページ
クーポン「AF-4903」で5%引き(アフィリエイトクーポンになりますのでご協力お願いします)
割引の詳しい仕組みに関してはこちらのページを参照ください。