项目概述

Lightreason 是一个本地推理实验室及交互式工作室,旨在优化 Qwen 模型在单张 RTX 4090 显卡上的运行效率。实验基于 Qwen2.5-3B-Instruct(30.9 亿参数)的原始 BF16 权重,以及 Qwen3.6-35B-A3B(346.6 亿参数)文本模型权重展开。

性能表现

  • 3B 模型:在六个提示词的跨测试中,推理速度从 63.0 tok/s 提升至 139.6 tok/s。LR CUDA 图与紧凑 KV 缓存技术在全部 30 次 Hugging Face 计时运行中保持一致。在 9/9 对测试中,该配置完美匹配了完整的 Python、JavaScript 和 SQL 响应。此外,独立的 PARD2 运行器在完整匹配的天气响应测试中,速度从 58.3 tok/s 飙升至 525.2 tok/s;在最佳匹配的 128 令牌斐波那契切片测试中,速度从 63.6 tok/s 提升至 724.4 tok/s。
  • 35B 模型:在受限 Python 提示词下,速度从 7.93 tok/s 提升至 51.08 tok/s,实现 6.44 倍的性能跃升。该对比基于会话间相同输入。输出在第 116 个令牌处首次偏离 Scheduled 模式。打包配置在与更紧密的固定八位置控制对比时,匹配了全部 20 对数据。

较小模型可完全装入 GPU,通过复用已准备的 GPU 工作并批量检查多个令牌来节省时间。对于占用 64.56 GiB 空间的 35B 模型,运行器将大部分专家权重保留在系统 RAM 中,仅移动 Qwen 实际需要的部分。当草稿预测多个令牌时,Qwen 会批量检查并复用权重,原始的 BF16 Qwen 目标确保了每个最终令牌决策的准确性。

LR 标记了构建并测量的配置,利用了 NVIDIA CUDA Graphs、AMD PARD2、Inco AI DFlash2 以及 FlashML 的 FreeToken 等现有技术。实验历史详细记录了贡献、具体改动以及对减速或输出变化的分析。

Live Studio 交互体验

Live Studio 提供了直观的测试方式。用户可构建并预览网页,通过 Standard 模式和 Lightreason Exact 模式运行相同提示词,观察流式传输过程并对比耗时。

源代码与模型获取

GitHub 仓库包含源代码、固定下载清单及基准测试证据,但不包含任何检查点或适配器权重,用户需在 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) 及编程基准测试 固定的 Qwen2.5-3B-Instruct
35B Scheduled 固定的 Qwen3.6-35B-A3B
35B 打包运行器 Qwen3.6-35B-A3B 和 Inco AI DFlash2
可选的 3B PARD2 研究 公共 AMD 草稿版及分词器,外加单独提供的实验室适配器

3B PARD2 的最高性能数据为存档的研究测量值,复现需配合相应的实验室适配器。仅针对目标的 3B 结果仅使用公共下载的 Qwen 模型。

部署指南

公开的 3B Studio 快速启动指南适用于搭载 RTX 4090 且驱动兼容 CUDA 12.8 的 Linux 系统。Standard 和 Lightreason Exact 模式仅依赖 Qwen 目标模型,浏览器可在另一台机器运行。35B 运行器对系统内存要求更高。

环境准备需安装 Python 3.12、venv 包及头文件,以及用于 Triton 的 C 编译器。在 Ubuntu 24.04 上,请安装 build-essential python3.12-venv python3.12-dev。运行 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 许可协议。

保持服务器运行,访问 http://127.0.0.1:8765/。远程 GPU 用户需在本地终端运行 SSH 隧道命令:

ssh -N -L 127.0.0.1:8765:127.0.0.1:8765 YOUR_GPU_HOST
  1. 等待 Qwen 加载,通过 curl -fsS http://127.0.0.1:8765/api/status 检查 "ready": true。
  2. 打开 Compare runners,选择 Qwen · Lightreason Exact 及示例提示词,点击 Run comparison。Studio 将在同一 GPU 上依次运行 Standard 和 Exact 模式并对比令牌序列。
  3. 重复提示词查看预热后性能。Exact 模式自动准备图形,Studio 分别报告准备和生成时间。使用 Save results 导出数据。按 Ctrl+C 停止服务器。

无头冒烟测试可通过 CLI 引擎运行相同提示词和令牌上限,JSON 记录包含准备时间、生成时间、令牌 ID 及停止原因。

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 投影,并在用原始输出权重评分前筛选词汇候选者来实现加速。草稿辅助型 3B 运行器验证候选树并在 GPU 上协调接受过程。在 36 组保留对比中,其速度比前一版本快 1.062 倍 且输出一致,其中 12/36 次对比与 Hugging Face 保持一致。

对于 35B 模型,FreeToken 和 DFlash2 提供混合 CPU/GPU 执行器和并行草稿功能。Lightreason 增加了选定行预填充、跨重复专家路由的 AVX2 复用、原生 CUDA 解包、34 层上的打包主机银行及无损 GPU 副本层,并在专家数学运算前重构原始 BF16 位。

移植到其他硬件时,建议先测量未修改模型性能,确定瓶颈(GPU 工作、内存或数据传输)。在克隆仓库中,可指示 Codex 使用 $lightreason-hardware 或指向其他编码代理的硬件技能模块。

编辑功能

Build preview 生成单文件 HTML 并在沙盒预览中渲染,Studio 分别报告生成和渲染时间。New app 生成新页面;Edit current app 提供当前 HTML 并请求 Qwen 完整更新;Patch edit (experimental) 请求 Qwen 提供 JSON 搜索替换补丁,比对后渲染重建文档。成功补丁会重新加载沙盒预览并重置状态。较大更改或被拒补丁建议使用完整编辑路径。

可选研究与测试

Standard 和 Exact 模式仅使用目标检查点。可选 Turbo 运行器和 GPU 协调基准测试需额外的固定 AMD PARD2 草稿目录及本地 LoRA/投影器检查点。该适配器与源代码发布包分开。

从仓库根目录运行 CPU 端 Studio 合约测试:

python -m unittest discover -s demo_chat -p 'test_*.py'
node demo_chat/test_preview.js

许可证

原始 Lightreason 源代码和文档采用 0BSD 协议。FreeToken 补丁和 Qwen 检查点遵循各自上游条款。