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

🦥Unsloth Dynamic 3.0 GGUF

Unsloth Dynamic v3.0 は、私たちのDynamic量子化の次のイテレーションであり、Dynamic v2.0に比べて大きな改善です。

本日、私たちは Qwen3.8-27B のDynamic v3.0量子化をリリースします。これは 同じサイズでトップ1%精度が10%以上向上 し、 他のすべての提供元と比べて。これは、私たちが最初に共有した 早期プレビュー 版のDynamic v3.0の更新です。新しい3.0 GGUFは、 llama.cppUnsloth Desktop.

などほとんどの推論エンジンで動作し、同じサイズを保ちながら、Dynamic v3.0全体としてより多くのモデル品質を保持し、 Divergence-300 @32 と KL Divergence.

また、皆さまのご支援に心から感謝します!わずか5日でUnsloth Qwen3.8のダウンロードが510万件を超えました!

下に、より多くのグラフ/ベンチマークと分析を示します

私たちの新しい手法は、多くの新機能と改善を組み合わせています。現在は、多様なソースからより高品質なimatrixキャリブレーションデータセットを使用しています。データセットは エージェント的コーディング、チャット、および多言語性能向けに調整されています。さらに レイヤー選択 も改善し、可能な限りモデル品質を保持するため、さらに多くの量子化技術を導入しました。

私たちは imatrixキャリブレーションデータセットで学習しませんし、 QATQADも使いません。すべては 事後学習量子化によって行われます。使用したimatrixファイルは、コミュニティがテスト、評価、利用できるよう公開しています。研究者や開発者の皆さまには、私たちのUnsloth quants/imatrixを使ってQwen3.8の派生版やファインチューニング版を作成することを推奨します。私たちの 過学習分析 もご覧ください。

  • また、私たちは UD-Q2_K_XL 以下の小さなquantsからMTPモジュールを削除し、約500MBのディスク容量を節約しました(必要なら Q4_0 のMTP別モジュールを使えます)

  • また、より小さなUD-1bit quantもいくつか作成しました。 UD-IQ1_S は6.2GB(MTPなし)で、トップ1%精度の約72%を維持しつつ、サイズは89%小さくなっています。

  • UD-Q2_K_XL は、次点よりトップ1%で約8%高い精度を示し、9.83GBで、1つの小さなJSバグを含む動作するHTMLプログラムを作成できました。以前は壊れていました。

2ビットのQwen3.8-27B GGUFで生成

🔀 Divergence-300 @32

一般的には、Kimi-K3の「Dynamic 1-bit reaches ~78.9% トップ1精度を達成しつつ 62%小さい」のようにトップ1%精度を報告しています。ただしトップ1%は1回の予測に対するargmaxなので、実際の推論を評価するのにはあまり効果的ではありません。

Terminal-Bench 2.1 + DeepSWE + Harbor + MathArena 2025-26 + 非ラテン語/長文ドキュメントのプロンプトから300件の保留例(キャリブレーションデータセットには含まれない)を用意し、BF16とすべてのquantsおよび提供元に対して32トークンのgreedy argmaxデコーディングを行いました。 過学習分析 で過学習の詳細をご覧ください。

これにより、過学習があるかどうか、また量子化出力が複数トークンにわたってBF16の軌跡と似ているかどうかを評価できます。これは、KLD top-1%を32トークン時のKLD top-1%のように拡張するため、top-1%精度よりも優れた指標です。

1ビットはエージェント用途には使用すべきではありません

で見られるように 🔀 Divergence-300 @32、32トークン予測ではUD-Q2_K_XLからUD-IQ2_Sへの急激な低下があり、精度は約25%から8〜10%未満まで落ちます。この急激な低下は、ツール呼び出しや非思考モードが崩壊することを意味します。1ビットを使う場合のいくつかの問題と対策:

  1. 過剰なループ UD-Q2_K_XL未満のquantsを使うと、多くのループが見られます。 presence_penalty = 1.5 をすべての場合で(またはそれ以上)使用してください

  2. 空の応答 1ビットquantでは、少なくとも低い推論設定で常にthinkingを有効にしてください。非推論モードでは、そもそもモデルが出力しなくなります。

  3. エージェント用途とツール呼び出し ツール呼び出しにはモデルを使わないでください。 重い量子化でも保持されるのは 一般知識だけで、モデルはツール呼び出しに失敗するか、ツールを呼び続けるか、あるいはまったく呼び出しません。

  4. 一般知識は機能します 77%のTop-1%回復率は、実際の推論ワークロードにおけるより良い指標である8%のDivergence-300 @32の代わりにはなりません。非常に短い一般知識の事実質問には使えますが、UD-Q2_K_XLを使うのが最善です。

🔀 KL Divergenceベンチマーク

私たちは全提供元に対してKLDベンチマークも実施し、Top-1%とKLD平均を報告しています。すべてのレベル、特に小さいquantサイズでは、Unsloth UD-3 quantsは同じディスク容量で最大+10%の追加トップ1%精度を達成します!

すべてのプロットでは、公平な比較のため、ディスク容量を計算する際にx軸からMTPヘッドを除外しています。

🕊️過学習していない

未見のWikitextとCodeで以前のUD-2と比較すると、KLDが大幅に改善されています。大きいものではそれほどではないため、より大きなquantsにはまだ古いUD-2を使っています。今後はそれらも実験して改善する予定です。

また、キャリブレーションには完全に異なるデータセットを使い、漏れを可能な限り取り除くことで過学習を制御しています。これらの未見データセットでKLDをテストし、さらにQAD / QATは行わず純粋なPTQのみなので、他のQAD / QATアプローチに比べて過学習の懸念は小さいです。

同様に 🔀 Divergence-300 @32 DeepSWE、Terminal Benchなどからの300プロンプトの未見データセットを使用し、過学習を評価する別のデータセットとして機能します。そして、新しいUD-3手法が過学習していないことを示しています。


Dynamic v2.0(旧)

私たちは Unsloth Dynamic v2.0量子化を導入します。これは以前のquantsに対する大幅なアップグレードです。この新しい手法は主要な量子化手法を上回り、 Aider Polyglot、5-shot MMLU、KL Divergenceで新たなベンチマークを打ち立てます。

これにより、精度をできるだけ保ちながら、 量子化LLM の実行とファインチューニングが可能になります!2.0 GGUFは、llama.cppのようなほとんどの推論エンジンで実行できます。 Unsloth Studio など

2026年4月20日更新: の新しいGGUFベンチマークをご覧ください Qwen3.6Gemma 4.

2026年2月27日更新: Qwen3.5 が公開され、いくつかのツール呼び出しチャットテンプレートの問題を修正し、すべてのGGUFをperplexityとKL Divergenceでベンチマークしました。 ベンチマークをご覧ください!

大きな利点Unslothパッケージ とquantsを使うことの鍵となる利点は、主要モデルのバグ修正に積極的に関わっていることです。私たちは Qwen3, Meta(Llama 4), Mistral(Devstral), Google(Gemma 1–3)Microsoft(Phi-3/4)のチームと直接協力し、精度を高める修正に貢献してきました。

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

# !pip install huggingface_hub hf_transfer

Unsloth以外のquantsよりもUnslothのGGUFの方が約8GB小さいにもかかわらず、より良い性能を示すのがわかります。

ベンチマークと評価の詳細な分析はさらに下にあります。

💡 Dynamic v2.0の新機能は?

  • GGUF + safetensors向けにレイヤー選択を刷新: Unsloth Dynamic 2.0は、より賢く広範囲にレイヤーを選択的に量子化するようになりました。選択された一部のレイヤーだけを変更するのではなく、可能なすべてのレイヤーの量子化タイプを動的に調整し、組み合わせはレイヤーやモデルごとに異なります。

  • 現在選択されているものと今後すべてのGGUFアップロードは、Dynamic 2.0と新しいキャリブレーションデータセットを利用します。データセットには1.5M以上の トークン (モデルによる)を含み、高品質で手作業でキュレート・クリーニングされたデータで構成されており、会話型チャット性能を大幅に向上させます。

  • 以前は、私たちのDynamic量子化(DeepSeek-R1 1.58-bit GGUF)はMoEアーキテクチャに対してのみ有効でした。 Dynamic 2.0量子化は現在すべてのモデル(MOEと非MOEを含む)で動作します.

  • モデル固有のquants: 各モデルは現在、個別に調整された量子化方式を使用します。例えば、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 quants。

今後のすべてのGGUFアップロードはUnsloth Dynamic 2.0を利用し、今後はDynamic 4-bit safetensor quantsもこれの恩恵を受けます。

📊 なぜKL Divergenceなのか?

精度だけでは不十分 は、不要なレイヤーを選ぶだけのプルーニングであっても、「フリップ」の観点では大きな差が生じることを示しています。「フリップ」とは、不正解から正解へ、またはその逆に答えが変わることを指します。論文は、レイヤーをプルーニングしたり量子化したりしてもMMLUが下がらない場合があることを示していますが、それは一部の不正解が「フリップ」して正解になった可能性があるからです。私たちの目標は元のモデルに一致させることなので、「フリップ」を測るのは良い指標です。

KL Divergence量子化誤差を報告するためのゴールドスタンダードの一つであるべきです 。これは論文「Accuracy is Not All You Need」によるものです。 パープレキシティを使うのは誤りです 出力トークンの値が相殺し合う可能性があるため、KLDや、以下のようなより難しいベンチマークを使う必要があります Aider.

また、興味深いことにKL Divergenceはフリップと非常に強い相関があることも示しており、したがって私たちの目標は、量子化のディスク容量をできるだけ増やさずに平均KL Divergenceを減らすことです。

⚖️ キャリブレーションデータセットの過学習

多くのフレームワークは、Wikipedia記事のテストセットを使ってperplexityとKL Divergenceを報告します。しかし、Wikipedia関連でもあるキャリブレーションデータセットを使うと、quantが過学習し、より低いperplexityスコアを得ることに気づきました。私たちは Calibration_v3Calibration_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%)

  • 興味深いことに、Llama 3は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はフル精度モデルと同一を意味します)、

Quant
ベースライン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比の変化の比率をプロットすると、はるかに明確な利点が見えます!私たちの動的2bit Q2_K_XLはKLDをかなり削減します(約7.5%)。

Gemma 3(27B)のMMLU結果の切り詰めた表です。下をご覧ください。

  1. 私たちの動的4bit版は、QAT版より2GB小さいうえ、精度は+1%向上しています!

  2. 効率面では、2bit Q2_K_XLなどはとても優秀なようです!

Quant
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のScoutとMaverickの両方におけるQK Normのepsilonは設定ファイルから取得されるべきです。つまり1e-06ではなく1e-05を使う必要があります。私たちはこれらの解決を llama.cpptransformers

  • で手伝いました。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 quantをダウンロードします:

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

最終更新

役に立ちましたか?