DiffusionGemma 26B A4B 在我5090上的结果
摘要
本文介绍了在RTX 5090 GPU上运行DiffusionGemma 26B A4B GGUF模型的基准测试结果及调优参数,通过优化温度设置和量化选择实现最高44%的加速。
\# DiffusionGemma 26B A4B — 调优结果 [https://huggingface.co/unsloth/diffusiongemma-26B-A4B-it-GGUF](https://huggingface.co/unsloth/diffusiongemma-26B-A4B-it-GGUF) \## 系统 \- \*\*GPU\*\*: RTX 5090 (32 GB VRAM), CUDA 13.3 \- \*\*编译\*\*: \`llama.cpp\` PR #24423, GCC-15, Ninja, ccache \- \*\*Flash Attention\*\*: 在SM120上自动禁用 — 限制了最大上下文 \- \*\*模型\*\*: \`unsloth/diffusiongemma-26B-A4B-it-GGUF\` \## 模型 | 变体 | 文件 | 大小 | |---------|------|------| | Q6\_K | \`diffusiongemma-26B-A4B-it-Q6\_K.gguf\` | 22 GB | | Q4\_K\_M | \`diffusiongemma-26B-A4B-it-Q4\_K\_M.gguf\` | 16 GB | \## 最大稳定上下文 | 量化 | 公式 | 最大上下文 | -n 限制 | VRAM 限制 | |-------|---------|---------|----------|------------| | Q6\_K | 16 blocks × 256 + 2048 | 6,144 | -n 4096 | 22 GB 模型 + \~10 GB 缓存 | | Q4\_K\_M | 32 blocks × 256 + 2048 | 10,240 | -n 8192 | 16 GB 模型 + \~14 GB 缓存 | 上下文受限于计算缓存大小 — Flash Attention 在 RTX 5090 (SM120) 上自动禁用,导致完整注意力机制的 O(n²) 内存缩放。模型本身支持高达 262k 上下文;启用 Flash Attention 后可达 64k。 \## 最佳参数 | 参数 | Q6\_K | Q4\_K\_M | |-----------|------|--------| | \`--diffusion-eb-t-max\` | 0.4 | 0.3 | | \`--diffusion-eb-t-min\` | 0.1 | 0.05 | | \`--diffusion-eb-max-steps\` | auto (48) | 20 | | \`--diffusion-eb-entropy-bound\` | 0.1 (默认) | 0.1 (默认) | | \`--diffusion-eb-confidence\` | 0.005 (默认) | 0.005 (默认) | | \`--diffusion-eb-stability\` | 1 (默认) | 1 (默认) | | \`-ub\` / \`-b\` | 从 -n 自动派生 | 从 -n 自动派生 | \### 最优调用 \*\*Q6\_K 最快:\*\* \`\`\` ./build/bin/llama-diffusion-cli \\ \-m /path/to/diffusiongemma-26B-A4B-it-Q6\_K.gguf \\ \-ngl 99 -n 2048 \\ \--diffusion-eb-t-max 0.4 --diffusion-eb-t-min 0.1 \`\`\` \*\*Q4\_K\_M 最快:\*\* \`\`\` ./build/bin/llama-diffusion-cli \\ \-m /path/to/diffusiongemma-26B-A4B-it-Q4\_K\_M.gguf \\ \-ngl 99 -n 8192 \\ \--diffusion-eb-max-steps 20 \\ \--diffusion-eb-t-max 0.3 --diffusion-eb-t-min 0.05 \`\`\` \## 速度对比 \### 多块吞吐量(长提示,2048 token 生成) | 上下文 | Q6\_K 默认 | Q6\_K 调优 | Q4\_K\_M 默认 | Q4\_K\_M 调优 | |---------|-------------|------------|----------------|--------------| | -n 2048 (ctx=4096) | 180 tok/s | \*\*213 tok/s\*\* | 174 tok/s | \*\*244 tok/s\*\* | | -n 3072 (ctx=5120) | 183 tok/s | \*\*209 tok/s\*\* | 175 tok/s | \*\*245 tok/s\*\* | | -n 8192 (ctx=10240) | — | — | 175 tok/s | \*\*252 tok/s\*\* | \### 短提示(单块,256 tokens) | 指标 | Q6\_K 默认 | Q6\_K 调优 | Q4\_K\_M 默认 | Q4\_K\_M 调优 | |--------|-------------|------------|----------------|--------------| | 吞吐量 | 523 tok/s | 523 tok/s | 456 tok/s | \*\*545 tok/s\*\* | | 每块步数 | 6 | 6 | 8 | \*\*6\*\* | \### 相比默认的加速 | 量化 | -n 2048 | -n 3072 | -n 8192 | |-------|---------|---------|---------| | Q6\_K | \*\*+18%\*\* | \*\*+14%\*\* | — | | Q4\_K\_M | \*\*+40%\*\* | \*\*+40%\*\* | \*\*+44%\*\* | \## 参数影响分析 \### 温度范围(t-max / t-min)— 最大的杠杆 较低的温度使模型探索性降低,因此画布在更少的去噪步骤中收敛。该效果在两种量化中一致。 | t-max / t-min | Q6\_K 步/块 | Q6\_K tok/s | Q4\_K\_M 步/块 | Q4\_K\_M tok/s | |---------------|----------------|------------|-------------------|--------------| | 0.8 / 0.4 (默认) | 15.8 | 180 | 18.0 | 174 | | 0.6 / 0.2 | 14.8 | 192 | 16.9 | 188 | | 0.4 / 0.1 | \*\*13.0\*\* | \*\*213\*\* | 13.2 | 221 | | 0.3 / 0.05 | 13.5 | 199 | \*\*12.6\*\* | \*\*230\*\* | | 0.2 / 0.05 | 12.0\* | 223\* | 15.0\* | 260\* | \\\* 单块或部分生成 — 质量下降,速度虚高。温度过低(< t-max 0.25)会破坏多块生成:模型变得过于确定,无法为后续块生成多样化的 token。 \### EB max-steps — 仅 Q4\_K\_M 限制每个块的最大去噪步骤有助于 Q4\_K\_M,但对 Q6\_K 无效。较小的模型收敛更快,因此将硬上限设为 20 可在不牺牲质量的情况下减少约 1.2 步/块。 | max-steps | Q4\_K\_M 步/块 | Q4\_K\_M tok/s | |-----------|-------------------|--------------| | auto (48) | 12.6 | 230 | | 24 | 12.0 | 236 | | \*\*20\*\* | \*\*11.4\*\* | \*\*244\*\* | | 18 | 12.2 | 235 | | 16 | 12.8 | 228 | \### 熵边界 — 使用默认值 | entropy-bound | Q6\_K tok/s | Q4\_K\_M tok/s | 效果 | |---------------|------------|---------------|--------| | 0.05 | 152 | 216 | 过于严格 → 更多步骤 | | \*\*0.1 (默认)\*\* | \*\*180\*\* | \*\*230\*\* | 最佳点 | | 0.15 | — | 240 | 对 Q4 略有提升 | | 0.2 | 158 | 233 | 过于嘈杂 → 更多步骤 | \### 批次大小 — 自动最优 | -ub / -b | Q6\_K tok/s | 备注 | |----------|------------|-------| | auto (4096) | \*\*213\*\* | 从 -n / ctx 派生 | | 512 | 203 | 更小 = 更少并行 | | 8192 | 213 | 更大 = 无收益 | \## 关键发现 1. \*\*Q4\_K\_M 是更好的选择\*\* — 上下文多 50%(10k 对 6k)且生成速度快 18%(最大上下文下 252 对 213 tok/s)。 2. \*\*温度至关重要\*\* — 将 t-max 从 0.8 降至 0.3,t-min 从 0.4 降至 0.05 几乎实现了全部加速。其余 EB 参数在默认值下已经调优良好。 3. \*\*更大的上下文不会减慢 Q4\_K\_M 的速度\*\* — 在更大上下文下速度实际上\*提升\*(-n 8192 时为 252 tok/s,-n 2048 时为 244 tok/s)。更大的批次给熵边界采样器提供了更好的信号。 4. \*\*Flash Attention 是 64k 的瓶颈\*\* — 一旦 llama.cpp 支持 SM120,计算缓存瓶颈将消失,DiffusionGemma 的完整 262k 上下文应该可以在单个 RTX 5090 上实现。
相似文章
Gemma 4 26B 在单块 RTX 5090 上达到 600 Tok/s
一项基准测试显示,使用 vLLM 搭配 DFlash 投机解码,在单块 RTX 5090 上将 Gemma 4 26B 的推理速度提升至约 578 tokens/s,相比基线实现了 2.56 倍的加速。
DifussionGemma 4 on 4x7900xtx
报告了在四块AMD 7900 XTX GPU上使用vllm运行DiffusionGemma 26B,生成时达到100 tps,总时间约为45-60 t/s(包括提示处理等待时间),并分享了性能指标和设置命令。
@mervenoyann: DiffusionGemma 已发布,它受计算限制,因此相比其他 Gemma-4 模型快 4 倍(H100 上 1k tok/s),在……方面也很出色
DiffusionGemma 已发布;它受计算限制,比其它 Gemma-4 模型快 4 倍(H100 上 1k tok/s),擅长编码任务,包括 3D 生成和前端开发。
昨天在我的3090上跑了gemma 4 12b,我觉得本地模型领域已经变了
一位用户报告称,通过GGUF量化在单张RTX 3090上本地运行了谷歌的Gemma 4 12B模型,发现其性能强劲,包括真实的256k上下文、多模态能力以及函数调用功能,在编码任务上甚至优于更大的70B模型。
[3090] Gemma4 QAT + MTP 快速TPS数据 [TLDR 提升1.2-1.8倍]
基准测试结果显示,在24GB RTX 3090 GPU上使用QAT和MTP,Gemma 4模型(12B和26B)的每秒token速度提升了1.2-1.8倍。