Unsloth Dynamic 3.0 GGUFs

Hacker News Top 工具

摘要

Unsloth已发布适用于Qwen3.8模型的Dynamic v3.0 GGUFs,通过改进的量化技术和校准方法,在相同尺寸下提供超过10%的准确率提升。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/19 22:09

# Unsloth Dynamic 3.0 GGUFs | Unsloth 文档 来源:https://unsloth.ai/docs/basics/dynamic-3.0-ggufs 完整文档索引请参阅 llms.txt(https://unsloth.ai/docs/llms.txt)。本页亦提供 Markdown 格式(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs.md)。 1. 基础知识(https://unsloth.ai/docs/basics) ## 🦥 Unsloth Dynamic 3.0 GGUFs **Unsloth**(https://github.com/unslothai/unsloth)**Dynamic v3.0** 是我们 Dynamic 量化方案的下一次迭代,相比 Dynamic v2.0 有重大改进。 今日,我们发布 **Qwen3.8-27B**(https://unsloth.ai/docs/models/qwen3.8)Dynamic v3.0 量化版本,在相同模型大小下,相较于**所有其他提供商**实现了**超过10%的 top-1% 准确率提升**。这是我们此前分享的 Dynamic v3.0 **早期预览版**的更新。新的 3.0 GGUFs 兼容大多数推理引擎,包括 **llama.cpp** 和 **Unsloth Desktop**(https://unsloth.ai/docs/desktop)。 Dynamic v3.0 总体上在保持相同大小的同时保留了更多模型质量,在 **Divergence-300**@32 和 **KL 散度**等指标上表现更优。 同时,衷心感谢所有用户的支持!短短 5 天内,Unsloth Qwen3.8 下载量超过 510 万次! 更多图表、基准测试和分析请见下文。 我们的新方法包含众多新特性与改进。我们使用了来自多样化来源、质量更高的 imatrix 校准数据集。该数据集针对**代理编码、对话**和多语言性能进行了优化。我们还改进了**层选择**,并引入了更多量化技术,以尽可能保留模型质量。 我们**未在 imatrix 校准数据集上进行训练**,且未使用**QAT**(量化感知训练)或**QAD**。所有工作均通过**训练后量化**完成。我们使用的 imatrix 文件可供社区测试、评估和使用。我们鼓励研究人员和开发者使用我们的 Unsloth 量化/imatrix 创建 Qwen3.8 的变体和微调版本。您也可以阅读我们的过拟合分析(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#not-overfitting)。 - 我们还从 `UD-Q2_K_XL`(8.37GB 及更小)的较小量化版本中移除了 MTP 模块,以节省约 500MB 磁盘空间——如需 MTP,可使用 `Q4_0` MTP 独立模块。 - 我们还制作了一些较小的 UD-1bit 量化版本,其中 `UD-IQ1_S` 为 6.2GB(不含 MTP),在体积缩小 89% 的同时,保留了约 72% 的 top-1% 准确率。 - `UD-Q2_K_XL` 的 top-1% 准确率比次优版本高出约 +8%,大小为 9.83GB,并成功生成了一个仅有 1 个小 JS 错误的可用 HTML 程序——此前该程序会崩溃。 ### 🔀 Divergence-300 @32(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#divergence-300-32) 我们通常报告 top-1% 准确率,例如对于 Kimi-K3,“Dynamic 1-bit 达到约 **~78.9%** 的 top-1 准确率,同时体积**缩小 62%**”。但 top-1% 是单个预测的 argmax 结果,对于评估实际推理能力效果有限。 我们构建了一个包含 300 个保留样本的数据集(未包含在校准数据集中),样本来自 Terminal-Bench 2.1、DeepSWE、Harbor、MathArena 2025-26 以及非拉丁文/长文档提示。我们对 BF16 和所有量化版本及提供商进行了 32 个 token 的贪心 argmax 解码。有关过拟合的更多细节,请参见过拟合分析(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#not-overfitting)。 这使我们能够评估是否存在过拟合,以及量化输出在多 token 序列上是否与 BF16 的轨迹相似。这是一个比 top-1% 准确率更好的指标,因为我们将 KLD top-1% 扩展为类似 KLD top-1% at 32 tokens 的评估。 ### 🔀 KL 散度基准测试(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#kl-divergence-benchmarks) 我们还对所有提供商运行了 KLD 基准测试,并报告了 Top-1% 和 KLD 均值。在所有层级,尤其是较小的量化尺寸上,Unsloth UD-3 量化在相同磁盘空间下获得了高达 +10% 的额外 top-1% 准确率! 所有图表在计算磁盘空间时均移除了 MTP 头,以提供公平比较。 ### 🕊️ 无过拟合(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#not-overfitting) 与我们旧版 UD-2 在未见过的 Wikitext 和 Code 数据上的对比显示,KLD 有显著改进——较大型量化版本改进不大,因此对于较大的量化,我们仍使用旧版 UD-2——我们计划对其进行实验和改进! 我们还通过使用完全不同的校准数据集并尽可能消除所有数据泄露来控制过拟合。我们在这些未见过的数据集上测试 KLD,并且我们不使用 QAD / QAT,仅进行纯 PTQ(训练后量化),因此与其他 QAD / QAT 方法相比,过拟合问题较小。 类似地,🔀 Divergence-300 @32(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#divergence-300-32)使用来自 DeepSWE、Terminal Bench 等的 300 个提示的未见数据集,作为另一个衡量过拟合的数据集——结果显示我们新的 UD-3 方法未出现过拟合。 --- ## Dynamic v2.0(旧版)(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#dynamic-v2.0-old) 我们推出 Unsloth(https://github.com/unslothai/unsloth)Dynamic v2.0 量化——这是对之前量化方案的重大升级。这种新方法超越了主流量化方法,并在 Aider Polyglot(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs/unsloth-dynamic-ggufs-on-aider-polyglot)、5-shot MMLU 和 KL 散度方面树立了新基准。 这意味着您现在可以运行+微调量化 LLM(https://unsloth.ai/docs/models/tutorials),同时尽可能保持准确性!您可以在大多数推理引擎上运行 2.0 GGUFs,例如 llama.cpp、Unsloth Studio(https://unsloth.ai/docs/new/studio)等。 2025年9月10日更新:(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs/unsloth-dynamic-ggufs-on-aider-polyglot)您要求更严格的基准测试,以下是 Aider Polyglot 结果!我们的 Dynamic 3-bit DeepSeek V3.1 GGUF 得分 **75.6%**,超越了许多全精度 SOTA LLM。阅读更多。(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs/unsloth-dynamic-ggufs-on-aider-polyglot) DeepSeek-V3.2 Thinking Aider 基准测试 Llama 4 5-shot MMLU 基准测试 您还可以查看由 Benjamin Marie 进行的 LiveCodeBench v6、MMLU Pro 等现实用例基准测试: 您可以看到 Unsloth 的 GGUFs 比非 Unsloth 量化版本表现更好,尽管体积小约 8GB。 关于我们的基准测试和评估的详细分析见下文。 ### 💡 Dynamic v2.0 有何新特性?(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#whats-new-in-dynamic-v2.0) - **针对 GGUFs + safetensors 的改进层选择:** Unsloth Dynamic 2.0 现在以更智能、更全面的方式选择性地量化各层。我们不再仅修改选定层,而是动态调整每个可能层的量化类型,且每个层和模型的组合都会有所不同。 - 当前选定和所有未来上传的 GGUFs 将使用 Dynamic 2.0 和我们新的校准数据集。该数据集包含超过 150 万 **tokens**(取决于模型),由高质量、手工筛选和清洗的数据组成——极大提升了对话聊天性能。 - 此前,我们的 Dynamic 量化(DeepSeek-R1 1.58-bit GGUF)仅对 MoE 架构有效。**Dynamic 2.0 量化现适用于所有模型(包括 MOEs 和非 MoEs)**。 - **模型专属量化:** 每个模型现在使用定制化的量化方案。例如,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 量化之间的直接比较。 所有未来上传的 GGUFs 将使用 Unsloth Dynamic 2.0,我们未来的 Dynamic 4-bit safe tensor 量化也将从中受益。 ## 📊 为何选择 KL 散度?(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#why-kl-divergence) Accuracy is Not All You Need(https://arxiv.org/pdf/2407.09141)展示了即使选择不必要的层进行剪枝,也会在“翻转”方面产生巨大差异。“翻转”定义为答案从错误变为正确或反之亦然。该论文显示,MMLU 分数可能不会随着我们剪枝层或进行量化而下降,但那是因为一些错误答案可能“翻转”成了正确答案。我们的目标是匹配原始模型,因此测量“翻转”是一个很好的指标。 **KL 散度**应成为**报告量化误差的黄金标准之一**,如研究论文“Accuracy is Not All You Need”所述。**使用困惑度是不正确的**,因为输出 token 值可能相互抵消,因此我们必须使用 KLD 或更严格的基准测试,如 Aider(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs/unsloth-dynamic-ggufs-on-aider-polyglot)。 该论文还有趣地显示,KL 散度与“翻转”高度相关,因此我们的目标是降低平均 KL 散度,同时尽可能减少量化文件大小的增加。 ## ⚖️ 校准数据集过拟合(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#calibration-dataset-overfitting) 大多数框架使用 Wikipedia 文章的测试集报告困惑度和 KL 散度。然而,我们注意到使用同样与 Wikipedia 相关的校准数据集会导致量化模型过拟合,并获得更低的困惑度分数。我们使用 Calibration_v3(https://gist.github.com/bartowski1182/eb213dccb3571f863da82e99418f81e8)和 Calibration_v5(https://gist.github.com/tristandruyen/9e207a95c7d75ddf37525d353e00659c/)数据集进行公平测试,其中包含一些 wikitext 数据及其他数据。**此外,指令模型有独特的聊天模板,仅使用文本校准数据集对指令模型效果不佳**(基础模型则可以)。事实上,大多数 imatrix GGUFs 通常都存在这些问题。因此,它们在同样使用 Wikipedia 数据的 KL 散度基准测试中自然表现更好,因为模型本质上已针对该领域进行了优化。 为确保公平和受控的评估,我们在基准测试 KL 散度时未使用我们自己的校准数据集(该数据集针对聊天性能进行了优化)。相反,我们使用相同的标准 Wikipedia 数据集进行了测试,使我们能够直接比较 Dynamic 2.0 方法与基线 imatrix 方法的性能。 ## 🔢 MMLU 复现冒险(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#mmlu-replication-adventure) - 复现 MMLU 5-shot 堪称噩梦。由于**微妙的实现问题**,我们**无法**为许多模型(包括 Llama 3.1 (8B) Instruct、Gemma 3 (12B) 等)复现 MMLU 结果。例如,Llama 3.1 (8B) 应得约 68.2%,但使用不正确的实现仅获得 **35% 的准确率**。 MMLU 实现问题 - 使用朴素 MMLU 实现,Llama 3.1 (8B) Instruct 的 MMLU 5-shot 准确率为 67.8%。但我们发现 Llama 将“A”和“_A”(A 前带空格)标记为不同的 token id。如果同时考虑带空格和不带空格的 token,我们得到 68.2%(+0.4%)。 - 有趣的是,Llama 3 的 Eleuther AI LLM Harness(https://github.com/EleutherAI/lm-evaluation-harness/blob/main/lm_eval/tasks/llama3/instruct/mmlu/_continuation_template_yaml)也根据 Llama 3 原始 MMLU 基准测试,在问题后添加了**“最佳答案是”**。 - 还有许多其他微妙问题,因此为了在受控环境中对所有内容进行基准测试,我们通过直接研究 github.com/hendrycks/test(https://github.com/hendrycks/test)从头设计了自己的 MMLU 实现,并在多个模型上验证了我们的结果并与报告数据进行对比。 ## ✨ Gemma 3 QAT 复现、基准测试(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#gemma-3-qat-replication-benchmarks) Gemma 团队发布了 Gemma 3 的两个 QAT(量化感知训练)版本: 1. Q4_0 GGUF - 使用公式 `w = q * block_scale` 将所有层量化为 Q4_0,每个块包含 32 个权重。更多详情请参见 llama.cpp wiki(https://github.com/ggml-org/llama.cpp/wiki/Tensor-Encoding-Schemes)。 我们对所有 Q4_0 GGUF 版本进行了基准测试,并在 12B 模型上进行了大量实验。我们看到 **12B Q4_0 QAT 模型在 5-shot MMLU 上获得 67.07%**,而完整的 bfloat16 12B 版本获得 67.15%。这非常令人印象深刻!27B 模型也基本接近! 我们设计了一个新的**效率指标**,在考虑磁盘大小和 MMLU 5-shot 分数的同时计算模型的实用性: 效率 = (MMLU 5 shot score - 25) / 磁盘空间 (GB) 我们必须**减去 25**,因为 MMLU 有 4 个多项选择 - A、B、C 或 D。假设我们创建一个仅随机选择答案的模型——它将获得 25% 的准确率,并且磁盘空间只有几字节。但显然这不是一个有用的模型。 在与基础模型的 KL 散度对比方面,下表展示了改进情况。提醒:KL 散度越接近 0 越好(即 0 表示与全精度模型完全相同) 如果我们绘制磁盘空间增加与 KL 散度比率变化的比例,可以更清楚地看到优势!我们的动态 2bit Q2_K_XL 显著降低了 KLD(约 7.5%)。 Gemma 3 (27B) MMLU 结果截断表。见下文。 1. **我们的动态 4bit 版本比 QAT 版本小 2GB,准确率高出 +1%!** 2. 在效率方面,2bit Q2_K_XL 及其他版本表现非常出色! 点击此处查看完整的 Google Gemma 3 (27B) QAT 基准测试:https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#click-here-for-full-googles-gemma-3-27b-qat-benchmarks ## 🦙 Llama 4 错误修复 + 运行(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#llama-4-bug-fixes--run) 我们还协助修复了几个 Llama 4 错误: - Llama 4 Scout 在其官方仓库中更改了 RoPE 缩放配置。我们帮助解决了 llama.cpp 中的问题以启用此更改(https://github.com/ggml-org/llama.cpp/pull/12889)。 - Llama 4 Scout 和 Maverick 的 QK Norm epsilon 应来自配置文件——这意味着使用 1e-05 而不是 1e-06。我们帮助在 llama.cpp(https://github.com/ggml-org/llama.cpp/pull/12889)和 transformers(https://github.com/huggingface/transformers/pull/37418)中解决了这些问题。 - Llama 4 团队和 vLLM 也独立修复了 QK Norm 在所有头之间共享的问题(不应如此)(https://github.com/vllm-project/vllm/pull/16311)。MMLU Pro 准确率从 68.58% 提高到 71.53%。 - Wolfram Ravenwolf(https://x.com/WolframRvnwlf/status/1909735579564331016)展示了通过 llama.cpp 我们的 GGUFs 比第三方推理提供商获得高得多的准确率——这很可能是上述问题的组合,也可能由于量化问题。 如图所示,我们的 4-bit Dynamic QAT 量化在 5-shot MMLU 上提供了更好的性能,同时体积更小。 ### 运行 Llama 4 Scout:(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#running-llama-4-scout) 要运行 Llama 4 Scout,首先克隆 llama.cpp: 然后下载我们新的 dynamic v2.0 Scout 量化: 现在开始推理! 最后更新于 3 分钟前 - 🔀 Divergence-300 @32(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#divergence-300-32) - 🔀 KL 散度基准测试(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#kl-divergence-benchmarks) - 🕊️ 无过拟合(https://unsloth.ai/docs/basics/dynamic-3.0-ggufs#not-overfitting) - Dynamic v2.0(旧版)(https://unsloth.ai/docs/basics/dyn

相似文章

unsloth/Qwen3.6-27B-GGUF

Hugging Face Models Trending

Unsloth 发布了 Qwen3.6-27B 模型的 GGUF 量化版本,具备更强的智能体编程能力、工具调用功能,并支持 Unsloth Studio。

unsloth/Qwen3.6-27B-MTP-GGUF

Hugging Face Models Trending

Unsloth 发布了 Qwen3.6-27B 模型的 GGUF 权重,该模型支持多令牌预测(MTP),可实现更快的生成速度并增强了智能体(Agentic)编码能力。

Unsloth MiniMax M3 GGUF

Reddit r/LocalLLaMA

Unsloth 正在将 MiniMax M3 模型的 GGUF 量化版本上传到 Hugging Face。