347 lines
9.7 KiB
YAML
347 lines
9.7 KiB
YAML
test_name: "DeepSeek-V4-Pro-w4a8-prefix-cache-PD"
|
|
model: "Eco-Tech/DeepSeek-V4-Pro-w4a8-mtp"
|
|
num_nodes: 4
|
|
npu_per_node: 16
|
|
|
|
routing:
|
|
type: "disaggregated_prefill"
|
|
groups:
|
|
prefiller: [ 0, 1 ]
|
|
decoder: [ 2, 3 ]
|
|
|
|
config:
|
|
- node_index: 0
|
|
port_start: 7100
|
|
dp_rpc_port: 12321
|
|
dp_size: 4
|
|
dp_size_local: 2
|
|
dp_rank_start: 0
|
|
tp_size: 8
|
|
dp_address: "${NODE_0_IP}"
|
|
|
|
- node_index: 1
|
|
port_start: 7100
|
|
dp_rpc_port: 12321
|
|
dp_size: 4
|
|
dp_size_local: 2
|
|
dp_rank_start: 2
|
|
tp_size: 8
|
|
dp_address: "${NODE_0_IP}"
|
|
|
|
- node_index: 2
|
|
port_start: 7100
|
|
dp_rpc_port: 12321
|
|
dp_size: 16
|
|
dp_size_local: 8
|
|
dp_rank_start: 0
|
|
tp_size: 2
|
|
dp_address: "${NODE_2_IP}"
|
|
|
|
- node_index: 3
|
|
port_start: 7100
|
|
dp_rpc_port: 12321
|
|
dp_size: 16
|
|
dp_size_local: 8
|
|
dp_rank_start: 8
|
|
tp_size: 2
|
|
dp_address: "${NODE_2_IP}"
|
|
|
|
env_common: &env_common
|
|
VLLM_USE_MODELSCOPE: "true"
|
|
SERVER_PORT: "${PORT}"
|
|
ASCEND_RT_VISIBLE_DEVICES: "${VISIBLE_DEVICES}"
|
|
VLLM_RPC_TIMEOUT: "3600000"
|
|
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "30000"
|
|
HCCL_EXEC_TIMEOUT: "204"
|
|
OMP_PROC_BIND: "false"
|
|
OMP_NUM_THREADS: "10"
|
|
PYTORCH_NPU_ALLOC_CONF: "expandable_segments:True"
|
|
TASK_QUEUE_ENABLE: "1"
|
|
HCCL_OP_EXPANSION_MODE: "AIV"
|
|
|
|
env_prefill: &env_prefill
|
|
<<: *env_common
|
|
HCCL_CONNECT_TIMEOUT: "6000"
|
|
HCCL_BUFFSIZE: "1024"
|
|
VLLM_ASCEND_ENABLE_FLASHCOMM1: "1"
|
|
VLLM_ASCEND_ENABLE_FUSED_MC2: "1"
|
|
VLLM_PREFIX_CACHE_RETENTION_INTERVAL: "4096"
|
|
|
|
env_decode: &env_decode
|
|
<<: *env_common
|
|
HCCL_CONNECT_TIMEOUT: "1200"
|
|
HCCL_BUFFSIZE: "1800"
|
|
|
|
templates:
|
|
- node_index: 0
|
|
envs:
|
|
<<: *env_prefill
|
|
server_cmd_template:
|
|
- --host
|
|
- "0.0.0.0"
|
|
- --port
|
|
- $SERVER_PORT
|
|
- --data-parallel-size
|
|
- ${DP_SIZE}
|
|
- --data-parallel-rank
|
|
- ${DP_RANK}
|
|
- --data-parallel-address
|
|
- ${DP_ADDRESS}
|
|
- --data-parallel-rpc-port
|
|
- ${DP_RPC_PORT}
|
|
- --tensor-parallel-size
|
|
- ${TP_SIZE}
|
|
- --enable-expert-parallel
|
|
- --seed
|
|
- "1024"
|
|
- --max-model-len
|
|
- "204800"
|
|
- --max-num-batched-tokens
|
|
- "8192"
|
|
- --max-num-seqs
|
|
- "16"
|
|
- --no-disable-hybrid-kv-cache-manager
|
|
- --tokenizer-mode
|
|
- "deepseek_v4"
|
|
- --tool-call-parser
|
|
- "deepseek_v4"
|
|
- --enable-auto-tool-choice
|
|
- --reasoning-parser
|
|
- "deepseek_v4"
|
|
- --model-loader-extra-config
|
|
- '{"enable_multithread_load": true, "num_threads": 128}'
|
|
- --trust-remote-code
|
|
- --gpu-memory-utilization
|
|
- "0.95"
|
|
- --quantization
|
|
- "ascend"
|
|
- --block-size
|
|
- "32"
|
|
- --enforce-eager
|
|
- --speculative-config
|
|
- '{"num_speculative_tokens": 1,"method": "mtp"}'
|
|
- --additional-config
|
|
- '{"enable_cpu_binding": true, "enable_dsa_cp": true}'
|
|
- --kv-transfer-config
|
|
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
|
|
|
|
- node_index: 1
|
|
envs:
|
|
<<: *env_prefill
|
|
server_cmd_template:
|
|
- --host
|
|
- "0.0.0.0"
|
|
- --port
|
|
- $SERVER_PORT
|
|
- --data-parallel-size
|
|
- ${DP_SIZE}
|
|
- --data-parallel-rank
|
|
- ${DP_RANK}
|
|
- --data-parallel-address
|
|
- ${DP_ADDRESS}
|
|
- --data-parallel-rpc-port
|
|
- ${DP_RPC_PORT}
|
|
- --tensor-parallel-size
|
|
- ${TP_SIZE}
|
|
- --enable-expert-parallel
|
|
- --seed
|
|
- "1024"
|
|
- --max-model-len
|
|
- "204800"
|
|
- --max-num-batched-tokens
|
|
- "8192"
|
|
- --max-num-seqs
|
|
- "16"
|
|
- --no-disable-hybrid-kv-cache-manager
|
|
- --tokenizer-mode
|
|
- "deepseek_v4"
|
|
- --tool-call-parser
|
|
- "deepseek_v4"
|
|
- --enable-auto-tool-choice
|
|
- --reasoning-parser
|
|
- "deepseek_v4"
|
|
- --model-loader-extra-config
|
|
- '{"enable_multithread_load": true, "num_threads": 128}'
|
|
- --trust-remote-code
|
|
- --gpu-memory-utilization
|
|
- "0.95"
|
|
- --quantization
|
|
- "ascend"
|
|
- --block-size
|
|
- "32"
|
|
- --enforce-eager
|
|
- --speculative-config
|
|
- '{"num_speculative_tokens": 1,"method": "mtp"}'
|
|
- --additional-config
|
|
- '{"enable_cpu_binding": true, "enable_dsa_cp": true}'
|
|
- --kv-transfer-config
|
|
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_producer", "kv_port": "30100", "engine_id": "1", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
|
|
|
|
- node_index: 2
|
|
envs:
|
|
<<: *env_decode
|
|
server_cmd_template:
|
|
- --host
|
|
- "0.0.0.0"
|
|
- --port
|
|
- $SERVER_PORT
|
|
- --data-parallel-size
|
|
- ${DP_SIZE}
|
|
- --data-parallel-rank
|
|
- ${DP_RANK}
|
|
- --data-parallel-address
|
|
- ${DP_ADDRESS}
|
|
- --data-parallel-rpc-port
|
|
- ${DP_RPC_PORT}
|
|
- --tensor-parallel-size
|
|
- ${TP_SIZE}
|
|
- --enable-expert-parallel
|
|
- --seed
|
|
- "1024"
|
|
- --max-model-len
|
|
- "204800"
|
|
- --max-num-batched-tokens
|
|
- "120"
|
|
- --max-num-seqs
|
|
- "30"
|
|
- --async-scheduling
|
|
- --block-size
|
|
- "32"
|
|
- --no-enable-prefix-caching
|
|
- --tokenizer-mode
|
|
- "deepseek_v4"
|
|
- --tool-call-parser
|
|
- "deepseek_v4"
|
|
- --enable-auto-tool-choice
|
|
- --reasoning-parser
|
|
- "deepseek_v4"
|
|
- --no-disable-hybrid-kv-cache-manager
|
|
- --model-loader-extra-config
|
|
- '{"enable_multithread_load": true, "num_threads": 128}'
|
|
- --trust-remote-code
|
|
- --speculative-config
|
|
- '{"num_speculative_tokens": 3,"method": "mtp"}'
|
|
- --gpu-memory-utilization
|
|
- "0.96"
|
|
- --quantization
|
|
- "ascend"
|
|
- --compilation-config
|
|
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
|
|
- --kv-transfer-config
|
|
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_consumer", "kv_port": "30800", "engine_id": "8", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
|
|
- --additional-config
|
|
- '{"ascend_compilation_config":{"enable_npugraph_ex":true,"enable_static_kernel":false},"enable_cpu_binding":true,"multistream_overlap_shared_expert":true,"recompute_scheduler_enable":true}'
|
|
|
|
- node_index: 3
|
|
envs:
|
|
<<: *env_decode
|
|
server_cmd_template:
|
|
- --host
|
|
- "0.0.0.0"
|
|
- --port
|
|
- $SERVER_PORT
|
|
- --data-parallel-size
|
|
- ${DP_SIZE}
|
|
- --data-parallel-rank
|
|
- ${DP_RANK}
|
|
- --data-parallel-address
|
|
- ${DP_ADDRESS}
|
|
- --data-parallel-rpc-port
|
|
- ${DP_RPC_PORT}
|
|
- --tensor-parallel-size
|
|
- ${TP_SIZE}
|
|
- --enable-expert-parallel
|
|
- --seed
|
|
- "1024"
|
|
- --max-model-len
|
|
- "204800"
|
|
- --max-num-batched-tokens
|
|
- "120"
|
|
- --max-num-seqs
|
|
- "30"
|
|
- --async-scheduling
|
|
- --block-size
|
|
- "32"
|
|
- --no-enable-prefix-caching
|
|
- --tokenizer-mode
|
|
- "deepseek_v4"
|
|
- --tool-call-parser
|
|
- "deepseek_v4"
|
|
- --enable-auto-tool-choice
|
|
- --reasoning-parser
|
|
- "deepseek_v4"
|
|
- --no-disable-hybrid-kv-cache-manager
|
|
- --model-loader-extra-config
|
|
- '{"enable_multithread_load": true, "num_threads": 128}'
|
|
- --trust-remote-code
|
|
- --speculative-config
|
|
- '{"num_speculative_tokens": 3,"method": "mtp"}'
|
|
- --gpu-memory-utilization
|
|
- "0.96"
|
|
- --quantization
|
|
- "ascend"
|
|
- --compilation-config
|
|
- '{"cudagraph_mode": "FULL_DECODE_ONLY"}'
|
|
- --kv-transfer-config
|
|
- '{"kv_connector": "MooncakeHybridConnector", "kv_role": "kv_consumer", "kv_port": "30800", "engine_id": "8", "kv_connector_extra_config": {"prefill": {"dp_size": 4, "tp_size": 8}, "decode": {"dp_size": 16, "tp_size": 2}}}'
|
|
- --additional-config
|
|
- '{"ascend_compilation_config":{"enable_npugraph_ex":true,"enable_static_kernel":false},"enable_cpu_binding":true,"multistream_overlap_shared_expert":true,"recompute_scheduler_enable":true}'
|
|
|
|
benchmarks:
|
|
perf_TPOT50_64_1_prefix90_warmup:
|
|
case_type: performance
|
|
dataset_path_local: vllm-ascend/GSM8K-in65536-bs512-prefix90-ds
|
|
request_conf: vllm_api_stream_chat
|
|
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
|
|
num_prompts: 4
|
|
max_out_len: 1
|
|
batch_size: 4
|
|
request_rate: 0
|
|
baseline: 0
|
|
threshold: 0.95
|
|
perf_TPOT50_64_1_prefix90:
|
|
case_type: performance
|
|
dataset_path_local: vllm-ascend/GSM8K-in65536-bs512-prefix90-ds
|
|
request_conf: vllm_api_stream_chat
|
|
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
|
|
num_prompts: 384
|
|
max_out_len: 1024
|
|
batch_size: 96
|
|
request_rate: 2.5
|
|
baseline: 1951.6
|
|
threshold: 0.95
|
|
perf_TPOT50_128k_1_prefix_warmup:
|
|
case_type: performance
|
|
dataset_path_local: vllm-ascend/GSM8K-in128k-bs512-prefix90-ds
|
|
request_conf: vllm_api_stream_chat
|
|
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
|
|
num_prompts: 4
|
|
max_out_len: 1
|
|
batch_size: 4
|
|
request_rate: 0
|
|
baseline: 0
|
|
threshold: 0.95
|
|
perf_TPOT50_128k_1_prefix90:
|
|
case_type: performance
|
|
dataset_path_local: vllm-ascend/GSM8K-in128k-bs512-prefix90-ds
|
|
request_conf: vllm_api_stream_chat
|
|
dataset_conf: gsm8k/gsm8k_gen_0_shot_cot_str_perf
|
|
num_prompts: 192
|
|
max_out_len: 1024
|
|
batch_size: 48
|
|
request_rate: 1
|
|
baseline: 869.13
|
|
threshold: 0.95
|
|
acc_aime2025:
|
|
case_type: accuracy
|
|
dataset_path: vllm-ascend/aime2025
|
|
request_conf: vllm_api_general_chat
|
|
dataset_conf: aime2025/aime2025_gen_0_shot_chat_prompt
|
|
temperature: 1.0
|
|
top_p: 1.0
|
|
thinking: "true"
|
|
max_out_len: 65536
|
|
batch_size: 32
|
|
baseline: 90
|
|
threshold: 10
|