Files
aituner/docs/aituner-roadmap.md

82 lines
5.1 KiB
Markdown
Raw 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.

# AITuner roadmap
本文只维护最小 roadmap我们想 claim 什么、已有证据在哪里、下一步缺哪块证据。
详细实验过程放到对应专题文档里,不在这里堆流水账。
## Paper frame
AITuner 的核心不是“用 LLM 调参”,而是一个 SLO-aware tuning agent workflow
```text
measurement -> observation -> bottleneck classifier -> candidate family
-> SLO-constrained scoring -> validator -> proposal / stop
```
LLM 的角色是 planner不是唯一贡献。Harness 给 planner 提供 domain-specific
system knowledge 和决策边界,使 tuning 从开放式 knob guessing 变成受测量约束的
优化过程。
## Scope decision
当前 paper 主线先聚焦 vLLM serving engine把 workflow/harness 机制论证完整:
```text
vLLM cases first: workflow/harness effectiveness, mechanism, robustness, near-optimum evidence
multi-engine later: engine adapter abstraction, low adaptation cost, one SGLang-style validation case
```
因此主 claim 不写成“已经完整验证所有 serving engines”。更稳妥的表述是
- AITuner 的 control loop 使用 engine adapter 抽象launch recipe、healthcheck、
OpenAI-compatible request API、engine-specific flag/env mapping、topology constraints。
- 当前实验集中在 vLLM 上,因为 vLLM case 足以完整证明 harness workflow 是否有效。
- 不同 serving engine 的兼容性作为 architecture portability 论证;只有补充
SGLang 等 engine 的 adapter 和至少一个验证 case 后,才升级为 evaluated claim。
## 设计点
| 设计点 | 作用 | 需要证明的性质 |
| --- | --- | --- |
| Observation | 把 config、probe history、SLO failure、latency profile、incumbent、failed signatures 结构化 | LLM 看到的是可计算状态,不只是自然语言日志 |
| Bottleneck classifier | 把 TTFT/prefill、decode TPOT、admission/queueing、memory/launch failure 分开 | proposal 方向和测量瓶颈一致 |
| Candidate family | 将 bottleneck 映射到 topology/runtime/cache/admission knob family | 搜索空间被压缩,但不写死单个 case |
| SLO-constrained scoring | 用 `max feasible req/s/GPU` 评价 candidate | 优化目标和生产 SLO 一致,不追 raw throughput |
| Validator / stop | 阻止非法、重复、失败 family在 search high saturated 或无有效候选时停止 | 减少 GPU burn同时避免过早停止 |
## Claim roadmap
| Claim | 当前状态 | 证据文档 | 缺口 |
| --- | --- | --- | --- |
| Harness 比 naive 收敛更快、上限更高 | 已有强证据 | [Qwen27B 2x2](harness-ablation/qwen27b-tight-2x2-model-ablation-20260623.md), [Qwen30B SLO robustness](harness-ablation/qwen30b-slo-robustness-20260624.md) | 补齐 Qwen235B decode 2x2 aggregate |
| Harness 不是强模型本身带来的收益 | 已有一个完整 2x2第二个正在跑 | [Qwen27B 2x2](harness-ablation/qwen27b-tight-2x2-model-ablation-20260623.md), [Qwen235B prefill progress](harness-ablation/qwen235b-prefill-2x2-progress-20260623.md) | 完成 Qwen235B decode 2x2更新 prefill final doc |
| Harness 对 SLO 变化 robust | Qwen30B 已完成 | [Qwen30B SLO robustness](harness-ablation/qwen30b-slo-robustness-20260624.md) | 选择一个第二 case 做 SLO sweep而不是立即铺很多 case |
| Harness 找到的是合理/near-optimum config | 部分解释已有,严格证据不足 | [Qwen30B SLO robustness](harness-ablation/qwen30b-slo-robustness-20260624.md), [AITuner summary](aituner-harness-summary.md) | 对 1-2 个 case 做局部 grid 或专家配置对照 |
| Harness 的每个组件都有贡献 | 设计解释已有,组件 ablation 不足 | [AITuner summary](aituner-harness-summary.md) | 做 no-classifier / no-family / no-validator / no-stop ablation |
| Workflow 可通过 engine adapter 迁移到其他 serving engine | 设计上可行,暂不作为主实验 claim | 当前 `EngineLaunchSpec` / launch recipe 抽象 | vLLM 主线完成后,再做 SGLang adapter 和一个低成本验证 case |
## 当前最高优先级
1. 完成并整理 Qwen235B decode 2x2。
目标:回答 `weak model + harness` 是否能超过 `strong model + naive`
2. 更新 Qwen235B prefill 2x2 final 文档。
目标:避免 roadmap 指向过期 progress 文档。
3. 选定一个 near-optimum 证明 case。
目标:用小规模 grid 或专家配置对照证明 harness 找到的是合理最优区间,而不是
prompt coincidence。
4. 决定第二个 SLO robustness case。
目标:证明 Qwen30B 以外也成立,但先不要盲目铺实验。
5. 设计 engine adapter 迁移实验,但暂缓执行。
目标:在 vLLM 证据链完整后,用一个 SGLang-style case 证明适配成本低,而不是提前分散主线。
## 暂不做
- 暂不同时开启大量 SLO sweep先对齐 paper frame 和最高价值 claim。
- 暂不把所有旧文档重写成中文;只对新证据文档和 roadmap 使用中文,旧文档按需要逐步迁移。
- 暂不 claim 全局最优;没有 grid/expert baseline 前,只 claim near-optimum evidence pending。
- 暂不把 multi-engine support 放进主 claim先写成 adapter-based design等 vLLM
机制证据完整后再补 SGLang validation。