
2026/02/28 17:56
Unsloth Dynamic 2.0 GGUF(グラフィック・ゲームユニットフォーマット)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
UnslothのDynamic v2.0量子化フレームワークは、Aider Polyglot、LiveCodeBench v6、およびMMLU Proで先進的な手法を上回るGGUFモデルを提供し、さらに比較可能な完全精度または静的量子化モデルよりも約8 GB小さいという特長があります。
主要な技術的進歩はレイヤーごとの量子化スキームであり、各レイヤーのビット幅を調整し、1.5 Mトークン以上の手作業で選定されたキャリブレーションセットに依存しています。これとともに、トークナイズエラー(例: “A” と “ _A”)の修正やLlama 4におけるバグ訂正(RoPEスケーリング、QK Norm共有)の組み合わせにより、平均KL発散を低減し、精度指標(パープレキシティ上の“フリップ”)が向上します。
ベンチマークでは、DeepSeek V3.1 GGUFがAider Polyglotで75.6 %というスコアを達成し、多くの完全精度SOTA LLMを上回っています。また、Unsloth独自のGGUFは非Unsloth量子化よりも高いスコアを示しつつ、小さなフットプリントを維持しています。
このフレームワークは、Gemma 3やLlama 4などのモデル固有の量子化(Q4_NL、Q5.1、Q5.0、Q4.1、およびQ4.0)をApple Silicon/ARM向けに最適化しています。Gemma 3 QATバージョンは、5ショットMMLUでほぼ完全精度の正確さ(67.07 %対67.15 %)を達成します。
ユーザーは、llama.cppやLM Studioなどの推論エンジンでこれらのコンパクトなGGUFを微調整または実行でき、性能を犠牲にすることなくストレージコストを削減し、大規模言語モデルのエッジデプロイメントを可能にします。具体的には、llama.cppのクローン作成と、新しいUnsloth Dynamic v2.0量子化Llama 4 Scoutモデルを特定のコマンドラインオプションで実行するための実践的なガイドが提供されています。
この改訂された要約は、すべての主要ポイントを完全に反映し、無理な推測を避け、読者にとって明確かつ詳細な概要を提示しています。
本文
基礎知識 – Unsloth Dynamic 2.0 GGUFs
Dynamic Quants の大幅アップグレードです!
私たちは、従来の量子化手法を大きく上回る Unsloth‑arrow‑up‑right Dynamic v2.0 量子化 を導入できることを嬉しく思います。この方法は先進的な量子化技術よりも優れた性能を発揮し、以下の指標で新たなベンチマークを設定します。
- Aider Polglot
- 5‑shot MMLU
- KL Divergence
重要ポイント:
量子化された LLM を実行・微調整しつつ、可能な限り精度を維持できるようになりました。2.0 GGUF は llama.cpp、LM Studio などほとんどの推論エンジンで動作します。
最近の更新 – 2025年9月10日
- より厳格なベンチマーク要請に応じて → Aider Polyglot の結果 を公開。
- Dynamic 3‑bit DeepSeek V3.1 GGUF が 75.6 % を記録し、多くのフルプレシジョン SOTA LLM を上回る。
- 実際のユースケースベンチマーク(LiveCodeBench v6、MMLU Pro 等)では、Unsloth の GGUF が非 Unsloth 量子化よりも約8 GB小さく、かつ性能が優れていることを示す。
Dynamic v2.0 の新機能
1. GGUF + Safetensors 用のレイヤー選択を刷新
- Dynamic レイヤーレベル量子化:可能な全てのレイヤーを調整し、モデルごとに異なる組み合わせを採用。
- 現在および将来の GGUF アップロードは Dynamic 2.0 と、新たに作成された高品質で手作業によってキュレーションされた >1.5M トークンのキャリブレーションデータセットを使用して、会話性能を向上させます。
2. モデル固有の量子化
- 各モデルに専用の量子化スキーム(例:Gemma 3 vs. Llama 4)。
- Apple Silicon と ARM 用の効率的なフォーマットを追加:Q4_NL、Q5.1、Q5.0、Q4.1、Q4.0。
3. 精度指標
- “Flips” は誤答から正答(またはその逆)への変化数を測定。
- KL Divergence が量子化エラーのゴールドスタンダードであり、フリップと強く相関します。
- 目標は平均 KL D を最小限に抑えつつ、ディスク容量も低く保つことです。
キャリブレーションデータセット & 過学習
- 多くのフレームワークが Wikipedia テストセットを使ってパープレキシティ/KL D を評価するため、キャリブレーションデータが同じ Wikipedia 由来の場合は過学習が発生します。
- 私たちは Calibration_v3 と Calibration_v5(ウィキテキスト+他のデータを混合)を使用して公正な評価を行います。
- インストラクションモデルでは、テキストのみのキャリブレーションは効果が薄く、標準 Wikipedia データセットで Dynamic 2.0 とベースライン imatrix 量子化を比較します。
MMLU 再現作業
- 5‑shot MMLU の再現は「A」 vs. 「_A」のトークナイズなど微妙な実装問題が原因で困難でした。
- 独自に MMLU 実装をゼロから開発し、モデル間で検証しました。
- Llama 3.1 (8B) Instruct:単純実装では 67.8% の精度、正しいトークン処理で 68.2% を達成。
Gemma 3 QAT 再現 & ベンチマーク
| モデル | 5‑shot MMLU |
|---|---|
| Gemma 3 12B (Q4_0 QAT) | 67.07 % |
| Gemma 3 12B (bfloat16) | 67.15 % |
効率指標:
[
\text{Efficiency} = \frac{\text{MMLU 5‑shot スコア} - 25}{\text{ディスク容量(GB)}}
]
- 25 を差し引くのは、4 選択肢でのランダム推測ベースラインを考慮しています。
KL Divergence の改善
| Quant | ディスクサイズ (GB) | MMLU % | KL D |
|---|---|---|---|
| Q2_K_XL (Dynamic 2bit) | 約2 GB 小さい | QAT と比べ +1% | ↓7.5 % |
Llama 4 のバグ修正 & 実行手順
修正点
- Llama 4 Scout における RoPE スケーリング設定の問題を解決。
- ヘッド間で共有されていた QK Norm をヘッド固有に修正。
- MMLU Pro の精度が 68.58 % → 71.53 % に向上。
Llama 4 Scout の実行方法
# 必要なパッケージをインストール apt-get update apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y # llama.cpp をクローンしてビルド git clone https://github.com/ggml-org/llama.cpp cmake llama.cpp -B llama.cpp/build \ -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-gguf-split # Dynamic v2.0 量子化モデルをダウンロード pip install huggingface_hub hf_transfer python - <<'PY' import os os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "1" from huggingface_hub import snapshot_download snapshot_download( repo_id="unsloth/Llama-4-Scout-17B-16E-Instruct-GGUF", local_dir="unsloth/Llama-4-Scout-17B-16E-Instruct-GGUF", allow_patterns=["*IQ2_XXS*"], ) PY # 推論を実行 ./llama.cpp/llama-cli \ --model unsloth/Llama-4-Scout-17B-16E-Instruct-GGUF/Llama-4-Scout-17B-16E-Instruct-UD-IQ2_XXS.gguf \ --threads 32 \ --ctx-size 16384 \ --n-gpu-layers 99 \ -o ".ffn_.*_exps.=CPU" \ --seed 3407 \ --prio 3 \ --temp 0.6 \ --min-p 0.01 \ --top-p 0.9 \ -no-cnv \ --prompt "<|header_start|>user<|header_end|>\n\nCreate a Flappy Bird game.<|eot|><|header_start|>assistant<|header_end|>\n\n"
最終更新: 6 分前
主なセクション:
- なぜ KL Divergence が重要か
- キャリブレーションデータセットの過学習
- MMLU 再現作業
- Gemma 3 QAT ベンチマーク
- Llama 4 バグ修正 & 実行手順
リポジトリ内で全ベンチマークとコード例をぜひご確認ください。