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 万上下文大小。
[Deepseek-V4-Flash-0731] 在单张RTX5090 + DDR5桌面配置下,通过VLLM CPU/内存卸载实现完整1M上下文,~800 tps预填充 & 15+ tps解码 [智能体编码]
关于在单张 RTX 5090 + 256GB DDR5 台式机上使用 vLLM 配合 CPU/内存卸载运行 DeepSeek-V4-Flash-0731 完整 100 万 token 上下文的技术报告,实现了约 800 tokens/秒的预填充速度和约 15 tokens/秒的解码速度。
Deepseek V4 Flash 在两块 Nvidia 4090d 48G (ada) 上以 vLLM 运行,速度约 105 t/s
技术文章:详细介绍如何使用自定义Triton内核和vLLM在两块Nvidia 4090d GPU上运行DeepSeek V4 Flash,在262k上下文环境下实现约105 tokens/秒的推理速度。
@malikwas1f:四行修复让 DeepSeek-V4-Flash 的预填充速度在 10K 下从 127 提升至 312 t/s,在 40K 下从 91 提升至 283 t/s,并通过了召回率检查……
据报道,一个四行修复将 DeepSeek-V4-Flash 的预填充速度从 10K 上下文下的 127 t/s 提升至 312 t/s,从 40K 上下文下的 91 t/s 提升至 283 t/s,解码速度保持不变。该补丁通过 club-3090 项目分享,该项目用于在 RTX 3090 上提供 LLM 服务。
DeepSeek V4 @ IQ3XXS 在 M1 Ultra 128GB 上的 LM Studio 中经补丁后可达 16 tok/s
一个 GitHub 补丁通过侧载 antirez 的 llama.cpp 分支,解决了结构布局漂移、解码拆分和代码签名问题,从而允许在 128GB Mac 上的 LM Studio 中运行 DeepSeek V4 Flash。