ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

DFlash简介:轻量级Block Diffusion模型如何实现高效并行起草

DFlash简介:轻量级Block Diffusion模型如何实现高效并行起草 DFlash简介轻量级Block Diffusion模型如何实现高效并行起草【免费下载链接】dflashDFlash: Block Diffusion for Flash Speculative Decoding项目地址: https://gitcode.com/GitHub_Trending/df/dflashDFlash是一个专为**推测解码Speculative Decoding设计的轻量级块扩散Block Diffusion**模型让大语言模型推理能够一次性并行起草整块候选 token在不改变输出质量的前提下显著提升生成速度。项目同时提供 Transformers、vLLM、SGLang 和 MLXApple Silicon四大后端支持并附有一键基准测试工具覆盖 Qwen3、Llama-3.1、gpt-oss 等众多主流模型。 为什么需要推测解码来加速大模型推理大语言模型采用自回归方式生成文本一次只能预测一个 token导致 GPU 大量时间浪费在等待上生成速度tok/s往往远低于硬件潜力。推测解码是解决这一瓶颈的主流方案核心思想是先猜后验一个较小的**起草模型Draft Model**快速提出接下来若干个候选 token大**目标模型Target Model**利用并行的特性一次性校验整块候选校验通过的 token 直接保留不匹配处丢弃并从分叉点继续。DFlash 的突破在于它的起草模型不是另一套完整 LLM而是一个只有极少层数的块扩散模型。普通起草模型也得逐 token 顺序生成而 DFlash 可以像扩散模型一次去噪那样一次前向并行写出整块默认 16 个token——起草环节本身也被彻底并行化了。⚙️ DFlash 并行起草的三步工作流整个机制可以概括为借上下文 → 整块预测 → 验证回滚三步1. 向目标模型借上下文目标模型每前向一次DFlash 会从它选定的若干中间层抽取隐藏特征而非只看最终输出再经一个线性投影压缩成紧凑的上下文向量。上下文选取逻辑见 build_target_layer_ids特征提取见 extract_context_feature。2. 整块并行预测起草时当前 token 之后先填入一串 mask 占位符DFlash 用非因果注意力block 内 token 互相可见单次前向并行预测出整块 token。相关实现在 DFlashDraftModel 中。3. 验证与回滚目标模型把已确认 token 整块草稿一次性并行处理与目标模型的输出逐位比对接受最长连续匹配前缀分叉处的 token 由目标模型接管随后丢弃草稿缓存中未通过的部分进入下一块。这一起草-验证-回滚主循环完整实现在 dflash_generate。 由于整块候选在目标模型中是并行校验的只要草稿命中率足够高每轮就能净赚多个 token端到端吞吐量随之成倍提升。 DFlash 支持的主流模型目标模型状态Qwen34B / 8B / Coder 系列✅ 已提供起草模型Qwen3.54B / 9B / 27B / 35B-A3B / 122B-A10B✅ 已提供Qwen3.627B / 35B-A3B、Qwen3-Coder-Next✅ 已提供Llama-3.1-8B-Instruct、gpt-oss20B / 120B✅ 已提供Gemma-426B-A4B / 31B✅ 已提供MiniMax、Kimi 系列✅ 已提供PreviewDeepSeek-V4、GLM-5.1 即将发布训练配方也将开源届时你可以为任意大模型自训一个专属 DFlash 起草模型。 快速上手指南一键安装先获取代码仓库git clone https://gitcode.com/GitHub_Trending/df/dflash按需选择后端安装建议每个后端使用独立虚拟环境避免依赖冲突后端安装命令Transformersuv pip install -e .[transformers]SGLanguv pip install -e .[sglang]vLLMv0.20.1 原生支持 DFlashuv pip install -e .[vllm]MLXApple Siliconpip install -e .[mlx]vLLM 启动示例最快体验方式以 Qwen3.5-27B 为例只需在启动参数中追加一段推测解码配置指定method为dflash并给出配套起草模型vllm serve Qwen/Qwen3.5-27B \ --speculative-config {method: dflash, model: z-lab/Qwen3.5-27B-DFlash, num_speculative_tokens: 15} \ --attention-backend flash_attn \ --max-num-batched-tokens 32768Apple Silicon 本地推理MLXMLX 后端已实测可用于 Apple M5 Pro支持 Qwen3、Qwen3.5 与 Gemma-4流式生成接口见 stream_generatefrom dflash.model_mlx import load, load_draft, stream_generate model, tokenizer load(Qwen/Qwen3.5-4B) draft load_draft(z-lab/Qwen3.5-4B-DFlash)一键基准测试项目自带覆盖 5 类任务数学推理、代码生成、多轮对话等的评测脚本 dflash/benchmark.py支持 vLLM / SGLang / Transformers / MLX 四种后端一条命令即可对比加速前后的吞吐python -m dflash.benchmark --backend vllm \ --base-url http://127.0.0.1:8000 --model Qwen/Qwen3.5-27B \ --dataset gsm8k --num-prompts 128 核心模块结构速览模块职责dflash/model.pyPyTorch 版起草模型DFlashDraftModel与起草-验证-回滚主循环dflash_generatedflash/model_mlx.pyApple Silicon 上的高效 MLX 实现与stream_generate流式接口dflash/benchmark.py多后端基准测试数据集首次运行自动下载缓存至cache/pyproject.toml四大后端的可选依赖定义transformers / sglang / vllm / mlx 总结DFlash 适合谁推理服务部署者在 vLLM / SGLang 中一行配置即可为现有服务提速无需改动模型权重本地算力用户MLX 后端让 Mac 设备也能享受并行起草带来的流畅对话体验研究者块扩散 推测解码的组合是高效起草方向的新范式且训练配方即将开源方便复现与扩展。一句话概括DFlash 用更小的模型 更强的并行让起草环节从串行变并行从而以极低的额外成本换来可观的推理加速。【免费下载链接】dflashDFlash: Block Diffusion for Flash Speculative Decoding项目地址: https://gitcode.com/GitHub_Trending/df/dflash创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表