llamacpp 补丁 - 在 RTX 5090 上本地运行 DeepSeek V4 Flash,支持完整 1M token 上下文
摘要
描述了一个针对 llama.cpp 的补丁,为 DeepSeek V4 Flash 的上下文索引添加了 CUDA 支持,从而在 RTX 5090 上实现了完整 1M token 上下文,同时显著降低了显存占用并保持了高吞吐量。
原本想尝试在本地运行 DeepSeek V4 Flash,但发现它在长上下文下需要惊人的显存量(1M 上下文约需 256GB)。原来是 DSA 闪电索引器缺乏对 llama.cpp 的完善支持。查阅后发现上游已有相关 PR(感谢 u/fairydreaming,PR #24231),但该 PR 中索引尚未接入模型计算图,也没有 CUDA 路径。因此我今早手动将其接入并编写了 CUDA 内核补丁,特此分享,或许对想运行此类模型的人有所帮助。
硬件:RTX 5090、9950X3D、96GB DDR5 内存
模型:DeepSeek-V4-Flash,antirez 的混合 Q8/Q4/Q2 量化
优化前后对比(256K 上下文):
计算缓冲区:~67 GiB(OOM)→ 3.2 GiB
预填充:56 t/s → ~263 t/s
解码:~14 t/s → ~14 t/s
1M 上下文:之前不可能(~256GB),现在可行(ubatch=768 时 3.75 GiB,ubatch=2048 时 ~6 GiB)
验证预设:
上下文 | 预填充 | 解码 | 峰值显存
256K | ~263 t/s | 14 t/s | ~29 GiB
512K | 256 t/s | 13.7 t/s | ~28 GiB
1M | 159 t/s* | 13.7 t/s | ~31 GiB
*1M 时在 32GB 5090 上使用了较小的 ubatch —— 若分配完整 ~9GB 显存,应能达到全速。
正确性:使用大海捞针测试进行了简要验证——在 100K token 文档的 10%/50%/90% 深度处植入随机事实,模型每次都能正确检索。在 512K 和 1M 的更难的 50% 深度处也能正确检索。
源代码、构建说明及完整文档:https://github.com/spencer-zaid/llama.cpp/blob/deepseek-lid-cuda/docs/deepseek-v4-lid-cuda.md
分支:https://github.com/spencer-zaid/llama.cpp/tree/deepseek-lid-cuda
无预编译二进制文件(仅在 RTX 5090 单 GPU 上测试)。如需构建,文档中提供了构建说明。
相似文章
Deepseek V4 Flash 在 RTX 5090 MoE 上运行
用户分享了在 RTX 5090 上使用 llama.cpp 的一个分支运行 DeepSeek-V4-Flash (Q2_K) 的优化基准测试结果,实现了 21.3 token/秒的生成速度和 100 万上下文大小。
在本地用4张老款RTX 2080 Ti运行DeepSeek-V4(2000美元预算配置)。自定义图灵内核、W8A8量化,以及255个预填充token/秒!
一位开发者成功在四张RTX 2080 Ti GPU上以2500美元预算本地运行DeepSeek-V4-Flash(总计284B,激活13B),通过自定义图灵CUDA内核、W8A8量化和异构推理实现了255个预填充token/秒。该实现已开源。
DeepSeek-V4-Flash W4A16+FP8 结合 MTP 自推测:在 2 张 RTX PRO 6000 Max-Q 上以 524K 上下文长度实现 85 tok/s
这篇文章详细介绍了一个经过定制并量化的 DeepSeek-V4-Flash 模型版本,启用了 MTP 自推测功能。通过修改后的 vLLM 设置,在双 RTX PRO 6000 Max-Q GPU 上实现了显著的速度提升。
@pupposandro: PFlash 现在在单张 RTX 3090 上运行 @poolsideai 的 Laguna-XS.2 (33B-A3B MoE)。- 短上下文下 111 tok/s 解码 - 128K TTFT…
PFlash 现在支持在单张 RTX 3090 上运行 @poolsideai 的 Laguna-XS.2 (33B-A3B MoE),实现了 111 tok/s 的解码速度,预填充速度比 llama.cpp 快 5.4 倍,并在高达 131K 上下文中通过 NIAH 测试。
我在家里跑了 DeepSeek V4 Pro
一名用户展示了如何使用修改版的 llama.cpp CUDA 仓库在本地工作站上成功运行 DeepSeek V4 Pro 模型,并分享了性能指标和硬件需求。