DiffusionGemma:开发者指南 - Google Developers Blog

Reddit r/LocalLLaMA 模型

摘要

DiffusionGemma 是 Google DeepMind 推出的全新实验模型,可在 256 令牌画布上实现并行生成,在 GPU 上令牌生成速度提升高达 4 倍。本开发者指南阐述了其架构、双向上下文,并提供了用于解决数独的微调配方。

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

缓存时间: 2026/06/10 17:48

# DiffusionGemma:开发者指南 来源:https://developers.googleblog.com/en/diffusiongemma-the-developer-guide/ Ian Ballantyne (https://developers.googleblog.com/en/search/?author=Ian+Ballantyne) 高级开发者关系工程师 Google DeepMind 继我们在发布博文 (https://blog.google/innovation-and-ai/technology/developers-tools/diffusion-gemma-faster-text-generation/) 中宣布后,我们在此分享这份开发者指南,帮助您理解、部署和定制这一实验性模型。 基于 Gemma 4 主干构建,**DiffusionGemma** 为开发者工作流引入了几个里程碑: 1. **计算密集型并行生成**:通过将瓶颈转移到计算上,绕过内存带宽限制,在 GPU 上实现高达 4 倍的 token 生成速度(在 NVIDIA GeForce RTX 5090 上每秒超过 700 个 token,在单个 NVIDIA H100 上每秒超过 1000 个 token)。 2. **双向上下文与自我修正**:在生成过程中使用双向注意力同时评估整个文本块,实现实时错误修正和并行上下文传播。 3. **开发者友好的尺寸**:设计为 26B 混合专家(MoE)模型,推理时仅激活 3.8B 参数,允许在 18 GB VRAM 限制内进行量化部署。 ## 架构 对于在 GPU 上使用传统 LLM 的开发者来说,主要瓶颈是内存带宽。自回归语言模型必须反复从内存加载模型权重才能逐个 token 生成文本。DiffusionGemma 通过将瓶颈从内存带宽转移到计算,并行生成和完善一个 **256 token 的画布** 来绕过这一限制。通过为 GPU 提供大规模的并行工作负载,它利用了在本地部署时本会闲置的张量核心。 - **均匀状态扩散**:DiffusionGemma 不是顺序预测 token,而是从一个随机占位符 token 的画布开始,并并行迭代完善它们。经过多次去噪过程,高置信度的 token 有助于解析相邻位置,从而使整个序列变得清晰。 - **用于可变长度生成的块自回归扩散**:对于超过 256 个 token 的序列,当一个 256 token 的块完全去噪后,模型会处理它并将其提交到 KV 缓存。然后模型过渡到下一个块,初始化一个新的 256 token 画布,该画布以上一个已提交的历史为条件。这结合了并行块的速度和自回归模型的顺序稳定性。 ## **展示:通过并行去噪解决数独** 传统的自回归模型难以处理像数独这样具有严格、多变量约束的问题。因为它们严格地从左到右生成文本,所以无法评估未来的占位符或回溯。 为了展示 DiffusionGemma 的定制能力,我们使用 **Hackable Diffusion** (https://github.com/google/hackable_diffusion)(一个模块化的 JAX 研究工具箱)发布了一个微调配方和结果 (https://github.com/google-deepmind/gemma/tree/main/gemma/diffusion)。这个训练设置专注于经典的多变量网格任务:**数独求解器**。 ### **为什么数独对扩散模型来说很有趣** 在一个 81 字符的数独字符串表示形式中(空单元格用句点标记),每个数字都受到严格的、相交的水平、垂直和 9x9 网格约束。 DiffusionGemma-Sudoku-Comparison **双向上下文传播**:与自回归模型不同,DiffusionGemma 的去噪步骤允许每个画布查询并行关注所有位置。信息对称地在棋盘上流动,每一步都能解决全局依赖关系。 - **通过重噪实现错误修正**:在 **均匀状态扩散** 下,模型同时评估整个棋盘。如果置信度下降,采样器会用随机数字替换数字,从而实现连续的自我修正。 - **高效的提前停止**:对数独进行微调表明,适配器可以增强提前停止。经过 SFT 调优的模型比基础模型更快稳定,使得引擎能够更早停止,从而降低延迟和计算成本。 抱歉,您的浏览器不支持播放此视频 左侧:DiffusionGemma 生成数独输出。基础模型在 48 步后无法解决数独。右侧:微调后的(SFT)DiffusionGemma 在 12 步后解决了谜题。由于自适应停止,它能够提前完成。 **性能影响**:虽然基础 DiffusionGemma 模型并未专门针对解决数独谜题进行训练(成功率约为 0%),但在数独数据集上应用简单的 JAX SFT 方法可将正确率提高到 **80% 的成功率**,同时减少整体推理步数。 ## **块自回归去噪** 为了实现块自回归去噪,DiffusionGemma 在推理期间在增量预填充和去噪之间交替: - **预填充 / 增量预填充(因果)**:使用 *因果注意力* 来摄入提示上下文并写入 KV 缓存。此过程运行一次以预填充初始上下文,然后每个块运行一次,将每个最终确定的 256 token 画布追加到 KV 缓存中,然后再继续处理下一个画布的去噪。 - **去噪(双向)**:使用 *双向注意力* 来迭代去噪画布。画布上任何位置的查询 token 都可以关注所有其他画布 token(以及 KV 缓存),让模型双向处理上下文。 diffusion_architecture 这种架构选择使得以下成为可能: - **全局上下文感知**:与只能“向后看”的自回归(AR)模型不同,去噪器的双向注意力允许画布上的每个 token 关注所有其他 token。这使得模型在解决非顺序问题(例如数独,其中第一个单元格中的数字必须遵守最后一个单元格中的约束)时更加有效。 - **自我修正**:由于模型迭代完善整个画布,因此它可以“修复”早期错误。如果在某次传递中 token 的置信度下降,采样器可以重新添加噪声并替换它。这是 AR 模型所缺乏的能力,因为一旦生成 token,它们就被“卡住”了,尤其是在长输出序列期间。 - **高效的长上下文扩展**:“块自回归”方法允许模型处理长序列。它将扩散模型的并行速度(用于块)与 AR 模型在长文本方面经过验证的顺序稳定性相结合。 - **简化的部署**:使用与 Gemma 4 26B A4B 模型相同的架构意味着开发者只需要实现一个去噪步骤,从而更容易集成到现有的服务框架(如 vLLM)中。 抱歉,您的浏览器不支持播放此视频 ## **服务 DiffusionGemma** 为了高效地服务这种实验性架构,我们与 vLLM 团队合作,将 DiffusionGemma 实现到 vLLM 中。这种集成允许引擎跨批量请求流高效地运行迭代并行去噪循环。 开发者可以使用 vLLM 的标准 OpenAI 兼容本地服务器开箱即用地部署 DiffusionGemma。 `` vllm serve google/diffusiongemma-26B-A4B-it \ --max-model-len 262144 \ --max-num-seqs 4 \ --gpu-memory-utilization 0.85 \ --attention-backend TRITON_ATTN \ --generation-config vllm \ --hf-overrides '{"diffusion_sampler": "entropy_bound", "diffusion_entropy_bound": 0.1}' \ --diffusion-config '{"canvas_length": 256}' \ --enable-chunked-prefill `` Shell 已复制 ## **立即开始** 准备好探索非自回归文本生成的前沿了吗?请查看以下资源以了解更多信息: - **下载权重**:直接在 Hugging Face 上访问实验性模型 (https://huggingface.co/google/diffusiongemma-26B-A4B-it) 的权重(根据 Apache 2.0 许可证发布)。 - **集成与学习**:查看 DiffusionGemma 可视化指南 (https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-diffusiongemma) 以了解基于文本的扩散模型的机制。在 Gemma 文档 (http://ai.google.dev/gemma/docs/diffusiongemma) 中阅读有关 DiffusionGemma 的更多信息。 - **使用您喜欢的推理框架**:使用 vLLM (https://vllm-project.github.io/2026/06/10/diffusion-gemma)、Hugging Face Transformers (https://huggingface.co/google/diffusiongemma-26B-A4B-it)、SGLang 和 MLX (https://huggingface.co/collections/mlx-community/diffusiongemma) 高效运行模型。 - **适配与微调**:为了快速实验,我们正在发布使用 Hackable Diffusion (https://github.com/google/hackable_diffusion) 的官方训练配方 (https://github.com/google-deepmind/gemma/tree/main/gemma/diffusion)。您还可以探索使用 Unsloth (https://unsloth.ai/docs/models/diffusiongemma) 或 NVIDIA NeMo (https://github.com/NVIDIA-NeMo/Automodel/blob/main/docs/guides/dllm/diffusiongemma.md) 进行高效微调。 - **以您的方式部署**:使用 Model Garden (https://console.cloud.google.com/agent-platform/publishers/google/model-garden/diffusiongemma) 在 Google Cloud 上即时部署,或通过 NVIDIA NIM (https://catalog.ngc.nvidia.com/orgs/nim/teams/google/containers/diffusiongemma-26b-a4b-it?version=latest) 部署。该模型在从消费级 RTX 4090 和 5090 显卡到企业级 Hopper 和 Blackwell 服务器的整个硬件堆栈上进行了原生优化。

相似文章

DiffusionGemma: 文本生成速度提升4倍

Hacker News Top

Google推出DiffusionGemma,这是一个实验性的26B MoE开源模型,通过文本扩散技术,在GPU上实现高达4倍的文本生成速度提升,针对速度要求高的交互式本地工作流。

DiffusionGemma

Simon Willison's Blog

Google 发布了 DiffusionGemma,这是一个采用 Apache 2 许可证的开源权重文本生成模型(总参数量 26B,活跃参数量 4B),通过 NVIDIA 的 NIM 云 API 展示了极高的推理速度。

google/diffusiongemma-26B-A4B-it

Hugging Face Models Trending

Google DeepMind 发布了 DiffusionGemma,这是一个 26B 参数的 Mixture-of-Experts 模型,使用离散扩散实现更快的文本生成,支持多模态输入和 256K token 上下文。