stabilize platform launch and record official-like baseline

This commit is contained in:
2026-07-15 03:23:39 +08:00
parent f49b8a51ec
commit 3cf62afaaa
4 changed files with 293 additions and 0 deletions

View File

@@ -880,3 +880,72 @@ Dockerfile text eol=lf
对应远端日志:
- `/root/work/logs/patch_head_lf_20260715.log`
## 2026-07-15官方相似负载基线与启动稳定性
### 配置
本轮使用官方相似合成数据集:
- 远端数据集:`/root/work/logs/synthetic_cumulative_8_s3_cap40k.jsonl`
- 请求数8
- 并发1
- `max_tokens=256`
- `--max-model-len 100000`
- `--max-num-seqs 1`
- `--max-num-batched-tokens 16384`
- `--enable-chunked-prefill`
- `--enable-prefix-caching`
- `--chat-template /workspace/chat_template_multi_system.jinja`
- `--enforce-eager`
- Native 优化环境:`MOE_NATIVE=1 CHUNK_PARALLEL=1 PREFIX_FLASH=1 RMSNORM_NATIVE=1 LOOP1_NATIVE=1`
本地归档结果:
- `worklogs/remote_results/2026-07-15-official-like-baseline/eager_c1_r8_t256_cap40k.json`
- `worklogs/remote_results/2026-07-15-official-like-baseline/patch_head_lf_20260715.log`
### 结果
| 指标 | 当前值 | 目标 | 结论 |
| --- | ---: | ---: | --- |
| Success Rate | 100.00% | >= 99% | 通过 |
| Cache Hit Rate | 74.17% | >= 50% | 通过 |
| TTFT P90 | 9.803s | <= 5s | 未通过 |
| Output TPS P10 | 5.825 | >= 20 | 未通过 |
| Weighted Token Throughput | 883.109 | >= 8000 | 未通过 |
| Aggregate Output TPS | 5.789 | - | 参考 |
| Aggregate Uncached Input TPS | 178.330 | - | 参考 |
| Aggregate Cache TPS | 512.015 | - | 参考 |
### 观察
官方相似负载下,当前瓶颈不再是模板兼容或缓存命中率,而是长上下文 prefill/缓存读取吞吐和 decode routed expert 吞吐都偏低。8 条请求中,短输出 decode 约 5.8-8.5 tok/sTTFT P90 被第二条长请求拉到 9.8s。
不加 `--enforce-eager` 的 CUDA Graph 路径在 BI-V100 当前环境中启动 OOM典型日志为
```text
torch.cuda.OutOfMemoryError: Tried to allocate 256MiB. GPU 1 ...
```
因此提交平台配置先加入 `--enforce-eager`,目标是保证镜像启动和评测稳定。后续如果要重新打开 CUDA Graph需要先解决图捕获阶段额外显存开销否则平台会直接启动失败。
### 异常处理
尝试 `--max-num-batched-tokens 32768` 后服务启动 OOM并留下 GPU1-3 约 30GB 显存残留。`ixsmi` 进程表为空,但 `ps` 发现上一次 worker 残留为 `multiprocessing.spawn` 子进程。清理残留进程后,显存恢复到每卡约 257MiB。
结论:后续每次 OOM 后必须先确认:
```bash
ps -ef | grep -E 'multiprocessing.spawn|resource_tracker|vllm.entrypoints|api_server'
ixsmi
```
若存在残留 worker需清理后再继续实验否则会把脏显存误判为参数不可行。
### 下一步
1.`--enforce-eager + max_num_batched_tokens=16384` 作为稳定提交基线。
2. 在干净显存下重新验证 `max_num_batched_tokens=32768` 是否必然 OOM。
3. 对官方相似负载做参数矩阵:`max_num_batched_tokens``gpu_memory_utilization``max_model_len``max_num_seqs`
4. 若参数调优收益不足,继续深入 `PREFIX_FLASH` 和 MoE routed expert 的 native/kernel 路径 profiling。