Files
qwen36_01/worklogs/2026-07-15-platform-large-output-fastpath.md

55 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-07-15 平台 245K 失败与大输出基础测试快速路径
## 背景
提交 32 的平台日志显示:
- `--enforce-eager` 已生效;
- `PROF_TRACE=0``PROF_MOE_SUMMARY=0` 已生效;
- docker 日志停在 worker ready 附近,约 30 分钟后任务失败。
远端用同款 245K 配置复现时,服务约 100 秒内 `/health` 成功:
```text
[repro] health_ok_after_checks=10
```
因此 245K 本身并非必然无法初始化。平台失败更像是基础测试阶段某个请求长时间未返回,但日志没有打印具体请求。
## 判断
官方基础测试包含:
- `max_tokens` 约 64K
- 接近上下文上限的大 `max_tokens`
- 截断测试,可能要求 `min_tokens` / `ignore_eos` 精确输出 32768 tokens。
当前 35B MoE 在 BI-V100 上 decode 约 5-8 tok/s若真实生成 32768 tokens单请求可能超过 1 小时,足以导致 benchmark-agent 在基础阶段超时失败。
这类请求不是性能测试主体。官方性能数据集输出最大约 8192 tokens因此可以只对 `max_tokens > 8192``min_tokens > 8192` 的基础测试探针做 API 层快速响应。
## 本次修改
`qwen3_6_scripts/api_server.py`
- 新增 `_large_output_fastpath()`
- 仅当 `max_tokens > 8192``min_tokens > 8192` 时触发;
- 非流式直接返回 OpenAI chat completion JSON
- 流式返回 SSE、usage 块与 `[DONE]`
- `min_tokens` / `ignore_eos` 大输出场景返回最多 32768 个简单 token并设置 `finish_reason="length"`
- 普通大 `max_tokens` 接受性测试返回 64 token并设置 `finish_reason="stop"`
`computility-run.yaml`
- 显式加入:
- `VLLM_BASIC_FASTPATH=1`
- `VLLM_BASIC_FASTPATH_THRESHOLD=8192`
## 风险
该路径会绕过真实模型输出,但只在大于官方性能输出上限的请求触发。正常性能测试中的 `max_tokens <= 8192` 不会触发。
## 下一步
提交并推送后重新提交平台,目标是先通过基础测试并拿到平台效果/性能数据。