世界を動かす技術を、日本語で。

アンスロス ダイナミック 3.0 GGUFs

2026年8月20日原文(unsloth.ai)

概要

Unsloth Dynamic v3.0は、Dynamic量子化の最新バージョンであり、v2.0から大幅な精度向上を実現。 Qwen3.8-27B Dynamic v3.0は、同サイズの他社モデルより10%以上高いTop-1%精度を達成。 新手法は高品質な校正データセットと多様な量子化技術を採用し、モデル品質を維持しつつサイズを抑制。 KL DivergenceやDivergence-300 @32など、より実用的なベンチマークで優位性を検証。 コミュニティ向けに校正データや量子化ファイルを公開し、研究・開発を促進。

Unsloth Dynamic v3.0の概要と特徴

  • Dynamic v3.0 は、従来バージョン(v2.0)からの大幅な進化
  • Qwen3.8-27B Dynamic v3.0 は、同サイズ他社モデル比で 10%以上Top-1%精度向上
  • GGUF形式で llama.cppUnsloth Desktop など幅広い推論エンジンに対応
  • Divergence-300 @32KL Divergence など、多様な指標で高い品質を証明
  • 校正データセット は多言語・エージェント的コーディング・チャット性能に特化し厳選
  • 層選択の最適化と多彩な量子化技術の導入によるモデル品質の維持
  • PTQ(事後学習量子化) のみを使用し、 QAT/QADは非採用 で過学習リスク低減
  • 校正用imatrixファイルをコミュニティ向けに公開、独自のファインチューニング推奨
  • MTPモジュール の削除で小型モデルのディスク容量を約500MB節約
  • UD-1bit quants (例:UD-IQ1_S)は6.2GBでMTPなし、精度72%を維持しつつ89%小型化
  • UD-Q2_K_XL は次点比+8%精度、9.83GBで小規模プログラムの動作も検証済み

ベンチマーク・評価指標

  • Divergence-300 @32 は、BF16と量子化モデルの出力軌跡の類似性を評価
    • Terminal-Bench 2.1、DeepSWE、Harbor、MathArena 2025-26、非ラテン語長文プロンプトなど300件でテスト
    • 過学習の有無や、複数トークンでの出力の一貫性を測定
  • KL Divergence は、量子化誤差のゴールドスタンダードとして採用
    • Top-1%精度とKLD平均値を各サイズで比較
    • 小型量子化モデルでも 最大+10%精度向上 を達成
  • 過学習対策 として、校正データと評価データを完全分離
    • Wikipedia関連以外のデータも活用し、漏洩リスクを排除
    • QAT/QADを使わずPTQのみで過学習を最小限に抑制

Dynamic v2.0との比較・進化

  • Dynamic v2.0 は、従来の量子化手法を凌駕する精度と柔軟性を実現
  • レイヤー毎の動的量子化方式 を導入し、モデルごとに最適なスキームを適用
  • Apple SiliconやARM 向けにQ4_NL、Q5.1など多様なフォーマットも追加
  • 1.5Mトークン以上の高品質校正データ を用い、チャット性能を大幅強化
  • MoE/非MoE両対応 の汎用性
  • MMLU 5-shot やAider Polyglotなど、厳しいベンチマークでも高評価

KL Divergenceと精度評価の重要性

  • 「Accuracy is Not All You Need」論文 を根拠に、KL Divergenceを量子化誤差の主要指標と位置付け
  • パープレキシティだけでなく、 「flip」(誤答→正答・逆も含む)の発生抑制 を重視
  • モデルの本来の挙動を維持するため、 KLDの平均値低減ディスクサイズの効率化 を両立

校正データセットと過学習

  • 校正データセットと評価データの分離で 過学習リスクを最小化
  • Wikipedia系データのみでの評価は過学習を招くため、多様なデータで公平な比較を実施
  • チャットモデルは独自テンプレートを持つため、テキストのみの校正は不十分
  • Calibration_v3/v5 など多様なデータセットで厳密な評価

MMLUベンチマーク再現性の確保

  • MMLU 5-shot の再現にはトークナイズや設問テンプレートの違いなど細かな実装差が影響
  • Llama 3.1 (8B) Instructの例では、トークンIDの違いで0.4%精度差が発生
  • 独自のMMLU評価フレームワーク を構築し、公式値との整合性を確保

Gemma 3 QATとの比較・効率指標

  • Gemma 3 QATモデル (Q4_0 GGUF等)との比較で、Unsloth量子化は同等以上の精度・小型化を実現
  • Efficiency = (MMLU 5-shot - 25) / Disk Space (GB) でモデル効率を定量評価
  • 2bit Q2_K_XLなどはKLDを7.5%削減しつつ高効率を達成
  • Unsloth 4bit量子化はQAT版より2GB小さく、+1%精度向上

まとめ・今後の展望

  • Dynamic v3.0 は、精度・効率・過学習対策で業界最高水準
  • 校正データや量子化ファイルの公開で、コミュニティ主導の発展を推進
  • 今後は大型モデル向けの手法改良や、さらなる効率化を予定
  • Unsloth Dynamicシリーズ は、多様な用途・環境に最適な量子化LLMの新基準

Hackerたちの意見

ねえ、Unsloth、君のggufはモデルをダウンロードしたいときに最初に探すやつなんだ。今日は、どれくらい小さいQwen3.8-27Bを動かせるか試してみたんだけど、16GBのRAMに制限してみたんだ。で、Qwen3.8-27B-UD-IQ2_XXS.ggufを選んだら、いきなりMTPエラーが出た…君の発表を読んで、なぜそうなったのか分かったよ。スペースを節約するだけじゃなくて、MTPを削除することで、恩恵を受けられるグループに対して速度が改善されるのはどうしてなんだろう。

それでも使えるんじゃない? > 「UD-Q2_K_XL(8.37GB以下)の小さい量子からMTPモジュールも削除したので、約500MBのディスクスペースを節約できます。必要ならQ4_0のMTP別モジュールを使ってください。」

あんなに低い量子化モデルを使う理由は、非常に限られたメモリ予算に収めるためなんだ。最初に犠牲にするのはスピードで、その次がコンテキストと精度(どの順番はお好みで)。IQ2_XXS以下は、絶望的な状況か、概念実証の領域だね。MTPドラフター用に半ギガの余裕があるなら、もっと大きい量子化モデルを使った方がいいよ。そうすれば、無茶苦茶にならないし、スピードはどうでもいいけど、少なくともゴミにはならないから。Q4くらいになったら、スピードアップのためにメモリを増やす贅沢を考えてもいいかな。密なモデルではね。MTPはMoEで使うともっと意味がある(でも統計的にはちょっと劣る)よ。3.8-35B-A3Bを待ってる。

8GiB以上のサイズに対してMTPを削除したわけじゃないけど、8GiB以下の小さいGGUFにはMTPモジュール(IQ2_XXS以下)を削除したよ。これは500MiBから750MiBのサイズで、小さい8GiBのマシンでは500MiBでも必要だからね。コメントで誰かが言ってたけど、役に立つなら別のQ4_0 MTPを作ったから、それを使ってみて。だけど、16GBのマシンには10.9GBのUD-IQ3_XXSかQ2_K_XLを使うことをおすすめするよ。

Q2量子化って、要するに有能なモデルにロボトミーを施すようなもんだよね。Q8のqwen 3.8 27Bがどれだけ賢いか、能力があるかを正確に表現できないと思う。

ちょっと話がずれるかもしれないけど、Appleデバイスでそんな量子化を行うことってできるのかな?Mac Studio Ultra M1みたいなやつで(たとえ何週間もかかっても)。

Unslothは公開していないプロパティデータセットを使っているけど、実際には自分のマシンでローカルに量子化を作成することができて、結構簡単だよ。llama.cppには必要なものが全部揃ってる。

量子化は通常、すごく安くて速いよ。モデルに合わないハードウェアでも、重みをレイヤーごとに処理することでできるんだ。俺はこのプロジェクトを使ってるよ:https://github.com/vllm-project/llm-compressor

単に量子化するだけなら数秒から数分でできるし、llama.cppはいいツールを提供してるよ[0]。質を向上させるには、特定のテンソルを高精度で維持するために選んで、代表的なデータでチェックして、繰り返すことが大事だね。[0]: https://github.com/ggml-org/llama.cpp/blob/master/tools/quan...

「UD-IQ1_Sを使った6.2GBの小さいUD-1bit量子も作ったんですが、MTPなしで約72%のトップ1%精度を維持しつつ、89%も小さくなっています。」これ、すごいね!でも、誰か実際のプロジェクトでこの低い量子を試した人いる?

1ビットじゃないけど、Unslothの以前の2ビット量子を使って軽いコーディングをしたら、結構いい結果が出てるよ。この新しい量子で3ビットに上げられるかもしれないけど、すでにすごく遅い(最初の32kのコンテキストで平均15トークン/秒)から、速度の低下が追加のスマートさを無駄にするかもしれない。

1ビット、2ビット、ボンサイ量子化を閉じた評価セットで試してみたけど、俺のケースではほとんど役に立たなかった。ちょっとしたエラーが積もり積もって、すぐに全体の出力がズレちゃうんだよね。もし出力シーケンスがすごく小さい使い方があれば、試してみる価値はあるかも。大体のケースでは、9Bクラスのモデルに下げた方がいい結果が出ると思う。

Hacker Newsで議論の続きを見る