返回资讯中心
外部精选
软件工程
#社区热议

Lightreason 在单张 RTX 4090 上运行 Qwen3.6 实现 6-11 倍加速并开源完整代码

来源标题:6-11X speedup running Qwen3.6 on my RTX 4090, full repo.

Lightreason 在单张 RTX 4090 上运行 Qwen3.6-35B-A3B 文本模型,实现 6-11 倍加速并公开完整代码库。该模型 BF16 权重占 64.56 GiB,运行时将大部分专家权重放在系统内存、按需搬运实际用到的部分,并让原始 BF16 模型完成每个最终 token 决策。项目使用 CUDA Graphs、PARD2、DFlash2 和 FreeToken 等技术,另提供交互式 Studio 对比标准与加速模式的响应速度。

Hacker NewsAI4Science2026/11/13 · 今天19 分钟阅读

以下正文由 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 运行器 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 会自动准备 graph,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 工作,维护紧凑的 attention 缓存,合并 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 bank,以及无损 GPU 副本层。它在专家计算之前重建原始 BF16 位。运行时、性能分析与复现

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →