BeeLlama.cpp:支持推理和视觉的先进 DFlash 与 TurboQuant。在 RTX 3090 上以 200k 上下文运行 Qwen 3.6 27B Q5,速度比基线快 2-3 倍(峰值 135 tps!)

Reddit r/LocalLLaMA 工具

摘要

BeeLlama.cpp 是一个专注于性能的 llama.cpp 分支,引入了 DFlash 投机解码和 TurboQuant KV 缓存压缩技术,使得在消费级硬件上也能高速本地运行像 Qwen 3.6 27B 这样的大型模型。

TL;DR 新的 llama.cpp 分支!我需要一个对 Windows 友好的推理方案,以便在单张 RTX 3090 上使用投机解码运行 Qwen 3.6 27B **Q5**,实现长上下文且不进行过度量化,同时支持视觉功能。之前没有任何现成选项能完美满足需求,都伴随着显存和/或工具链问题(这是在 llama.cpp 的 MTP PR 出现之前)。所以我使出了一招老办法:连续熬夜到凌晨 4 点好几次,用一两周的时间完成了一个多月的工作量。我在让这一切正常运行时可能掉了不少头发,但现在我有了一个看似完美的解决方案,并乐于分享。 # Anbeeld 的 BeeLlama.cpp https://preview.redd.it/lqjgiw1bx40h1.jpg?width=1800&format=pjpg&auto=webp&s=3b68c16e78d36a1089a14f31b338aa78b8a1c073 **GitHub 仓库:** [**https://github.com/Anbeeld/beellama.cpp**](https://github.com/Anbeeld/beellama.cpp) BeeLlama.cpp(简称 Bee)是一个专注于性能的 llama.cpp 分支,旨在从本地 GGUF 推理中榨取更多的速度和上下文容量。它保留了 llama.cpp 熟悉的工具和服务流程,同时增加了 DFlash 投机解码、自适应草稿控制、TurboQuant/TCQ KV 缓存压缩以及推理循环保护功能,并完全支持多模态。 > 虽不完全是天马行空,但也相差不远。这是一个[即插即用的 Qwen 3.6 27B 配置](https://github.com/Anbeeld/beellama.cpp/blob/main/docs/quickstart-qwen36-dflash.md),包含在单张 RTX 3090 或 4090 上以 Q5 精度、近乎无损的 200k KV 缓存以及视觉支持运行的配置。 # 分支特性 * **DFlash 投机解码**:`--spec-type dflash` 驱动一个 DFlash 草稿 GGUF 模型与目标模型协同工作。目标模型将隐藏状态捕获到每层 4096 个槽位的环形缓冲区中,草稿模型对最近的 `--spec-dflash-cross-ctx` 隐藏状态标记进行交叉注意力计算,并提出草稿供目标模型验证。 * **TurboQuant / TCQ KV 缓存压缩**:提供五种缓存类型(`turbo2`, `turbo3`, `turbo4`, `turbo2_tcq`, `turbo3_tcq`),压缩率从 4 倍到 7.5 倍不等,高位宽选项在许多情况下几乎是无损的。可以通过 `--cache-type-k` 和 `--cache-type-v` 独立设置。 * **自适应 draft-max 控制**:服务器在运行时动态调整活动草稿视界,而不是使用固定的 `--spec-draft-n-max`。默认的 `profit` 控制器将投机吞吐量与无投机基线进行比较;`fringe` 替代方案则将接受率区间映射到草稿深度。 * **完整的多模态支持**:当激活 `--mmproj` 时,服务器保持平面 DFlash 可用以进行文本生成。模型可以完全卸载到 CPU 上,从而减少显存压力,且没有任何问题。 * **推理循环保护**:服务器会检测重复的隐藏推理输出并介入。默认模式为 `force-close`,可通过 `--reasoning-loop-window` 和 `--reasoning-loop-max-period` 进行微调。 * **采样 DFlash 验证**:`--spec-draft-temp` 启用拒绝采样式的草稿模型行为。当草稿和目标温度均大于零时激活。必须提供草稿对数概率,拒绝采样才能产生正确的输出。 * **DDTree 分支验证**:可选的 `--spec-branch-budget` 在主草稿路径之外添加分支节点,使用 GPU `parent_ids`、树掩码和循环树内核。当目标模型分布在多个 GPU 上时会自动禁用。这一功能仍在积极开发中! * **请求级投机覆盖**:可以通过 JSON 字段在每次请求中覆盖 draft-max 和分支预算,而无需重启服务器。 * **CopySpec 无模型投机**:`--spec-type copyspec` 提供基于前序标记的滚动哈希后缀匹配,无需草稿模型。 关于完整功能及与公共仓库的对比,请阅读 [docs/beellama-features.md](https://github.com/Anbeeld/beellama.cpp/blob/main/docs/beellama-features.md)。 关于完整的参数参考,请阅读 [docs/beellama-args.md](https://github.com/Anbeeld/beellama.cpp/blob/main/docs/beellama-args.md)。 TurboQuant(基于 WHT 的标量量化)源自 [TheTom/llama-cpp-turboquant](https://github.com/TheTom/llama-cpp-turboquant)。 TCQ(格码量化)和基本 DFlash 实现源自 [spiritbuun/buun-llama-cpp](https://github.com/spiritbuun/buun-llama-cpp)(论文:[Closing the Gap: Trellis-Coded Quantization for KV Cache at 2-3 Bits](https://huggingface.co/datasets/spiritbuun/turboquant-tcq-kv-cache))。
查看原文

相似文章

@NFTCPS: 本地跑大模型的注意了! 有人把llama.cpp改造成了性能怪兽——BeeLlama.cpp,同样的显存,推理速度直接干到3倍,上下文容量扩展7.5倍,这不是PPT,是实测数据。 它把三个顶级优化方案塞进一个代码库: DFlash推测解码…

X AI KOLs Timeline

BeeLlama.cpp is a fork of llama.cpp that integrates DFlash speculative decoding, TurboQuant/TCQ KV-cache compression, and adaptive draft control, achieving up to 3x faster inference and 7.5x context expansion on the same hardware.