- Restructure repo around experiments/<name>/ and platforms/<chip>.env. - Add shared scripts under scripts/common/ for platform/server/bench-client logic. - Add Kunlun P800 platform config and runtime patches. - Add dsv4_p800_sglang experiment with INT8 smoke-test support. - Update BENCHMARK_WORKFLOW.md and README.md with chip/engine recording rules. - Add scripts/analysis/compare_experiments.py for cross-experiment comparison. - Ignore experiments/*/results/ raw output directories by default.
88 lines
3.8 KiB
Markdown
88 lines
3.8 KiB
Markdown
# DSV4 / DeepSeek-V4-Flash 推理测速项目
|
||
|
||
> 记录 vllm-dspark、SGLang、vLLM 等后端在 DeepSeek-V4-Flash 上的 benchmark 脚本与最终结果。
|
||
|
||
## 目录说明
|
||
|
||
| 目录/文件 | 说明 |
|
||
|---|---|
|
||
| `platforms/` | 芯片/加速器平台配置(`*.env`),如 P800、H200 |
|
||
| `scripts/common/` | 跨实验复用的 orchestration 组件(server 启停、health check、元数据生成) |
|
||
| `scripts/analysis/` | 跨实验对比分析工具 |
|
||
| `scripts/` | 旧版/legacy benchmark 脚本 |
|
||
| `experiments/` | 以实验为单位的自包含目录(脚本 + 配置 + 结果) |
|
||
| `bench_results/` | 历史归档的实验产物(只读) |
|
||
| `BENCHMARK_WORKFLOW.md` | benchmark 目录与命名规范 |
|
||
| `scripts/SLO_STANDARDS.md` | 推理服务 SLO 标准(TTFT/TPOT) |
|
||
|
||
> 注:`.gitignore` 已排除 `envs/`、`deps/`、`tmp/`、`datasets/`、`logs/`、`*.zip`、原始 `raw_outputs/*.jsonl` 等大文件/中间文件。
|
||
|
||
## 实验索引
|
||
|
||
### 新结构(experiments/)
|
||
|
||
| 实验 | 脚本 | 说明 |
|
||
|---|---|---|
|
||
| DSV4 P800 SGLang | `experiments/dsv4_p800_sglang/run_bench.sh` | Kunlun P800 + SGLang + DeepSeek-V4-Flash-INT8 |
|
||
|
||
### 旧结构(scripts/ + bench_results/)
|
||
|
||
| 实验 | 脚本 | 最终报告 | 说明 |
|
||
|---|---|---|---|
|
||
| DSpark grid benchmark | `scripts/benchmark_dspark_0707/run_dspark_benchmark_grid.sh` | `bench_results/dspark_grid_20260707-132641/report.md` | P1/P2/P3 全量网格 |
|
||
| DSpark spec-tokens 对比 | `scripts/benchmark_dspark_0707/run_dspark_st_comparison.sh` | `bench_results/dspark_st_comparison_20260707-150649/comparison_report.md` | `--spec-tokens 3` vs `5` |
|
||
| SGLang EAGLE vs DSpark | `scripts/start_sglang_dsv4_8card.sh` + 对比解析脚本 | `bench_results/eagle_grid/dspark_vs_eagle_report.md` | EAGLE 投机解码对比 |
|
||
| SGLang vs vLLM 后端对比(0707) | `scripts/benchmark_dsv4_backend_comparison.sh` | `bench_results/dsv4_backend_comparison_20260707/README.md` | 遗留 raw outputs 清单 |
|
||
| SGLang 8-card systematic | `scripts/run_sglang_benchmark.sh` | `bench_results/sglang_8card_systematic_20260704_120819/report.md` | 早期 SGLang 系统扫描 |
|
||
| SGLang 8-card max throughput | `scripts/run_sglang_max_throughput.sh` | `bench_results/sglang_8card_max_throughput_20260705_030839/summary.json` | 最大吞吐扫描 |
|
||
| vLLM-dspark Qwen3 | `scripts/bench_vllm_dspark_qwen3.py` | `bench_results/vllm_dspark_qwen3_20260705_121256/summary.json` | Qwen3 模型测速 |
|
||
| DSV4 后端对比(0705) | `scripts/bench_dsv4_comparison.py` | `bench_results/dsv4_comparison_20260705_152221/summary.json` | 早期 DSpark 配置对比 |
|
||
|
||
## 快速复现
|
||
|
||
### P800 SGLang
|
||
|
||
```bash
|
||
bash experiments/dsv4_p800_sglang/run_bench.sh
|
||
```
|
||
|
||
### DSpark grid
|
||
|
||
```bash
|
||
bash scripts/benchmark_dspark_0707/run_dspark_benchmark_grid.sh
|
||
```
|
||
|
||
### Spec-tokens 对比
|
||
|
||
```bash
|
||
bash scripts/benchmark_dspark_0707/run_dspark_st_comparison.sh
|
||
```
|
||
|
||
### 解析已有结果
|
||
|
||
```bash
|
||
# 新结构
|
||
python3 experiments/dsv4_p800_sglang/parse_results.py \
|
||
experiments/dsv4_p800_sglang/results/<run_id>
|
||
|
||
# 旧结构
|
||
/data/user1/yy/envs/sglang/bin/python scripts/benchmark_dspark_0707/parse_results.py \
|
||
/data/user1/yy/bench_results/dspark_grid_20260707-132641
|
||
```
|
||
|
||
## SLO 参考
|
||
|
||
详见 `scripts/SLO_STANDARDS.md`。
|
||
|
||
主要关注指标:
|
||
|
||
- **TTFT P95**:S2(DeepSeek-V4-Flash 所在层)目标 `< 3s`
|
||
- **TPOT**:S2 目标 `< 50ms`
|
||
|
||
## 环境要求
|
||
|
||
- **NVIDIA H200**:Python env `/data/user1/yy/envs/vllm-dspark`(服务端)、`/data/user1/yy/envs/sglang`(压测客户端);模型 `/data/models/DeepSeek-V4-Flash`、`/data/models/DeepSeek-V4-Flash-DSpark`。
|
||
- **Kunlun P800**:Docker 镜像 `iregistry.baidu-int.com/xpu/sglang-p800-pd-disagg-0510:20260511_4202`;模型 `/data1/models/DeepSeek-V4-Flash-INT8`;压测客户端在容器内运行。
|
||
|
||
平台相关常量见 `platforms/*.env`。
|