
开发者用Lightreason在单张RTX 4090上运行Qwen3.6 35B,实现6-11倍加速
来源标题:How I got 6-11X speedup running Qwen3.6 35B on my RTX 4090, full repo.
开发者开源了Lightreason项目,在单张RTX 4090上运行Qwen3.6-35B-A3B文本模型,实现6至11倍推理加速。该项目将35B模型64.56GiB的专家权重主要放在系统内存中,仅按需搬运实际用到的部分,并复用NVIDIA CUDA Graphs等现有技术。最终每个token仍由原始BF16目标模型决定,配套的交互式Studio可对比标准与加速模式的响应速度。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
Lightreason 是一个本地推理实验室兼交互式 Studio,用于在单张 RTX 4090 上更快地运行 Qwen。实验使用 Qwen2.5-3B-Instruct(3.09B 参数)的原始 BF16 权重,以及 Qwen3.6-35B-A3B(34.66B 参数)的文本模型。
较小的模型可以完整放入 GPU,因此复用预先准备好的 GPU 工作、同时检查多个 token 可以节省时间。较大模型的文本权重占用 64.56 GiB。35B 运行器将大部分专家权重保留在系统内存中,只移动 Qwen 实际用到的部分。当 draft 预测出多个 token 时,Qwen 会将它们一起检查,并能在这些检查之间复用权重。最终每个 token 的决策仍由原始 BF16 Qwen 目标模型做出。
LR 是我们构建并测量过的配置的标签。它们使用了现有的技术和项目,包括 NVIDIA CUDA Graphs、AMD PARD2、Inco AI DFlash2 和 FlashML 的 FreeToken。实验历史中记录了这些项目的贡献,详述了 Lightreason 的改动,并记录了哪些实验变慢或改变了输出。
Live Studio 是一种简单、交互式的速度测试方式。构建并预览一个网页,然后将同一个 prompt 分别通过 Standard 和 Lightreason Exact 运行,观察每个响应的流式输出并比较它们的耗时。
运行 3B Studio · 编码基准 · 实验历史 · 复现 35B · 移植到其他硬件
GitHub 仓库包含源代码、固定版本的下载清单和基准测试证据。它不附带任何 checkpoint 或 adapter 权重。你需要所需的模型下载到 GPU 机器上。
如果你只需要 3B Studio,稀疏克隆可以跳过 35B 源码和基准归档。
git clone --depth 1 --filter=blob:none --sparse https://github.com/me-farza/lightreason.git git -C lightreason sparse-checkout set demo_chat results3b
运行 单独下载 3B Studio、Standard 与 Exact,以及 Python/JavaScript/SQL 基准 固定版本 Qwen2.5-3B-Instruct 35B Scheduled 固定版本 Qwen3.6-35B-A3B 35B packed runner Qwen3.6-35B-A3B 与 Inco AI DFlash2 可选的 3B PARD2 研究 公开的 AMD draft 和 tokenizer,以及单独提供的 lab adapter
3B PARD2 的峰值数据是归档的研究测量结果。要复现这些数据,公开的 PARD2 权重需要匹配的 lab adapter。仅目标模型的 3B 结果只需使用公开的 Qwen 下载即可。
公开的 3B Studio 快速上手使用 Linux、RTX 4090 以及与 CUDA 12.8 兼容的驱动。Standard 和 Lightreason Exact 仅使用 Qwen 目标模型。你的浏览器可以运行在另一台机器上。35B 运行器使用单独的基准环境,对系统内存要求更高。使用稀疏克隆时,从下面的 cd lightreason 开始。35B 环境搭建 安装 Python 3.12、其 venv 包和头文件,以及用于 Triton 的 C 编译器。在 Ubuntu 24.04 上,安装 build-essential python3.12-venv python3.12-dev。在 GPU 机器上运行 nvidia-smi 以确认驱动能识别显卡。下载量约为 6.2 GB,下载器还需要额外 2 GiB 的可用空间。请另行预留 Python 包和编译缓存的空间。
git clone --depth 1 https://github.com/me-farza/lightreason.git cd lightreason python3.12 -m venv .venv source .venv/bin/activate python -m pip install 'torch==2.9.1' --index-url https://download.pytorch.org/whl/cu128 python -m pip install -r requirements.txt python -c 'import torch; name = torch.cuda.get_device_name(); print(name); assert "4090" in name and torch.version.hip is None and torch.cuda.is_bf16_supported()' python download_3b.py --destination model-3b python -m demo_chat.server --model-path model-3b
该环境固定使用 PyTorch 2.9.1(CUDA 12.8)和 Transformers 4.57.1。download_3b.py 会对照固定的下载计划检查官方对象。下载或使用模型前请阅读 Qwen 许可证。Qwen 许可证 · 原始 v0.1.0 源码
保持服务器运行,打开 http://127.0.0.1:8765/。对于远程 GPU,请先在你的浏览器所在机器的单独终端中运行以下隧道命令。
ssh -N -L 127.0.0.1:8765:127.0.0.1:8765 YOUR_GPU_HOST
等待 Qwen 加载完成。你可以用 curl -fsS http://127.0.0.1:8765/api/status 检查是否出现 "ready": true。
打开 Compare runners,选择 Qwen · Lightreason Exact,选择一个示例 prompt,然后点击 Run comparison。Studio 会先在同一块 GPU 上运行 Standard,再运行 Exact,并比较完整的 token 序列。
重复相同的 prompt 以观察预热后的性能。Exact 会自动准备计算图,Studio 会将准备时间与生成时间分开报告。使用 Save results 导出耗时和匹配结果。用 Ctrl+C 停止服务器。
对于无头冒烟测试,请通过每个 CLI 引擎运行相同的 prompt 和 token 上限。JSON 会记录准备、生成、token ID 和停止原因。请使用 Studio 或重复基准测试工具进行速度测量。
python run_model_3b.py --model-path model-3b --engine original --tokens 128 --json --prompt 'Explain why the sky is blue.' python run_model_3b.py --model-path model-3b --engine bucketed --tokens 128 --json --prompt 'Explain why the sky is blue.'
理解加速原理并移植 Lightreason Exact 会记录并重放 GPU 工作,维护紧凑的注意力缓存,合并 BF16 投影,并在用原始输出权重对幸存者打分之前筛选词表候选。draft 辅助的 3B 运行器在 GPU 上验证候选树并协调接受。在 36 个留出对比中,它比之前的 draft 辅助运行器快 1.062 倍,且输出相同。它在 12/36 上与 Hugging Face 一致。实现与复现 对于 35B,FreeToken 和 DFlash2 提供了混合 CPU/GPU 执行器和并行 draft。Lightreason 增加了选定行 prefill、跨重复专家路由的 AVX2 复用、原生 CUDA unpack、34 层上的 packed host banks,以及无损 GPU 副本层。它在专家计算之前重建原始 BF16 位。运行时、性能分析和复现
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。