Deepseek V4 Flash 在两块 Nvidia 4090d 48G (ada) 上以 vLLM 运行,速度约 105 t/s
摘要
技术文章:详细介绍如何使用自定义Triton内核和vLLM在两块Nvidia 4090d GPU上运行DeepSeek V4 Flash,在262k上下文环境下实现约105 tokens/秒的推理速度。
TLDR: 我(借助 AI)用 Triton 重新实现了所有仅支持 Blackwell 的内核(DeepGEMM、FlashInfer 稀疏 MLA、块缩放 FP8),因为它们在 sm89 上根本不存在。对于并行智能体工作流,性能提升 2-3 倍。下面是对比 llama-server 与 vLLM 的基准测试。
我受到帖子 https://www.reddit.com/r/LocalLLM/comments/1utoh2r/deepseek_v4_flash_160_ts_on_rtx_6000_blackwell_96/ 的启发。我有相似数量的显存,但分布在两台 4090d 48G GPU 上(Dell R740,已启用 p2p 补丁 https://github.com/Duanyll/open-gpu-kernel-modules/tree/595.71.05-p2p-48g)。Ada 不支持,所以我必须找到运行 vLLM 的方法,因为 llama.cpp 的速度对我来说不够快。
首次运行会将 DeepSeek-V4-Flash 压缩至 ~IQ2 以便装入 96 GB 显存,可能需要 60 分钟,具体取决于硬件。如果只有单 GPU,请在下面的第 4 步使用环境变量 `TP=1` 和 `GPUS='\"device=0\"'`。
获取模型:
```
huggingface-cli download deepseek-ai/DeepSeek-V4-Flash --local-dir ~/models/DeepSeek-V4-Flash
```
构建 vLLM-Moet(~SM89 镜像):
```
git clone https://github.com/iSevenDays/vLLM-Moet && cd vLLM-Moet
DOCKER_BUILDKIT=1 docker build -f Dockerfile.sm89-v0251 -t vllm-moet-sm89:v0251 .
```
启动:
```
MTP_TOKENS=1 FORCE_RESIDENT=1 NETWORK=host MEM_GB=28 RESIDENCY=gpu TP=2 GPUS='\"device=0,1\"' ./docker/serve_sm89_ds4.sh
```
我使用 vLLM 时获得了 262k 上下文和更好的并发性,相比 llama.cpp 有明显优势。运行 llama.cpp(今天的最新版本 + https://github.com/ggml-org/llama.cpp/pull/21067/)时,我使用以下命令将模型完全装入显存:
```
/root/llama.cpp/build/bin/llama-server --model /root/antirez/ds4/gguf/DeepSeek-V4-Flash-IQ2XXS-w2Q2K-AProjQ8-SExpQ8-OutQ8-chat-v2-imatrix.gguf -ngl 99 -np 1 --n-cpu-moe 0 --split-mode layer -ts 43,43 -fit on -fa on -c 262144 --cache-type-k q8_0 --cache-type-v q8_0 --temp 1.0 --top-p 1.0 --min-p 0.0 --host 0.0.0.0 --port 8002 --jinja --reasoning-preserve --no-mmap --prefetch-weights 1 --chat-template-kwargs '{"reasoning_effort":"max"}'
```
可能没有其他方法能将该模型装入 vLLM 并获得所有好处。我 99% 确定性能还可以继续提升。
相似文章
DeepSeek V4 Flash(98GB)在单块4060 Ti加CPU上本周速度提升300% [从2t/s到7t/s]
DeepSeek V4 Flash(98GB)现在通过CPU卸载,在单块RTX 4060 Ti上运行速度可达每秒7个token,相比上周的2t/s提升了3倍。
Deepseek V4 Flash 在 RTX 5090 MoE 上运行
用户分享了在 RTX 5090 上使用 llama.cpp 的一个分支运行 DeepSeek-V4-Flash (Q2_K) 的优化基准测试结果,实现了 21.3 token/秒的生成速度和 100 万上下文大小。
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 上实现了显著的速度提升。
在本地用4张老款RTX 2080 Ti运行DeepSeek-V4(2000美元预算配置)。自定义图灵内核、W8A8量化,以及255个预填充token/秒!
一位开发者成功在四张RTX 2080 Ti GPU上以2500美元预算本地运行DeepSeek-V4-Flash(总计284B,激活13B),通过自定义图灵CUDA内核、W8A8量化和异构推理实现了255个预填充token/秒。该实现已开源。
关于在Hopper上使DeepSeek V4 Flash达到近200 tok/s的一些技巧
这篇博文提供了在双GH200工作站上使用vLLM对DeepSeek V4 Flash进行推理,达到近200令牌/秒的技巧和基准测试,重点介绍了使用Canada-Quant的量化检查点和张量并行优化。