Qwen 3.6 27B AR->Diffusion - 在5090上的本地训练
摘要
作者详细介绍了尝试在Nvidia 5090 GPU上使用qlora以及来自open-dllm和d3LLM的修改来本地训练Qwen 3.6 27B自回归到扩散模型的过程,在探索单步扩散技术时遇到了显存限制和硬件问题。
基于open-dllm的工作(该工作实现了Qwen 2.5自回归到扩散重对齐头——底层模型完全相同,但带来了4倍的改进)。长话短说,我还没有训练出模型。只是烧坏了一根GPU电源线,并订购了一个新电源。我确实在另一块RTX 4000 GPU的卸载帮助下,让模型在5090上完成了一次前向传播。以下是一些底层杂谈/发现/观察。
首先,通常所需的显存量超过600GB(我认为)。经过一些周折,放弃了Optane路线,现在可以在qlora形式上进行训练,这实际上可以在Nvidia NVFP4上训练模型。我尝试让整个27B模型在5090上训练。[https://github.com/scrya-com/dLLM-castlehill](https://github.com/scrya-com/dLLM-castlehill) 最新的训练运行:[https://wandb.ai/snoozie/open-dllm-27b/runs/arcefpjp?nw=nwusersnoozie](https://wandb.ai/snoozie/open-dllm-27b/runs/arcefpjp?nw=nwusersnoozie) 公共服务公告——为避免烧毁电源线,请将Nvidia消费级5090显卡的最大功率从600W限制到400W。
open-dllm的原始路线在Qwen 2.5上验证了4倍加速(如果有人有大量计算资源可以尝试,也许可行)——我偏离了方向,探索改进方法,并找到了一些论文。其中一个是d3LLM超快速扩散LLM [https://github.com/hao-ai-lab/d3LLM](https://github.com/hao-ai-lab/d3LLM),它声称具有更快的扩散速度——所以我将其代码上游整合到代码库中,并加入了它们的MDM损失函数,看起来不错。它基本上也考虑了token的顺序。扩散过程可以有很多步骤(见图),但我们可以缩短时间,从而获得更高的吞吐量/每秒token数。如果理论上能做到1步,那么你可能会看到惊人的速度。[https://wandb.ai/snoozie/open-dllm-compare?nw=nwusersnoozie](https://wandb.ai/snoozie/open-dllm-compare?nw=nwusersnoozie)
在我致力于改进ltx2以加速视频重建并实现单步扩散时,我尝试基于一篇关于变分流图的论文(通过制造一些噪声)来实现这个技巧。[https://arxiv.org/abs/2603.07276](https://arxiv.org/abs/2603.07276) 参见这里:[https://github.com/johndpope/ltx2-castlehill](https://github.com/johndpope/ltx2-castlehill) [https://wandb.ai/snoozie/vfm-v4a?nw=nwusersnoozie](https://wandb.ai/snoozie/vfm-v4a?nw=nwusersnoozie) 这旨在通过制造几乎看起来像图像的噪声来实现单步图像生成。类似地,这也可以用于文本,以减少去噪步骤。VFM:[https://github.com/scrya-com/dLLM-castlehill/blob/255d13ae45300f6e4aee69f46ba57bbb32df2b8b/tasks/train\_vfm.py#L37](https://github.com/scrya-com/dLLM-castlehill/blob/255d13ae45300f6e4aee69f46ba57bbb32df2b8b/tasks/train_vfm.py#L37) [https://github.com/scrya-com/dLLM-castlehill/issues/2](https://github.com/scrya-com/dLLM-castlehill/issues/2) [https://github.com/pengzhangzhi/Open-dLLM/issues/31](https://github.com/pengzhangzhi/Open-dLLM/issues/31)
更新:自述文件被上游内容搞得臃肿(抱歉,请直接跳到Qwen .36的相关部分)。但继续这项工作的要点是:1)对于open-dllm,你需要从教师模型计算锚点——从某个响应的64层;或者2)对于d3llm,我们计算轨迹并用于训练。有辅助脚本可以完成这两者——agent/claude会对任何claude/grok有帮助。我很喜欢opencode.ai——可以用很少的费用走很远——我使用的是每月5美元的套餐。[https://opencode.ai/go?ref=7C4F1XYS01](https://opencode.ai/go?ref=7C4F1XYS01)
相似文章
在 8GB 显存和 32GB 内存上运行 Qwen3.6 35b a3b,~190k 上下文
作者分享了一种高性能的本地推理配置,使用支持 TurboQuant 的修改版 llama.cpp,在硬件受限(8GB 显存、32GB 内存)的情况下运行 Qwen3.6 35B A3B,实现了 ~37-51 tok/sec 的生成速度,并支持 ~190k 上下文。
Wow!Qwen 3.6:35b-a3b 在 3090 上……太惊人了。
一位用户分享了在二手 RTX 3090 上运行量化版 Qwen 3.6:35b-a3b 模型的惊人结果:将模型放入显存后,输出速度达到每秒 160 个 token,并以 75 秒的视频处理时间展示了视觉能力。
z-lab/Qwen3.6-27B-DFlash
本文介绍 Qwen3.6-27B-DFlash,这是专为 DFlash 设计的草稿模型。DFlash 是一种新型推测解码方法,利用块扩散技术加速推理速度。文章提供了 vLLM 和 SGLang 的安装说明,以便与目标模型 Qwen3.6-27B 实现并行草稿生成。
RTX 5090 搭配 Qwen3.6 能否达到 > 3,000 tok/s?欢迎来拍砖(open-dllm)
Open-dLLM 将 Qwen3.6 适配为使用扩散式生成,在 RTX 5090 上对于短序列实现了超过 3,000 tok/s 的吞吐量,相关代码已在 GitHub 上发布。
Orthrus-Qwen3:在Qwen3上实现高达7.8倍的每前向传递令牌数,输出分布完全相同
Orthrus是一种双架构框架,融合了自回归LLM的保真度和扩散模型的速度,在Qwen3模型上实现高达7.8倍的加速,同时保证输出分布完全相同。