Unsloth Dynamic 3.0 GGUF リリース

Unsloth Dynamic 3.0 は同等サイズでより高い精度を実現

Unsloth Dynamic v3.0 は Dynamic v2.0 に対して大幅な進化を遂げており、同じディスク容量を維持しつつ、モデル品質をより多く保持するように設計されています。Qwen3.8-27B モデルにおいて、Dynamic 3.0 の量子化モデルは、同サイズの他のプロバイダーと比較して、トップ1%精度で10%以上優れています。これらの GGUF ファイルは、llama.cpp や Unsloth Desktop を含むほとんどの推論エンジンと互換性があります。

Dynamic 3.0 の主な技術的進歩

Dynamic 3.0 は、トレーニング後の量子化(PTQ)における複数のアプローチの変更により、性能向上を達成しています。

  • 高品質なキャリブレーションデータセット: Unsloth は、多言語対応、チャット、エージェント型コーディングに特に最適化された、多様な出典から収集された洗練された imatrix キャリブレーションデータセットを採用しています。
  • 強化されたレイヤー選択: どのレイヤーを量子化するか、そしてどのように量子化するかのプロセスが改善され、品質の保持を最大化しています。
  • 純粋な PTQ アプローチ: Unsloth は、Quantization Aware Training(QAT)や Quantization Aware Distillation(QAD)を明確に使用しておらず、imatrix キャリブレーションデータセットでの学習も行っていません。このアプローチにより、QAD/QAT メソッドと比較して過学習のリスクが低減されています。

モデル固有の最適化とサイズ削減

ディスク容量とパフォーマンスの最適化を目的として、Unsloth は Qwen3.8-27B の量子化モデルに特化した変更を実装しました。

  • MTP モジュールの削除: UD-Q2_K_XL 以下の小さな量子化モデル(8.37GB 以下)では、MTP モジュールを削除することで約 500MB のディスク容量を節約しています。MTP を必要とするユーザーは、別途 Q4_0 MTP モジュールを使用できます。
  • 極限的な圧縮: UD-IQ1_S 量子化モデルは 6.2GB(MTP を除く)であり、トップ1%精度は約 72%を維持しながら、フルモデルと比較して 89%小さくなっています。
  • 低ビット性能の向上: UD-Q2_K_XL 量子化モデル(9.83GB)は、次に優れた代替品と比較してトップ1%精度で約 8%高い性能を発揮しており、以前は失敗していた動作する HTML プログラムの生成にも成功しています。

ベンチマーク手法:Divergence-300 と KL 情報量の差

Unsloth は、標準的なトップ1%精度(1つの予測に対する argmax)だけでは、実際の推論性能を適切に評価できないと主張しています。この問題に対処するため、2つの主要な指標を導入しました。

Divergence-300 @32

この指標は、Terminal-Bench 2.1、DeepSWE、Harbor、MathArena 2025-26 などのソースから抽出された 300 例のホールドアウトデータセットを使用します。プロセスは、32トークン分のグリーディ argmax デコードを行い、量子化モデルの出力軌道を BF16(フル精度)バージョンと比較することです。これにより、複数トークンにわたって量子化モデルの出力が元のモデルと類似しているかどうかを評価でき、単一トークン精度よりも過学習の度合いをより正確に把握できます。

KL 情報量の差(KLD)

Unsloth は、KL 情報量の差を量子化誤差を報告する金標準と位置づけています。これは「フラップ」(誤答が正答に、または正答が誤答に変わってしまう)の発生を測定するためです。彼らは、ペルプレキシティが誤った指標であると主張しており、出力トークンの値が互いに打ち消し合う可能性があるためです。過学習を防ぐために、Unsloth はキャリブレーションデータセットではなく、未確認のデータセット(例:Wikitext や Code)で KLD をベンチマークしています。

Google の Gemma 3 QAT との比較

Unsloth は、Google の公式 Quantization Aware Training(QAT)バージョンの Gemma 3 と、自社の Dynamic 量子化モデルを比較しました。Gemma 3(27B)モデルにおいて、Unsloth の動的 4ビットバージョンは Google の QAT バージョンより 2GB 小さく、5ショット MMLU で +1% の追加精度を提供しました。

また、Unsloth はモデルのサイズに対する実用性を評価するための 効率指標 を導入しました:

$$ \text{効率} = \frac{\text{MMLU 5ショットスコア} - 25}{\text{ディスク容量 GB}} $$

この式では、4択 MMLU テストのランダム確率ベースラインを考慮するために、スコアから 25 を引いています。

Llama 4 のバグ修正と統合

Unsloth は、Llama 4 のパフォーマンス向上を目的として、オープンソースエコシステムにいくつかの重要な修正を貢献しました。

  • RoPE スケーリング: llama.cpp における Llama 4 Scout の RoPE スケーリング設定の変更に対応するための問題を解決しました。
  • QK Norm のエプシロン: Scout および Maverick の QK Norm のエプシロンを、llama.cpp および transformers で 1e-05 に修正しました(1e-06 ではなく)。
  • QK Norm の共有: Llama 4 チームおよび vLLM と協力し、QK Norm がすべてのヘッド間で共有されていた問題を修正。これにより、MMLU Pro の精度が 68.58% から 71.53% に向上しました。

コミュニティの知見とフィードバック

リリースに関するコミュニティの議論から、いくつかの実用的な懸念や要望が浮き彫りになりました。

  • バージョン管理: ユーザーは、異なるバージョン(例:Dynamic 2.0 と 3.0)の GGUF ファイルが同じ名前で共有されることが多く、ファイル名に明示的なバージョン番号がなければ、ローカルストレージの管理が困難であると指摘しています。
  • MTP のパフォーマンス: 一部のユーザーは、MTP(マルチトークン予測)モジュールが特定のハードウェア(例:M4 Max MacBook Pro)では推論を遅くする場合があると報告しています。
  • フォーマット要望: Apple Silicon とのより良い統合を目的として、Qwen3.8-27B 量子化モデルの MLX バージョンへの需要が非常に高いです。

"3~4日前にダウンロードしたものは別物で、今ダウンロードしている『Dynamic 3.0』GGUF とはまったく違います..." — @walrus01

Sources

関連

  • Dispatch
  • プロジェクト
  • Dispatch
  • Dispatch
  • Dispatch