yy-fighting 5d1cd9c266 feat: add vLLM+DSpark vs vLLM-default TTFT comparison experiment
- New experiments/dsv4_h200_vllm_dspark_vs_default/
- start_dspark.sh: vllm serve with --spec-method dspark --spec-tokens 5
- start_default.sh: plain vllm serve baseline
- Unified scenario matrix (512/4000 input, 1/32/128 concurrency)
- parse_backend.py + compare.py focused on TTFT differences
- README.md + root README entries
2026-07-08 08:15:02 +00:00

48 lines
1.6 KiB
Bash

# Configuration for the vLLM-dspark vs vLLM-default comparison on H200.
# All values can be overridden via environment variables.
EXPERIMENT="dsv4_h200_vllm_dspark_vs_default"
# The dspark variant uses a separate checkpoint and the vllm-dspark env.
DSPARK_MODEL_NAME="DeepSeek-V4-Flash-DSpark"
DSPARK_MODEL_PATH="/data/models/DeepSeek-V4-Flash-DSpark"
# The default variant uses the standard checkpoint and the plain vllm env.
DEFAULT_MODEL_NAME="DeepSeek-V4-Flash"
DEFAULT_MODEL_PATH="/data/models/DeepSeek-V4-Flash"
SERVED_MODEL_NAME="deepseek-v4-flash"
# Different ports so the two backends can be tested independently.
DSPARK_PORT="${DSPARK_PORT:-30007}"
DEFAULT_PORT="${DEFAULT_PORT:-30008}"
# Virtual environments.
VENV_VLLM_DSPARK="${VENV_VLLM_DSPARK:-/data/user1/yy/envs/vllm-dspark}"
VENV_VLLM="${VENV_VLLM:-/data/user1/yy/envs/vllm}"
# Benchmark client always runs from the sglang env for consistency.
VENV_CLIENT="${VENV_CLIENT:-/data/user1/yy/envs/sglang}"
# Hardware: use all 8 H200 cards for both backends.
export CUDA_VISIBLE_DEVICES="0,1,2,3,4,5,6,7"
TP=8
# Scenarios focused on TTFT: low/high concurrency x short/medium input.
# Each element: "concurrency input_len output_len num_prompts"
if [[ -z "${SCENARIOS:-}" ]]; then
declare -a SCENARIOS=(
"1 512 256 32"
"32 512 256 128"
"128 512 256 128"
"1 4000 512 32"
"32 4000 512 64"
)
fi
MAX_MODEL_LEN=32768
MAX_NUM_SEQS=256
# Server start scripts bundled with this experiment.
DSPARK_START_SCRIPT="${SCRIPT_DIR:-.}/start_dspark.sh"
DEFAULT_START_SCRIPT="${SCRIPT_DIR:-.}/start_default.sh"