如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
为速度构建的本地LLM推理服务器。自定义内核、推测性预填充与解码。我们引擎中的每项优化均针对特定模型系列和硬件目标。
每项优化均包含独立的设置说明和基准测试说明。
所有加速比均相对于官方llama.cpp(-fa 1,匹配KV量化)测量。组合加速比=√(TTFT × 解码)的几何平均值(当两个阶段均进行基准测试时);否则为单阶段加速比。草稿模型发布于https://huggingface.co/Lucebox%E3%80%82
| 模型 | 加速比 |
|---|---|
| Qwen 3.5-0.8B (Megakernel) | ~2× |
| Qwen 3.5-27B + DDTree | 3.43× |
| Qwen 3.6-27B + PFlash | ~5.6× |
| Qwen 3.6-27B + DDTree | 4.84× |
| Laguna-XS.2 33B + PFlash | 5.4× @128K |
| Qwen 3.5-27B HIP | ~2.6× |
| Gemma-4-26B-A4B | 1.31× |
| 草稿模型 | 阶段 |
|---|---|
| https://huggingface.co/Lucebox/Qwen3.6-27B-DFlash-GGUF | 解码 |
| https://huggingface.co/Lucebox/gemma-4-26B-A4B-it-DFlash-GGUF | 解码 |
| https://huggingface.co/Lucebox/gemma-4-31B-it-DFlash-GGUF | 解码 |
| https://huggingface.co/Qwen/Qwen3-0.6B | 预填充 |
参考目标:RTX 3090(Ampere sm_86)——所有标题数据。其他NVIDIA架构由CMake / setup.py自动检测;AMD HIP后端单独提供(Strix Halo部分)。
| 架构 | GPU | 最低CUDA / ROCm版本 | 状态 | 基准测试 | |
|---|---|---|---|---|---|
Ampere sm_86 | RTX 3090, A-series | CUDA 12.0 | ✅ reference | megakernel · dflash | |
Blackwell sm_120 | RTX 5090 | CUDA 12.8 | ✅ 205 tok/s, 4.84× | ↗ | |
Blackwell sm_121 | DGX Spark / GB10 | CUDA 12.9 | ✅ megakernel NVFP4 | ↗ | |
Turing sm_75 | RTX 2080 Ti | CUDA 12.0 | ✅ 53 tok/s DFlash | ↗ | |
Ada sm_89 | RTX 40xx | CUDA 12.0 | 🟡 community WSL2 bench | ↗ | |
| — | Blackwell sm_110 | Jetson AGX Thor | CUDA 13.0 | 🟡 builds, unbenched | — |
Volta sm_70 / Pascal sm_61 | V100, P40 | CUDA 12.0 | 🟡 fallback paths, unbenched | — | |
RDNA3.5 gfx1151 | Ryzen AI MAX+ 395 / Strix Halo | ROCm 6+ | ✅ 37 tok/s HIP | ↗ | |
RDNA3 gfx1100 | Radeon RX 7900 XTX | ROCm 6+ | ✅ 50 tok/s HIP | ↗ |
server/(DFlash)使用CMake 3.18+和--recurse-submodules构建,用于Luce-Org/llama.cpp@luce-dflash——无需PyTorch。optimizations/megakernel/是唯一需要PyTorch 2.0+的组件(CUDAExtension链接到torch C++库)。电源调优:sudo nvidia-smi -pl 220(3090的最佳点,其他显卡需重新测试)。
解码(DFlash + DDTree)
| 标志 | 默认值 | 作用 |
|---|---|---|
--ddtree | off (chain) | 启用树验证 |
--ddtree-budget N | 22 | 树大小。3090上为22(默认),5090上为40,GB10上需重新测试 |
--fa-window N | 0 / 2048(全注意力) | 滑动FA窗口。保持为0:有限窗口会破坏工具调用(全注意力层会丢失系统提示/工具)。 |
--draft-residency {auto,persistent,request-scoped} | auto | 草稿权重何时从VRAM中逐出。request-scoped会在每个请求的草稿工作完成后停放/释放它们(在GPU内存紧张时为目标模型释放VRAM);persistent会在请求间保持它们驻留;auto会保留当前行为,同时遵循低VRAM/--lazy-draft提示。可通过/props.runtime.draft_residency查询。 |
--lazy-draft | off | --draft-residency=request-scoped的旧别名(延迟草稿加载直到第一个请求,之后释放) |
| 标志 | 默认值 | 作用 |
|---|---|---|
--think-max-tokens N | model-card | …内的最大令牌数 |
--default-max-tokens N | model-card | 默认响应上限 |
--hard-limit-reply-budget N | 4096 | 硬性上限;接近限制时注入 闭合符 |
--reasoning-effort-{low,medium,high,x-high,max} N | model-card | OpenAI风格的推理力度层级 |
多GPU / IPC
| 标志 / 环境变量 | 默认值 | 作用 |
|---|---|---|
--target-device | cuda:0 | 目标后端(例如 cuda:0、hip:0) |
--draft-device | 与目标相同 | 草稿后端;混合后端需使用 --draft-ipc-bin |
--target-gpu N | 0 | 目标GPU索引 |
--draft-gpu N | 与目标相同 | 草稿GPU索引;将草稿卸载到第二个GPU |
--target-devices / --target-layer-split | 单GPU | 在多个GPU间拆分目标层 |
--draft-ipc-bin | — | 进程外草稿二进制文件(混合CUDA/HIP) |
--peer-access | 关闭 | 启用目标GPU间的P2P访问 |
--chunk N | 后端默认值 | 预填充微批大小 |
--no-cors | CORS开启 | 禁用CORS头 |
DFLASH_TARGET_GPU=N | 0 | --target-gpu的环境变量等效项 |
DFLASH_DRAFT_GPU=N | 与目标相同 | --draft-gpu的环境变量等效项 |
MoE专家卸载(Spark)
适用于专家无法放入VRAM的MoE目标模型(laguna、qwen35/qwen36)。--spark会自调优热/冷专家拆分、有界GPU缓存以及基于实时流量的放置配置文件;通过默认的单图融合路径,解码性能接近全GPU水平。参见 Luce Spark →。
| 标志 / 环境变量 | 默认值 | 作用 |
|---|---|---|
--spark | 关闭 | 单标志自动调优:启用有界专家缓存,根据VRAM目标调整大小,自动加载并持续保存放置配置文件(.gguf.spark.csv)。 |
--spark-vram | 整张卡 | Spark可使用的总VRAM;在该上限下调整热层+缓存+KV的大小。 |
DFLASH_SPARK=1 | 关闭 | --spark的环境变量等效项。 |
DFLASH_SPARK_VRAM_MB=N | — | --spark-vram的环境变量等效项(单位为MB)。 |
DFLASH_<MODEL>_EXPERT_CACHE=1 | 关闭 | 有界GPU专家缓存(<MODEL> = LAGUNA 或 QWEN35MOE);预热后冷缺失率趋近于0。 |
DFLASH_<MODEL>_CACHE_SLOTS=N | 自动 | 每层的缓存槽数。 |
DFLASH_LAGUNA_NO_SINGLE_GRAPH=1 | 关闭 | 回退到每层解码,而非默认的单图融合混合模式。 |
DFlash 基准测试 → · DFlash 博客 → · PFlash 基准测试 → · PFlash 博客 → · 每台机器快速启动(DGX Spark、Jetson Thor、HIP)→
独立的Python基准测试;24层融合为一个持久化CUDA调度。413 tok/s 解码速度、21,347 预填充速度、1.87 tok/J @220W(对比llama.cpp BF16)。
uv sync --extra megakernel
uv run --directory megakernel python final_bench.py
| 方法 | 预填充 pp520 | 解码 tg128 | tok/J |
|---|---|---|---|
Megakernel @220W | 21,347 | 413 | 1.87 |
llama.cpp BF16 @350W | 11,247 | 267 | 0.76 |
| PyTorch HF | 7,578 | 108 | n/a |
设置 → · 基准测试 → · 博客 →
Blackwell(RTX 5090、DGX Spark / GB10): 安装时自动检测;NVFP4解码路径在GB10上达到约194 tok/s。参见 optimizations/megakernel/README.md#blackwell-sm_120--sm_121a。
每个优化和测试工具设置的视频教程。
| Luce KVFlash ▶ *** |
本地AI应该是默认选择,而非特权。私有数据、无按令牌计费、无供应商锁定。运行高性能模型的硬件已遍布桌面,而从中获取实际吞吐量的软件却尚未普及。
目前没有为本地AI推理构建的专用软件。大多数机器将标准GPU连接到桌面CPU并运行标准运行时,从未针对底层芯片优化内核。在相同的27B模型上,DGX Spark或Mac Studio的实际吞吐量被浪费了四到六倍。通用框架在过去十年占据主导地位,因为为每种芯片手动调优的成本高于回报:一个框架能在所有设备上表现尚可,但在任何设备上都不卓越。推测性解码、推测性预填充、融合巨核以及校准的MoE专家卸载可将闲置芯片性能提升3-10倍,但这些技术仅锁定在数据中心GPU的BF16权重上,消费级显卡只能继承残羹冷炙。
查看基准测试和相关机器请访问 lucebo*。**
▮▮▮▮▮▮▮▮▮▮ HIP/CUDA 内核优化
▮▮▮▮▮▮▮▮▮▯ 推测性推理优化
▮▮▮▮▮▮▮▯▯▯ 新增消费级GPU/APU支持
▮▮▮▮▮▮▮▯▯▯ 推理引擎调试
▮▮▮▮▮▮▯▯▯▯ 添加新性能基准测试
▮▮▮▮▮▯▯▯▯▯ 测试工具集成改进
@software{lucebox_2026,
title = {Fast LLM speculative inference server for specific consumer hardware.},
author = {Lucebox},
url = {https://github.com/Luce-Org/lucebox-hub},
year = {2026}
}
Apache 2.0 · Lucebo***
来自真实用户的反馈,见证轩辕镜像的优质服务