🦥Unsloth Dynamic 2.0 GGUFs
Dynamic Quants の大きな新アップグレード!
ご紹介できることを嬉しく思います Unsloth Dynamic v2.0 量子化 - 以前の量子化方式に対する大幅なアップグレードです。この新しい手法は主要な量子化手法を上回り、次の分野で新たなベンチマークを打ち立てます: Aider Polyglot、5-shot MMLU、および KL Divergence。
これは、今や + ファインチューニング を実行できることを意味します 量子化された LLM 精度を可能な限り維持しながらです! 2.0 GGUF は llama.cpp、 Unsloth Studio などのほとんどの推論エンジンで実行できます。
2026年4月20日 更新: 次の新しい GGUF ベンチマークをご覧ください: Qwen3.6 および Gemma 4.
2026年2月27日 更新: Qwen3.5 が公開され、ツール呼び出し用チャットテンプレートのいくつかの問題を修正し、すべての GGUF について perplexity と KL Divergence のベンチマークを実施しました。 ベンチマークを見る!
その 主な利点 を使用することの Unsloth パッケージ および量子化版を使う利点は、主要モデルのバグ修正に私たちが積極的に関わっていることです。私たちは次のチームと直接協力してきました: Qwen3, Meta (Llama 4), Mistral (Devstral), Google (Gemma 1–3) および Microsoft (Phi-3/4)、精度を向上させる修正に貢献しました。


Unsloth Dynamic GGUF は現在、次で実行できます Unsloth Studio ✨

2025年9月10日 更新: もっと厳しいベンチマークを求める声にお応えして、Aider Polyglot の結果をお見せします! 私たちの Dynamic 3-bit DeepSeek V3.1 GGUF は 75.6%を記録し、多くのフル精度 SOTA LLM を上回りました。 続きを読む。


Benjamin Marie によって実施された、LiveCodeBench v6、MMLU Pro などの実世界ユースケースのベンチマークもご覧いただけます:


Unsloth の GGUF が、約 8GB 小さいにもかかわらず、非 Unsloth 量子化版よりも優れた性能を示していることが分かります。
ベンチマークと評価の詳細な分析はさらに下をご覧ください。
💡 Dynamic v2.0 の新機能は?
GGUF + safetensors のレイヤー選択を刷新: Unsloth Dynamic 2.0 は現在、はるかに賢く、広範囲にわたってレイヤーを選択的に量子化します。特定のレイヤーだけを変更するのではなく、可能なすべてのレイヤーの量子化タイプを動的に調整し、その組み合わせは各レイヤーおよび各モデルごとに異なります。
現在選択されているものと今後のすべての GGUF アップロードでは、Dynamic 2.0 と新しいキャリブレーションデータセットを使用します。このデータセットには 150万超の トークン (モデルによって異なります)が含まれており、高品質で手作業により厳選・クリーニングされたデータで構成され、会話チャット性能を大きく向上させます。
以前の Dynamic 量子化(DeepSeek-R1 1.58-bit GGUF)は、MoE アーキテクチャに対してのみ有効でした。 Dynamic 2.0 量子化は現在、すべてのモデルで動作します(MoE および非 MoE を含む).
モデル固有の量子化: 各モデルは現在、カスタム調整された量子化スキームを使用します。たとえば、Gemma 3 で量子化されるレイヤーは Llama 4 のものと大きく異なります。
特に Apple Silicon と ARM デバイスで効率を最大化するため、現在は Q4_NL、Q5.1、Q5.0、Q4.1、および Q4.0 形式も追加しています。
正確なベンチマークを確保するため、Llama 4 と Gemma 3 の公式報告 5-shot MMLU スコアに一致する社内評価フレームワークを構築しました。これにより、フル精度版と Dynamic v2.0、 QAT および標準の imatrix GGUF 量子化版との厳密な比較が可能になりました。


今後のすべての GGUF アップロードで Unsloth Dynamic 2.0 が使用され、将来的には Dynamic 4-bit safe tensor 量子化版もこの恩恵を受けます。
📊 なぜ KL Divergence なのか?
精度だけでは十分ではない は、不要なレイヤーを選んで削減した場合であっても、レイヤーの剪定が「flip」の観点で非常に大きな違いを生むことを示しています。「flip」とは、回答が不正解から正解へ、またはその逆に変わることと定義されます。この論文は、レイヤーを剪定したり量子化を行っても MMLU が低下しない場合があることを示していますが、それは一部の不正解が「flip」して正解になっている可能性があるためです。私たちの目標は元のモデルに一致させることなので、「flip」を測定するのは良い指標です。


KL Divergence は 量子化誤差を報告するためのゴールドスタンダードの1つであるべきです 研究論文「Accuracy is Not All You Need」によれば。 perplexity を使うのは正しくありません 出力トークン値が相殺される可能性があるためで、そのため KLD または次のようなより厳しいベンチマークを使う必要があります Aider.
この論文はまた、興味深いことに KL Divergence が flips と高い相関を持つことも示しており、そのため私たちの目標は、量子化のディスク容量をできるだけ増やさずに平均 KL Divergence を減らすことです。
⚖️ キャリブレーションデータセットの過学習
ほとんどのフレームワークは、Wikipedia 記事のテストセットを用いて perplexity と KL Divergence を報告します。しかし、同じく Wikipedia 関連のキャリブレーションデータセットを使うと、量子化版が過学習し、より低い perplexity スコアを達成することに私たちは気付きました。私たちは Calibration_v3 および Calibration_v5 データセットを公平なテストのために使用しており、これには他のデータとともに一部の wikitext データが含まれています。 また、instruct モデルには固有のチャットテンプレートがあり、テキストのみのキャリブレーションデータセットは instruct モデルには効果的ではありません (base モデルには有効です)。実際、ほとんどの imatrix GGUF は通常これらの問題を抱えたままキャリブレーションされています。その結果、モデルが本質的にそのドメイン向けに最適化されているため、Wikipedia データも使用する KL Divergence ベンチマークでは自然とより良い性能を示します。
公平で制御された評価を確保するため、KL Divergence のベンチマークでは、自社のキャリブレーションデータセット(チャット性能向けに最適化されたもの)は使用していません。その代わり、同じ標準的な Wikipedia データセットを使ってテストを実施し、私たちの Dynamic 2.0 手法とベースラインの imatrix 手法の性能を直接比較できるようにしました。
🔢 MMLU 再現の冒険
MMLU 5 shot の再現は悪夢のようでした。私たちは できませんでした 微妙な実装上の問題のため、Llama 3.1 (8B) Instruct、Gemma 3 (12B) など多くのモデルで MMLU の結果を再現 微妙な実装上の問題。たとえば Llama 3.1 (8B) は本来約 68.2% を出すべきですが、誤った実装を使うと 35% の精度。

Llama 3.1 (8B) Instruct は、素朴な MMLU 実装では MMLU 5 shot 精度が 67.8% です。しかし私たちは、Llama が 「A」と「_A」(前にスペースのある A)を異なるトークン ID としてトークナイズすることを見出しました。スペースあり・なしの両方のトークンを考慮すると、68.2% になります (+0.4%)
興味深いことに、Eleuther AI の LLM Harness はまた 「The best answer is」 を質問に付加しており、Llama 3 の元の MMLU ベンチマークに従っています。
他にも多くの微妙な問題があるため、すべてを制御された環境でベンチマークするために、私たちは github.com/hendrycks/test を直接調査して、独自の MMLU 実装をゼロから設計し、複数のモデルで結果を検証し、報告値とも比較しました。
✨ Gemma 3 QAT の再現、ベンチマーク
Gemma チームは Gemma 3 の 2 つの QAT(量子化認識学習)版を公開しました:
Q4_0 GGUF - すべてのレイヤーを次の式により Q4_0 に量子化します
w = q * block_scale各ブロックは 32 個の重みを持ちます。詳細は llama.cpp wiki をご覧ください。int4 バージョン - おそらく TorchAO int4 スタイル?
私たちはすべての Q4_0 GGUF バージョンをベンチマークし、12B モデルで広範な実験を行いました。その結果、 12B Q4_0 QAT モデルは 67.07% を記録しました 一方で、完全な bfloat16 の 12B 版は 5 shot MMLU で 67.15% を記録します。これは非常に印象的です! 27B モデルもほぼそこまで来ています!
MMLU 5 shot
26.12%
55.13%
67.07% (67.15% BF16)
70.64% (71.5% BF16)
ディスク容量
0.93GB
2.94GB
7.52GB
16.05GB
効率*
1.20
10.26
5.59
2.84
私たちは新しい 効率指標 を設計しました。これは、モデルの有用性を計算しつつ、そのディスクサイズと MMLU 5 shot スコアも考慮に入れます:
私たちは 25 を引かなければなりません なぜなら MMLU には A、B、C、D の 4 つの選択肢があるからです。単純にランダムに答えを選ぶモデルを作れば、25% の精度を得て、ディスク容量は数バイトになるでしょう。しかし、明らかにそれは有用なモデルではありません。
ベースモデルに対する KL Divergence については、以下の表が改善を示しています。念のため言うと、KL Divergence は 0 に近いほど良いです(つまり 0 はフル精度モデルと同一であることを意味します)
IQ1_S
1.035688
5.83
0.972932
6.06
IQ1_M
0.832252
6.33
0.800049
6.51
IQ2_XXS
0.535764
7.16
0.521039
7.31
IQ2_M
0.26554
8.84
0.258192
8.96
Q2_K_XL
0.229671
9.78
0.220937
9.95
Q3_K_XL
0.087845
12.51
0.080617
12.76
Q4_K_XL
0.024916
15.41
0.023701
15.64
ディスク容量の増加率と KL Divergence 比の変化をプロットすると、はるかに明確な利点が見えてきます! 私たちの dynamic 2bit Q2_K_XL は KLD をかなり低減します(約 7.5%)。
Gemma 3 (27B) の MMLU 結果の表は省略版です。下をご覧ください。
私たちの dynamic 4bit 版は、QAT 版より 2GB 小さく、しかも精度が +1% 高いです!
効率の観点では、2bit Q2_K_XL などが非常に良好に見えます!
IQ1_M
48.10
47.23
6.51
3.42
IQ2_XXS
59.20
56.57
7.31
4.32
IQ2_M
66.47
64.47
8.96
4.40
Q2_K_XL
68.70
67.77
9.95
4.30
Q3_K_XL
70.87
69.50
12.76
3.49
Q4_K_XL
71.47
71.07
15.64
2.94
Google QAT
70.64
17.2
2.65
ここをクリック から、Google の Gemma 3 (27B) QAT ベンチマーク完全版をご覧ください:
IQ1_S
41.87
43.37
6.06
3.03
IQ1_M
48.10
47.23
6.51
3.42
IQ2_XXS
59.20
56.57
7.31
4.32
IQ2_M
66.47
64.47
8.96
4.40
Q2_K
68.50
67.60
9.78
4.35
Q2_K_XL
68.70
67.77
9.95
4.30
IQ3_XXS
68.27
67.07
10.07
4.18
Q3_K_M
70.70
69.77
12.51
3.58
Q3_K_XL
70.87
69.50
12.76
3.49
Q4_K_M
71.23
71.00
15.41
2.98
Q4_K_XL
71.47
71.07
15.64
2.94
Q5_K_M
71.77
71.23
17.95
2.58
Q6_K
71.87
71.60
20.64
2.26
Q8_0
71.60
71.53
26.74
1.74
Google QAT
70.64
17.2
2.65
🦙 Llama 4 のバグ修正 + 実行
私たちは Llama 4 のいくつかのバグの修正にも協力しました:
Llama 4 Scout は公式リポジトリで RoPE Scaling の設定を変更しました。私たちは llama.cpp でこの変更を有効にするための問題解決に協力しました こちらの変更

Llama 4 の QK Norm の epsilon は、Scout と Maverick の両方で設定ファイルから取得されるべきです。つまり 1e-06 ではなく 1e-05 を使うべきです。私たちはこれらの問題の解決に協力しました: llama.cpp および transformers
Llama 4 チームと vLLM も、すべてのヘッドで QK Norm が共有されている問題(そうあるべきではありません)を独立して修正しました こちら。MMLU Pro は 68.58% から 71.53% の精度へ向上しました。
Wolfram Ravenwolf は、llama.cpp 経由の私たちの GGUF がサードパーティの推論プロバイダーよりもはるかに高い精度を達成することを示しました。これはおそらく、上で説明した問題の組み合わせと、量子化の問題によるものです。

グラフに示したように、私たちの 4-bit Dynamic QAT 量子化は、より小さいサイズでありながら、5-shot MMLU でより良い性能を発揮します。
Llama 4 Scout の実行:
たとえば Llama 4 Scout を実行するには、まず llama.cpp をクローンします:
次に、Scout 用の新しい dynamic v 2.0 量子化版をダウンロードします:
では、推論を実行しましょう!
Llama 4 の実行についての詳細はこちら: https://docs.unsloth.ai/basics/tutorial-how-to-run-and-fine-tune-llama-4
最終更新
役に立ちましたか?

