🦥Unsloth Dynamic 2.0 GGUF

当社の Dynamic クオンタイズに対する大きな新しいアップグレード!

ご紹介できることを嬉しく思います Unsloth(アンスロース)arrow-up-right 動的 v2.0 量子化 — 以前の量子化手法からの大幅なアップグレードです。この新しい手法は主要な量子化方法を上回り、次の項目で新たなベンチマークを打ち立てます Aider Polglot、5ショット MMLU および KL ダイバージェンス。

これは、今や次の処理を実行およびファインチューニングできることを意味します 量子化された LLM 可能な限り精度を維持したまま!2.0 GGUF は llama.cpp、LM Studio などのほとんどの推論エンジンで動作します。

2026年2月27日 更新: Qwen3.5 が公開され、一部のツール呼び出しチャットテンプレートの問題を修正し、すべての GGUF をパープレキシティと KL ダイバージェンスでベンチマークしました。 ベンチマークを見る!

その 主な利点 〜を使用することの Unsloth パッケージarrow-up-right と量子化の利点は、主要なモデルのバグ修正に積極的に関わっている点です。私たちは以下のチームと直接協力してきました: Qwen3arrow-up-right, Meta(Llama 4)arrow-up-right, Mistral(Devstral)arrow-up-right, Google(Gemma 1–3)arrow-up-right および Microsoft(Phi-3/4)arrow-up-rightに対して精度を向上させる修正を提供しました。

circle-check

また、Benjamin Marie が LiveCodeBench v6、MMLU Pro などで実施した実世界ユースケースのベンチマークも参照できます:

Unsloth の GGUF が、非 Unsloth の量子化モデルよりも約8GB小さいにもかかわらず優れた性能を示す様子が確認できます。

以下にベンチマークと評価の詳細な解析があります。

💡 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ショット MMLU スコアと一致させました。これによりフルプレシジョンと Dynamic v2.0、 QAT および標準の imatrix GGUF 量子化との同一条件比較が可能になりました。

将来のすべての GGUF アップロードは Unsloth Dynamic 2.0 を利用し、将来的には当社の Dynamic 4-bit safe tensor 量子化もこれによって恩恵を受けます。

📊 なぜ KL ダイバージェンスか?

Accuracy is Not All You Need(精度だけがすべてではない)arrow-up-right は、不要なレイヤーを選んで剪定しても「フリップ(flip)」の点で大きな差が生じることを示しています。"フリップ"とは、回答が誤りから正解へ、あるいはその逆に変わることを指します。この論文は、レイヤーを剪定したり量子化しても MMLU が低下しない場合があることを示していますが、それは一部の誤った回答が正答に"フリップ"している可能性があるためです。我々の目標は元のモデルに一致させることであり、"フリップ"を測定することは良い指標となります。

circle-info

KL ダイバージェンスは 〜であるべきだ 量子化誤差の報告におけるゴールドスタンダードの一つ と論文 "Accuracy is Not All You Need" によって示されています。 パープレキシティを使うのは誤りです 出力トークンの値が相殺される可能性があるため、KLD や Aider のようなより厳しいベンチマークを使用する必要があります。 Aider.

論文はまた興味深いことに、KL ダイバージェンスはフリップと高い相関があることを示しており、したがって我々の目標は平均 KL ダイバージェンスを減らしつつ、量子化によるディスク使用量の増加をできるだけ小さくすることです。

⚖️ キャリブレーションデータセットの過学習(オーバーフィッティング)

ほとんどのフレームワークはウィキペディア記事のテストセットを使ってパープレキシティや KL ダイバージェンスを報告します。しかし、ウィキペディア関連のキャリブレーションデータセットを使用すると量子化が過学習し、パープレキシティが低くなってしまうことに気付きました。私たちは公正なテストのために Calibration_v3arrow-up-right および Calibration_v5arrow-up-right といったデータセットを使用しており、これには一部の wikitext データなどが含まれます。 また、instruct モデルには固有のチャットテンプレートがあり、テキストのみのキャリブレーションデータセットは instruct モデルには効果的ではありません (ベースモデルには有効です)。実際、多くの imatrix GGUF は通常これらの問題でキャリブレーションされています。その結果、モデルが本質的にそのドメイン向けに最適化されるため、ウィキペディアデータを用いる KL ダイバージェンスベンチマークで自然に良好な結果を示します。

公平で制御された評価を保証するために、我々は KL ダイバージェンスのベンチマーク時にチャットパフォーマンス向けに最適化された自社のキャリブレーションデータセットを使用しません。代わりに同じ標準のウィキペディアデータセットを使用してテストを行い、当社の Dynamic 2.0 手法とベースラインの imatrix アプローチを直接比較しました。

🔢 MMLU 複製の冒険

  • MMLU の 5ショットを複製するのは悪夢のようでした。私たちは 複製できませんでした Llama 3.1 (8B) Instruct、Gemma 3 (12B) など多くのモデルの MMLU 結果は、 微妙な実装上の問題により再現できませんでした。例えば Llama 3.1 (8B) は約 68.2% を得るはずですが、誤った実装を使用すると 35% の精度になってしまうことがあります。

MMLU 実装の問題点
  • Llama 3.1 (8B) Instruct は単純な MMLU 実装で 5ショット精度 67.8% を示します。しかし我々は Llama が "A" と "_A"(前にスペースが付いた A)を異なるトークンIDとしてトークナイズすることを確認しました。スペースありとなしの両方のトークンを考慮すると 68.2% が得られます。 (+0.4%)

  • 興味深いことに、Eleuther AI の LLM Harness によれば Llama 3 はarrow-up-right 質問に対して "The best answer is"(最良の答えは) を追加しており、これは Llama 3 の元の MMLU ベンチマークに従ったものです。

  • 他にも多くの微妙な問題があり、すべてを制御された環境でベンチマークするために、我々は独自の MMLU 実装を一から設計し、 github.com/hendrycks/testarrow-up-right を直接調査し、複数モデルで結果を検証して報告値と比較しました。

Gemma 3 QAT の複製とベンチマーク

Gemma チームは Gemma 3 の QAT(量子化対応学習)バージョンを2つ公開しました:

  1. Q4_0 GGUF - 各ブロックに 32 個の重みを用いて次の式で全レイヤーを Q4_0 に量子化します w = q * block_scale 各ブロックが 32 個の重みを持つ方式です。詳細は llama.cpp ウィキ arrow-up-rightを参照してください。

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

当社はすべての Q4_0 GGUF バージョンをベンチマークし、12B モデルで広範な実験を行いました。我々は 12B Q4_0 QAT モデルが 67.07% を獲得するのを確認しました 一方でフル bfloat16 の 12B バージョンは 5ショット MMLU で 67.15% を得ました。これは非常に印象的です!27B モデルもほぼ到達しています。

指標
1B
4B
12B
27B

MMLU 5ショット

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ショットスコアを考慮して計算します:

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

ベースモデルに対する KL ダイバージェンスについて、以下は改善を示す表です。KL ダイバージェンスが 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 ダイバージェンス変化率の比をプロットすると、より明確な利点が見えます!我々のダイナミック 2bit Q2_K_XL は KLD をかなり削減します(約 7.5%程度)。

Gemma 3(27B)の MMLU 結果の省略された表。下を参照してください。

  1. 当社のダイナミック 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

chevron-rightここをクリック で Google の Gemma 3(27B)QAT ベンチマークの全て:hashtag
モデル
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 スケーリング設定を変更しました。我々はこれを有効にするために llama.cpp の問題解決を支援しました ここでの変更arrow-up-right

  • Llama 4 の QK ノルムのイプシロンは Scout と Maverick の両方で設定ファイルから取得されるべきで、これは 1e-05 を使い 1e-06 ではないことを意味します。我々はこれらを llama.cpparrow-up-right および transformersarrow-up-right

  • で修正する手助けをしました。 ここarrow-up-right。MMLU Pro は 68.58% から 71.53% に向上しました。

  • Wolfram Ravenwolfarrow-up-right は、我々の GGUF を llama.cpp 経由で使用するとサードパーティの推論提供者よりもはるかに高い精度が得られることを示しました — これは上記で説明した問題の組み合わせ、また量子化の問題が原因である可能性が高いです。

我々のグラフが示すように、4-bit Dynamic QAT 量子化は 5ショット MMLU でより良い性能を発揮し、かつサイズも小さくなります。

Llama 4 Scout の実行:

例えば Llama 4 Scout を実行するには、まず llama.cpp をクローンします:

次に Scout 用の当社の新しい Dynamic v2.0 量子化モデルをダウンロードします:

さあ推論を実行しましょう!

circle-check

最終更新

役に立ちましたか?