For the complete documentation index, see llms.txt. This page is also available as Markdown.

🦥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)、精度を向上させる修正に貢献しました。

Gemma 4 26B A4B ベンチマーク(低いほど良い)
Qwen3.6 ベンチマーク(低いほど良い)

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% の精度。

MMLU 実装上の問題
  • 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(量子化認識学習)版を公開しました:

  1. Q4_0 GGUF - すべてのレイヤーを次の式により Q4_0 に量子化します w = q * block_scale 各ブロックは 32 個の重みを持ちます。詳細は llama.cpp wiki をご覧ください。

  2. int4 バージョン - おそらく TorchAO int4 スタイル?

私たちはすべての Q4_0 GGUF バージョンをベンチマークし、12B モデルで広範な実験を行いました。その結果、 12B Q4_0 QAT モデルは 67.07% を記録しました 一方で、完全な bfloat16 の 12B 版は 5 shot MMLU で 67.15% を記録します。これは非常に印象的です! 27B モデルもほぼそこまで来ています!

指標
1B
4B
12B
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 スコアも考慮に入れます:

Efficiency=MMLU 5 shot score25Disk Space GB\text{Efficiency} = \frac{\text{MMLU 5 shot score} - 25}{\text{Disk Space GB}}

ベースモデルに対する KL Divergence については、以下の表が改善を示しています。念のため言うと、KL Divergence は 0 に近いほど良いです(つまり 0 はフル精度モデルと同一であることを意味します)

量子化
ベースライン KLD
GB
新しい KLD
GB

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 結果の表は省略版です。下をご覧ください。

  1. 私たちの dynamic 4bit 版は、QAT 版より 2GB 小さく、しかも精度が +1% 高いです!

  2. 効率の観点では、2bit Q2_K_XL などが非常に良好に見えます!

量子化
Unsloth
Unsloth + QAT
ディスクサイズ
効率

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 ベンチマーク完全版をご覧ください:
モデル
Unsloth
Unsloth + 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 量子化版をダウンロードします:

では、推論を実行しましょう!

最終更新

役に立ちましたか?