DeepSeek-V3.2-Exp 使用指南¶
简介¶
DeepSeek-V3.2-Exp 是一个稀疏注意力模型。其主要架构与 DeepSeek-V3.1 相似,但增加了稀疏注意力机制。
安装 vLLM¶
source .venv/bin/activate
uv pip install -U vllm --torch-backend auto
uv pip install git+https://github.com/deepseek-ai/[email protected] --no-build-isolation # Other versions may also work. We recommend using the latest released version from https://github.com/deepseek-ai/DeepGEMM/releases
注意:DeepGEMM 在两个地方使用:MoE 和 MQA logits 计算。对于 MQA logits 计算是必需的。如果您想禁用 MoE 部分,可以在环境变量中设置 VLLM_USE_DEEP_GEMM=0。一些用户报告称,在使用 VLLM_USE_DEEP_GEMM=0 时性能有所提升,例如在 H20 GPU 上。如果您想跳过较长的预热时间,禁用 DeepGEMM 也可能有所帮助。
启动 DeepSeek-V3.2-Exp¶
在 8xH200 (或 H20) GPU 上提供服务 (141GB × 8)¶
使用推荐的 EP/DP 模式
使用张量并行
在 8xB200 GPU 上部署¶
与上面相同。
目前仅支持 Hopper 和 Blackwell 数据中心 GPU。
准确性基准测试:¶
lm-eval --model local-completions --tasks gsm8k --model_args model=deepseek-ai/DeepSeek-V3.2-Exp,base_url=http://127.0.0.1:8000/v1/completions,num_concurrent=100,max_retries=3,tokenized_requests=False
结果
local-completions (model=deepseek-ai/DeepSeek-V3.2-Exp,base_url=http://127.0.0.1:8000/v1/completions,num_concurrent=100,max_retries=3,tokenized_requests=False), gen_kwargs: (None), limit: None, num_fewshot: None, batch_size: 1
|Tasks|Version| Filter |n-shot| Metric | |Value | |Stderr|
|-----|------:|----------------|-----:|-----------|---|-----:|---|-----:|
|gsm8k| 3|flexible-extract| 5|exact_match|↑ |0.9591|± |0.0055|
| | |strict-match | 5|exact_match|↑ |0.9591|± |0.0055|
GSM8K 得分 0.9591 非常好!
然后我们可以使用 num_fewshot=20 来增加上下文长度,测试模型是否能处理更长的上下文
lm-eval --model local-completions --tasks gsm8k --model_args model=deepseek-ai/DeepSeek-V3.2-Exp,base_url=http://127.0.0.1:8000/v1/completions,num_concurrent=100,max_retries=3,tokenized_requests=False --num_fewshot 20
结果
local-completions (model=deepseek-ai/DeepSeek-V3.2-Exp,base_url=http://127.0.0.1:8000/v1/completions,num_concurrent=100,max_retries=3,tokenized_requests=False), gen_kwargs: (None), limit: None, num_fewshot: 20, batch_size: 1
|Tasks|Version| Filter |n-shot| Metric | |Value | |Stderr|
|-----|------:|----------------|-----:|-----------|---|-----:|---|-----:|
|gsm8k| 3|flexible-extract| 20|exact_match|↑ |0.9538|± |0.0058|
| | |strict-match | 20|exact_match|↑ |0.9530|± |0.0058|
GSM8K 得分 0.9538 也非常不错!
性能优化技巧¶
- 内核主要针对 TP=1 进行了优化,因此建议在此模型下使用 EP/DP 模式运行,即 DP=8, EP=8, TP=1,如上所示。如果遇到任何错误或卡顿,可以尝试使用张量并行。简单的张量并行可以工作并且更稳定,但性能不是最优。
- 默认配置使用自定义的
fp8kvcache。您也可以通过指定kv_cache_dtype=bfloat16来使用bfloat16kvcache。默认情况允许在 kvcache 中缓存更多 token,但会产生额外的量化/反量化开销。总的来说,我们建议短请求使用bfloat16kvcache,长请求使用fp8kvcache。
如果您遇到类似 CUDA error (flashmla-src/csrc/smxx/mla_combine.cu:201): invalid configuration argument 的错误,可能是因为 batchsize 太大。尝试使用 --max-num-seqs 256 或更小的值(默认值为 1024)。
其他使用技巧,例如启用或禁用思考模式,请参考 DeepSeek-V3.1 使用指南。