Skip to content

Commit d234592

Browse files
authored
[Docs] update_docs (#10180)
1 parent 9d6f81b commit d234592

File tree

3 files changed

+42
-7
lines changed

3 files changed

+42
-7
lines changed

llm/docs/predict/deepseek.md

+2
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
|:------|:-:|:-:|:-:|:-:|
3232
| deepseek-ai/DeepSeek-R1 |weight_only_int4||1| deepseek-ai/DeepSeek-R1/weight_only_int4 |
3333
| deepseek-ai/DeepSeek-R1 |weight_only_int4||1| deepseek-ai/DeepSeek-R1-MTP/weight_only_int4 |
34+
| deepseek-ai/DeepSeek-R1 |a8w8_fp8_wint4||1| deepseek-ai/DeepSeek-R1/a8w8_fp8_wint4 |
35+
| deepseek-ai/DeepSeek-R1 |a8w8_fp8_wint4||1| deepseek-ai/DeepSeek-R1-MTP/a8w8_fp8_wint4 |
3436
| deepseek-ai/DeepSeek-R1 |weight_only_int8||2| deepseek-ai/DeepSeek-R1-2nodes/weight_only_int8 |
3537
| deepseek-ai/DeepSeek-R1 |weight_only_int8||2| deepseek-ai/DeepSeek-R1-MTP-2nodes/weight_only_int8 |
3638
| deepseek-ai/DeepSeek-R1 |a8w8_fp8||2| deepseek-ai/DeepSeek-R1-2nodes/a8w8_fp8|

llm/docs/predict/speculative_decoding.md

+16-5
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,29 @@ Paper:https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf
5353
3. 使用分离框架,即 Base Model 和 MTP 分别加载权重,导出后兼容多种解码方式。
5454

5555
### MTP 支持量化精度
56+
5657
| 基础模型 | 部署机器 | 基础模型量化类型 | MTP 量化类型 |
5758
| --- | --- | --- | --- |
58-
| DeepSeek-V3 | TP8 | weight_only_int4 | weight_only_int8 |
59-
| DeepSeek-V3 | TP16(2*TP8) | weight_only_int8 |weight_only_int8 |
60-
| DeepSeek-V3 | TP16(2*TP8) | a8w8_fp8 | a8w8_fp8 |
59+
| DeepSeek-R1 | TP8 | a8w8_fp8_wint4 | a8w8_fp8 |
6160
| DeepSeek-R1 | TP8 | weight_only_int4 | weight_only_int8 |
62-
| DeepSeek-R1 | TP16(2*TP8) | weight_only_int8 |weight_only_int8 |
6361
| DeepSeek-R1 | TP16(2*TP8) | a8w8_fp8 | a8w8_fp8 |
62+
| DeepSeek-R1 | TP16(2*TP8) | weight_only_int8 |weight_only_int8 |
6463

65-
支持 DeepSeek-V3/R1 与 MTP 的多种推理混合精度,可通过容器部署或脚本的方式进行推理,以下为部分示例
64+
支持 DeepSeek-R1 与 MTP 的多种推理混合精度,可通过容器部署或脚本的方式进行推理,以下为部分示例
6665

6766
### 方法一:使用容器一键部署
67+
**DeepSeek-R1(a8w8_fp8_wint4) + MTP(a8w8_fp8), 单机 TP8 部署**
68+
69+
```shell
70+
export MODEL_PATH=${MODEL_PATH:-/PATH_TO_MODEL/}
71+
export MODEL_MTP_PATH=${MODEL_PATH:-/PATH_TO_MTP/}
72+
export model_name="deepseek-ai/DeepSeek-R1-MTP/a8w8_fp8_wint4"
73+
74+
docker run --gpus all --shm-size 32G --network=host --privileged --cap-add=SYS_PTRACE \
75+
-v $MODEL_PATH:/models -v $MODEL_MTP_PATH:/models-mtp -v /ssd2/paddle_example:/work -e "model_name=${model_name}" \
76+
-dit ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddlenlp:llm-serving-cuda124-cudnn9-v2.1 /bin/bash \
77+
-c -ex 'export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 && export MP_NUM=8 && export SPECULATE_MODEL_QUANT_TYPE="a8w8_fp8" && export SPECULATE_METHOD="mtp" && export SPECULATE_MODEL_PATH="/models-mtp" && export SPECULATE_MAX_DRAFT_TOKEN_NUM=1 && export BLOCK_BS=32 && export BLOCK_RATIO=0.25 && export BATCH_SIZE="128" && start_server $model_name && tail -f /dev/null'
78+
```
6879
**DeepSeek-R1(weight_only_int8) + MTP(weight_only_int8), 双机 TP16 划分**
6980

7081
1. 一键容器启动 MTP 推理服务

llm/server/docs/deploy_usage_tutorial.md

+24-2
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ export CUDA_VISIBLE_DEVICES=0
166166
export HEALTH_HTTP_PORT="8110" # 探活服务的http端口(当前仅用于健康检查、探活)
167167
export SERVICE_GRPC_PORT="8811" # 模型推服务的grpc端口
168168
export METRICS_HTTP_PORT="8722" # 模型服务中监督指标的端口
169-
export INFER_PROC_PORT="8813" # 模型服务内部使用的端口
169+
export INTER_PROC_PORT="8813" # 模型服务内部使用的端口
170170
export SERVICE_HTTP_PORT="9965" # 服务请求HTTP端口号,如不配置,默认为-1,即服务只支持GRPC协议
171171

172172
# MAX_SEQ_LEN: 服务会拒绝input token数量超过MAX_SEQ_LEN的请求,并返回错误提示
@@ -408,7 +408,7 @@ docker build --network=host -f ./dockerfiles/Dockerfile_serving_cuda124_cudnn9 -
408408
| MAX_DEC_LEN | int | 最大 decoer 序列长度 || 1024 | 服务会拒绝请求中 max_dec_len/min_dec_len 超过此参数的请求,并返回错误提示 |
409409
| BATCH_SIZE | int | 最大 Batch Size || 50 | 模型可同时并发处理的最大输入数量,不能高于128 |
410410
| BLOCK_BS | int | 缓存 Block 支持的最大 Query Batch Size || 50 | 如果出现 out of memeory 错误,尝试减少该数值 |
411-
| BLOCK_RATIO | float | || 0.75 | 建议配置 输入平均 Token 数/(输入+输出平均 Token 数) |
411+
| BLOCK_RATIO | float | || 0.75 | 建议设为输入长度占总长度的比例 |
412412
| MAX_CACHED_TASK_NUM | int | 服务缓存队列最大长度 || 128 | 队列达到上限后,会拒绝新的请求 |
413413
| PUSH_MODE_HTTP_WORKERS | int | HTTP 服务进程数 || 1 | 在 配置的情况下有效,高并发下提高该数值,建议最高配置为8 |
414414
| USE_WARMUP | int | 是否进行 warmup || 0 | |
@@ -417,6 +417,28 @@ docker build --network=host -f ./dockerfiles/Dockerfile_serving_cuda124_cudnn9 -
417417
| MODEL_DIR | str | 模型文件路径 || /models/ | |
418418
| model_name | str | 模型名称 ||| 用于支持模型静态图下载,具体名称参考文档(#./static_models.md)|
419419

420+
421+
## 显存相关参数推荐
422+
423+
* BLOCK_BS:设定 cacheKV block 的数量,服务支持的输入、输出的总 token 数为 NUM_TOTAL_TOKEN = BLOCK_BS * INFER_MODEL_MAX_SEQ_LEN
424+
* 例如 8K 的模型 BLOCK_BS 设为 40,则共可以支持 40*8 = 320K 的 token 长度
425+
* 例如 8K 的模型推荐配置 BLOCK_BS设为 40,运行 32K 的模型,支持的总 token 数不变,则 BLOCK_BS 设为 40 / (32K/8K) = 10,考虑到输入长度变化,影响激活峰值显存,可适当下调到 8 或 9
426+
* BLOCK_RATIO: block 分配给 encoder 和 decoder 的比例,建议设为 (平均输入长度+128) /(平均输入长度 + 平均输出长度) * EXTEND_RATIO,其中 EXTEND_RATIO 是超参,在大部分情况中,设为1即可,如输入长度方差较大,可根据具体情况设为 1.1~1.3
427+
* 例如一份平均输入 300,平均输出 1500,则 block_ratio 推荐值为 (300 + 128) / (300 + 1500) ≈ 0.25
428+
* BATCH_SIZE: 一般小于 NUM_TOTAL_TOKEN / (平均输入长度 + 平均输出长度)
429+
430+
| GPU 显存 | 部署模型 | 静态图权重 | 节点数 | 量化类型 | 导出长度 | 是否 MTP | MTP 量化类型 | 推荐 block_bs |
431+
|----------|--------------------|------------------------------------------------|------|----------------|--------|--------|---------------|---------|
432+
| 80GB | DeepSeek-V3/R1 | deepseek-ai/DeepSeek-R1/a8w8_fp8_wint4 | 1 | a8w8_fp8_wint4 | 8K || - | 40 |
433+
| 80GB | DeepSeek-V3/R1 | deepseek-ai/DeepSeek-R1-MTP/a8w8_fp8_wint4 | 1 | a8w8_fp8_wint4 | 8K || a8w8_fp8 | 36 |
434+
| 80GB | DeepSeek-V3/R1 | deepseek-ai/DeepSeek-R1/weight_only_int4 | 1 | weight_only_int4 | 8K || - | 40 |
435+
| 80GB | DeepSeek-V3/R1 | deepseek-ai/DeepSeek-R1-MTP/weight_only_int4 | 1 | weight_only_int4 | 8K || weight_only_int8 | 36 |
436+
| 80GB | DeepSeek-V3/R1 | deepseek-ai/DeepSeek-R1-2nodes/a8w8_fp8 | 2 | a8w8_fp8 | 8K || - | 50 |
437+
| 80GB | DeepSeek-V3/R1 | deepseek-ai/DeepSeek-R1-MTP-2nodes/a8w8_fp8 | 2 | a8w8_fp8 | 8K || a8w8_fp8 | 36 |
438+
| 80GB | DeepSeek-V3/R1 | deepseek-ai/DeepSeek-R1-2nodes/weight_only_int8 | 2 | weight_only_int8 | 8K || - | 40 |
439+
| 80GB | DeepSeek-V3/R1 | deepseek-ai/DeepSeek-R1-MTP-2nodes/weight_only_int8 | 2 | weight_only_int8 | 8K || weight_only_int8 | 36 |
440+
441+
420442
## 请求参数介绍
421443

422444
| 字段名 | 字段类型 | 说明 | 是否必填 | 默认值 | 备注 |

0 commit comments

Comments
 (0)