更多QAT内容以及毛茸茸的tick
摘要
作者发布了Gemma 4模型(12B和31B)改进后的GGUF量化版本,采用了更精确的量化感知训练过程,相比原版量化实现了更低的KLD和更高的同top百分比。
长话短说;终于到了一个可以发布一些采用更精确过程的gguf文件的阶段。在以下仓库中:
https://huggingface.co/idkwhattoputherenow/gemma-4-12B-it-qat-q4_0-maxerr
https://huggingface.co/idkwhattoputherenow/gemma-4-31B-it-qat-q4_0-maxerr
这是对我最初帖子的跟进:
https://www.reddit.com/r/LocalLLaMA/comments/1u0marm/quick_note_on_the_qat_of_recent/
我仍然不知道Google用哪个软件包做的QAT,或者也许是我太跟不上节奏/太迷糊了没找到,但他们可能做的是Q4_0的某个版本,用BF16缩放因子而不是F16,所以我的补丁从两个典型的q4种子开始(用于确定对称/非对称),然后进行完整的到f16的往返,并计算误差。它取较低的maxerr,并在其周围搜索,直到开始变差。实际上,这比使用imatrix并对误差加权效果更好,但我还在测试那条路。至少在这些设置下,它最终得到了与unsloth(UD-Q4_K_XL-super-mega-heccin-proprietary.gguf)相似的KLD,这正是目标。如果有人(与unsloth无关)想接手pytorch部分并完成它,以便提交PR,请告诉我,你可以获得源代码,无需任何限制或署名。也许有人比我更聪明,能够让它进入可用状态,而不需要单独的一个fork和spoon。有点好奇kimi是否做同样的事情,还是它是静态的。在heretic上效果出奇地好,但说实话,如果你只是用--pure标志对q4_0进行常规量化,就能达到90%的效果,Google本来就应该在他们的gguf发布中这样做。我是从f32做的,因为当差异变得很小时,bf16数学不够精确。这个过程适用于所有g4qat模型,但在较大的模型上差距会变大,假设它们累积了误差。我认为大多数人使用31B,所以我就上传这个,尽管E4B是我的偏好,因为它在旧4GB显卡上用vulkan运行得很好。如果llmfan46读到这个,如果你愿意,可以随意把量化版本放到你的仓库里,我会把下掉我的,或者告诉我我疯了。xd
31B Mean KLD Same Top% RMS Δp% 95% KLD
---- -------- --------- ------- -------
heretic maxerr Q4_0 vs heretic F32 0.032453 93.954% 3.603% 0.110820
heretic stock Q4_0 (HF) vs heretic F32 0.100584 87.443% 5.985% 0.358515
heretic F32 vs original F32 0.073323 90.768% 5.449% 0.303116
heretic maxerr Q4_0 vs original F32 0.075877 90.649% 5.484% 0.312716
heretic stock Q4_0 (HF) vs original F32 0.133828 85.606% 7.095% 0.508320
original maxerr Q4_0 vs original F32 0.014023 96.610% 2.472% 0.032672
unsloth Q4_K_XL vs original F32 0.013952 96.649% 2.493% 0.034219
google Q4_0 vs original F32 0.093905 88.010% 5.783% 0.325671
12B Mean KLD Same Top% RMS Δp% 95% KLD
---- -------- --------- ------- -------
heretic maxerr Q4_0 vs heretic F32 0.146459 86.884% 7.438% 0.508752
heretic stock Q4_0 (HF) vs heretic F32 0.378834 77.502% 11.690% 1.420622
heretic F32 vs original F32 0.175292 82.815% 8.586% 0.612369
heretic maxerr Q4_0 vs original F32 0.235670 81.166% 9.652% 0.833584
heretic stock Q4_0 (HF) vs original F32 0.457296 74.188% 13.034% 1.704541
original maxerr Q4_0 vs original F32 0.129771 88.703% 7.047% 0.469628
unsloth Q4_K_XL vs original F32 0.136016 88.485% 7.162% 0.503085
google Q4_0 vs original F32 0.510035 73.775% 13.624% 1.944944
相似文章
google/gemma-4-12B-it-qat-q4_0-gguf
Google DeepMind 发布了 Gemma 4 模型,这些模型通过量化感知训练(QAT)进行了优化,并提供包括 GGUF 在内的多种格式,在降低内存需求的同时实现了高质量。
Unsloth Gemma 4 QAT MTP 辅助模型现已可用
Unsloth 发布了 Gemma 4 QAT MTP 辅助模型,以 GGUF 文件形式在 Hugging Face 上提供,支持 q8_0 及更大量化格式。
Gemma 4 四重发布:12B、12B QAT、26B-A4B QAT 和 31B QAT 无审查异端版
llmfan46 在 Hugging Face 上发布了一组四重未经审查、微调并量化的 Gemma-4 模型,包括 12B、26B-A4B 和 31B 变体,提供 QAT 和 GGUF 格式。
Gemma 4 QAT 31B 对 KV 缓存量化的响应也更好
Gemma 4 QAT 31B 模型在 KV 缓存量化时表现出更好的行为,表明推理效率得到提升。
Google的QATs Q4_0比Unsloth的Q4_K_XL具有更高的精度(至少部分如此)
技术对比显示,Google的Q4_0量化Gemma-4模型比Unsloth的Q4_K_XL版本具有更高的精度和更多的高精度张量,从而导致文件体积更大。