这篇实测解决的是一个很具体的问题:DeepSeek V4 Flash 0731 如何在 A100/A800 这类 Ampere(sm_80)GPU 上运行,并在不开重量化或 GGUF 转换的前提下获得可用的生成速度。原帖不仅给出一组能运行的参数,还对基础推理、DSpark 投机解码、并发吞吐和租卡成本做了对照,适合手头已有闲置 A100/A800、需要本地模型或数据不便出网的团队参考。

问题与测试环境

原帖指出,当时 vLLM 官方版本尚不能直接在 30 系架构上运行 DeepSeek V4 系列,因此实验采用第三方回移实现 lazymio/vllm-backport:v0.2.0-sm80。测试硬件是 4 张 A800 80GB,模型使用 deepseek-ai/DeepSeek-V4-Flash-0731 官方原版权重,张量并行度为 4。

该实验在 2026 年 8 月 11 日完成,使用的镜像版本是 v0.2.0;作者同时提醒,当时项目已更新到 v0.5.0,但由于资源协调原因没有复测。换言之,结果只能代表这套具体软硬件组合,后续镜像不能直接套用同一性能结论。

核心参数怎样理解

基础配置将最大上下文设为 393,216 tokens,GPU 显存利用率设为 0.90,并启用前缀缓存、专家并行和提示词 token 明细。KV Cache 使用 fp8_ds_mla,推理解析器与工具调用解析器均选择 DeepSeek V4 对应实现,同时允许自动选择工具。

启用 DSpark 时,作者将每轮投机 token 数设为 5,并单独预留 KV Cache 空间。一个关键排障点是:如果不显式设置 KV Cache 内存,DSpark 可能因为预留空间不足而触发 OOM。最终配置使用约 14.87 GB 的显式 KV Cache 预留,并通过 head_dtype=float32 保持输出稳定。

原帖还测试了分段 CUDA Graph 模式,但生成速度从约 59.4 tokens/s 降到约 30 tokens/s,因此没有纳入最终方案。这说明仓库推荐参数不一定适合所有吞吐目标,应该逐项做 A/B 测试,而不是一次性全部启用。

速度测试与验证方法

作者通过 OpenAI 兼容的 /v1/chat/completions 接口连续发送 3 次请求,每次最多生成 1,000 tokens,再用响应中的 completion_tokens 除以耗时计算速度。基础配置三次平均约 59.4 tokens/s;加入 DSpark 后约 82.8 tokens/s,提升约 1.39 倍;最终配置测得:

三次平均速度:84.7 tps

最终运行时,每张卡显存占用约 78.40 GB,KV Cache 容量约 710,018 tokens。393,216 tokens 单请求条件下,估算最大并发约 1.81。作者实际尝试把上下文提高到 512K 可以运行,1M 则会爆显存;原帖建议如要尝试更长上下文,可考虑 8 卡,但没有提供 8 卡验证结果。

验证时至少应检查三层:服务是否正常返回 OpenAI 兼容响应;响应中的模型名、完成 token 数和耗时是否可采集;连续多次请求的平均速度是否稳定。不要只看单次客户端显示的瞬时速度,因为不同提示词、思考长度和缓存命中会显著影响结果。

并发能力与真实边界

并发测试使用 1、2、4、8、16 个线程,每档发送 12 个请求,每次最多生成 256 tokens。测试显示总吞吐上限大约为 400 tokens/s;到 16 并发时,平均到单个用户约为 25 tokens/s。作者在讨论中也明确表示,这套配置更适合单人、单 Agent 使用,多 Agent 场景会受到首 token 延迟和总吞吐上限影响。

客户端测试中曾观察到 120–180 tokens/s,但它与前述固定脚本得到的 84.7 tokens/s不是同一种测量口径,不能直接混为统一基准。更可靠的做法是固定提示词、生成上限、思考配置和并发数,分别记录吞吐、首 token 延迟、P50 与 P95。

成本与适用场景

按原帖跟帖中的手算,租用 4 张 A800 的成本明显高于直接调用官方 API;作者也不建议为此专门购买 A100/A800。相关成本比较会随租卡价格、API 价格、利用率和电费变化,只能作为当时的粗略参考。

因此,这套方案更适合已有闲置设备、需要数据留在本地、希望复用淘汰算力,或需要研究 Ampere 上推理兼容性的场景。若目标只是降低 token 单价,或者要支撑大量并行 Agent,在线 API 通常更经济。回退策略也很清楚:DSpark 出现 OOM 时先减少上下文或显式缩小 KV Cache;第三方回移版本出现稳定性问题时,回到基础参数验证,再逐项恢复加速选项。

原作者:GPLer
原帖:https://linux.do/t/topic/2754979