🚀 DeepSeek R1 AWQ
DeepSeek R1的AWQ量化版本。本项目由 Eric Hartford 和 v2ray 完成量化。此次量化对部分模型代码进行了修改,以修复使用float16时的溢出问题。
🚀 快速开始
若要使用8块80GB GPU通过vLLM部署该模型,可使用以下命令:
VLLM_USE_V1=0 VLLM_WORKER_MULTIPROC_METHOD=spawn VLLM_MARLIN_USE_ATOMIC_ADD=1 python -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --port 12345 --max-model-len 65536 --max-seq-len-to-capture 65536 --enable-chunked-prefill --enable-prefix-caching --trust-remote-code --tensor-parallel-size 8 --gpu-memory-utilization 0.95 --served-model-name deepseek-reasoner --model cognitivecomputations/DeepSeek-R1-AWQ
你可以点击 此处 下载我为PyTorch 2.6和Python 3.12构建的wheel文件。下面的基准测试就是使用这个wheel文件完成的,它包含 2个PR合并 以及一个未优化的A100 FlashMLA(仍然比Triton快),这极大地提升了性能。包含A100 FlashMLA的vLLM仓库可以在 LagPixelLOL/vllm@sm80_flashmla 找到,它是 vllm-project/vllm 的一个分支。它使用的A100 FlashMLA基于 LagPixelLOL/FlashMLA@vllm,这是 pzhao-eng/FlashMLA 的一个分支。
📊 每个请求的每秒令牌数(TPS)
GPU \ 批次 输入 输出 |
B: 1 I: 2 O: 2K |
B: 32 I: 4K O: 256 |
B: 1 I: 63K O: 2K |
预填充 |
8块H100/H200 |
61.5 |
30.1 |
54.3 |
4732.2 |
4块H200 |
58.4 |
19.8 |
53.7 |
2653.1 |
8块A100 80GB |
46.8 |
12.8 |
30.4 |
2442.4 |
8块L40S |
46.3 |
内存溢出 |
内存溢出 |
688.5 |
⚠️ 重要提示
- A100配置使用的是未优化的FlashMLA实现,仅在高上下文推理时比Triton更优,若经过优化速度会更快。
- L40S配置不支持FlashMLA,因此使用了Triton实现,这使得在高上下文情况下速度极慢。而且L40S的显存不多,无法处理太多上下文,同时它也没有快速的GPU间互连带宽,进一步降低了速度。不建议使用此配置进行部署,因为你必须将上下文限制在 <= 4096,
--gpu-memory-utilization
设为0.98,--max-num-seqs
设为4。
- 除L40S外,基准测试中使用的所有类型的GPU均为SXM外形规格。
- 在低批次大小时,推理速度会比FP8更好,但在高批次大小时会比FP8差,这是低比特量化的特性。
- vLLM现在支持AWQ的MLA,你可以仅使用8块80GB GPU以完整上下文长度运行此模型。
📄 许可证
本项目采用MIT许可证。
📋 模型信息
属性 |
详情 |
基础模型 |
deepseek-ai/DeepSeek-R1 |
任务类型 |
文本生成 |
库名称 |
transformers |