Skip to content

Commit 367e3fb

Browse files
committed
docs(zh): sync AgentX fragments and infx generate in RECIPES_zh.md
Translate the recipe-fragment composition for AgentX recipes, the power: true telemetry block, the launcher-bound client paths and the AgentX output of infx generate from RECIPES.md.
1 parent d505742 commit 367e3fb

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

  • inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes

‎inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md‎

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ qwen3.5/trtllm/gb300-fp4/agentx/disagg-variants.yaml
2222
- 工作负载目录为 `1k1k`、`8k1k` 或 `agentx`。已有的跨序列长度配置集合放在 `fixed-seq-len` 下,保留其覆盖项选择器。
2323
- 文件名使用小写字母和连字符,以 `agg` 或 `disagg` 开头。包含拓扑及用于区分同目录配置的关键参数,例如并行方式、批大小、并发数、MTP、卸载或缓存设置。避免日期、带序号的延迟/吞吐量标签,以及重复目录中已有的模型或硬件信息。
2424
- 拓扑名中的 `1p4d` 表示预填充/解码 worker 数,不一定等于物理节点数。`p-tp4` 和 `d-tp8` 分别标识预填充和解码 TP;`b` 表示批大小,`c` 表示并发数。运行参数以 YAML 为准。
25-
- 覆盖项集合使用 `*-variants.yaml` 命名。仅在各配置间存在差异的多节点 AgentX 配置,按主配置条目合并为一个集合,通常为 `agg-variants.yaml` 或 `disagg-variants.yaml`:`base` 保存共享设置,每个原配置成为一个具名 `override_<name>` 块,只包含其差异(使用普通覆盖项,而非 `zip_override_*`)。主配置行通过 `srt-recipe: <bundle>.yaml:override_<name>` 选择其一,路径相对于条目的 `srt-recipe-dir`。启动器以文本方式读取的配置(例如带顶层 `telemetry:` 的功耗配置)保持独立文件。即使内容相同,也保留独立扫描入口:配置路径参与评估分组。Qwen3.5 的 `*-stp-sweep.yaml` 和 `*-mtp-sweep.yaml` 保留了这一既有区别。
25+
- 覆盖项集合使用 `*-variants.yaml` 命名。仅在各配置间存在差异的多节点 AgentX 配置,按主配置条目合并为一个集合,通常为 `agg-variants.yaml` 或 `disagg-variants.yaml`:`base` 保存共享设置,每个原配置成为一个具名 `override_<name>` 块,只包含其差异(使用普通覆盖项,而非 `zip_override_*`)。主配置行通过 `srt-recipe: <bundle>.yaml:override_<name>` 选择其一,路径相对于条目的 `srt-recipe-dir`。即使内容相同,也保留独立扫描入口:配置路径参与评估分组。Qwen3.5 的 `*-stp-sweep.yaml` 和 `*-mtp-sweep.yaml` 保留了这一既有区别。
2626
- 移动文件时,同步更新主配置中的 `srt-recipe-dir`、`srt-recipe` 和 `eval-srt-recipe` 引用,以及启动器路径规则、工作流过滤器和本地文档。保留上游来源 URL,并保持历史性能变更日志不变。不为旧目录结构提供别名。
2727

2828
共享运行时资源保留在模型目录旁的 `configs/` 中,不属于独立基准测试配置。`configs/dsv4-moe-load-balancer-configs/` 中的四个文件原样取自 NVIDIA/srt-slurm 提交 `deb1dfd9934398664f92d194169c183e009da83b`,保留了此前 DSV4 TRT 配置使用的 EPLB 初始专家分配;目前没有已提交的配置引用这些文件。srt driver([`infx/launch/drivers/srt/checkout.py`](../../../infx/launch/drivers/srt/checkout.py))将这些文件复制到作业仓库的 `configs/` 目录,供配置中的绑定挂载使用。将配置文件放入本目录不会启用该配置;实际基准测试矩阵由主配置决定。
@@ -42,31 +42,32 @@ TileRT 使用固定版本的上游 srt-slurm 子模块。配置指定 `roles.pre
4242
| `roles.prefill.args.tp-size`(SGLang) | `prefill.tp` |
4343
| `roles.prefill.args.ep-size`(SGLang) | `prefill.ep` |
4444
| `roles.prefill.args.enable-dp-attention` | `prefill.dp-attn` |
45-
| `benchmark.concurrencies` | `conc-list`(AgentX 配置;定长序列配置由绑定器写入) |
45+
| `benchmark.concurrencies` | `conc-list`(`power: true` 的行由绑定器写入) |
46+
| `telemetry:` | 搜索空间条目的 `power: true` |
4647
| 配置目录,相对于本目录 | 条目级 `srt-recipe-dir` |
4748
| 配置文件,可附带 `base`、`override_<name>` 或 `zip_override_<name>[<index>]` 选择器 | 搜索空间条目的 `srt-recipe`;仅评估的真实验证使用 `eval-srt-recipe` |
4849

4950
配置文件和主配置必须同步更新。启动器执行配置文件;主配置提供结果标签和调度元数据。聚合式配置使用 `roles.agg`;`roles.decode.nodes: colocate` 表示解码角色与预填充角色共享节点,不增加调度所需的工作节点数。
5051

5152
所有被引用的配置都必须纳入版本控制:srt-slurm 2 提供精选示例,不再携带历史 `recipes/` 目录。本次迁移补齐了 204 个此前依赖外部仓库的配置,并从 InferenceX 历史记录恢复了两个仍被引用的 AgentX 配置。主配置路径遵循上述目录结构,原有覆盖项选择器保持不变。
5253

53-
## 定长序列配置片段
54+
## 配置片段
5455

55-
定长序列配置(单节点和多节点)均为片段:只包含该配置特有设置的原生 srt-slurm YAML。启动时先组合片段,再绑定测试点:
56+
当前启用的配置(定长序列和 AgentX,单节点和多节点)均为片段:只包含该配置特有设置的原生 srt-slurm YAML。启动时先组合片段,再绑定测试点:
5657

57-
1. 工作负载的共享块 [`configs/srt-recipes/fixed-sequence-single.yaml`](../../../configs/srt-recipes/fixed-sequence-single.yaml) 或 [`fixed-sequence-multi.yaml`](../../../configs/srt-recipes/fixed-sequence-multi.yaml) 合并到片段之下(配置集合则合并到 `base` 之下)。片段优先:映射逐层合并,列表整体替换。共享块设置基准测试客户端;多节点共享块还将 `benchmark.env.TOKENIZER` 指向挂载的检查点 `/model`。
58+
1. 通道的共享块([`configs/srt-recipes/`](../../../configs/srt-recipes) 中的 `fixed-sequence-{single,multi}.yaml` 或 `agentic-{single,multi}.yaml`)合并到片段之下(配置集合则合并到 `base` 之下)。共享块设置基准测试客户端,多节点定长序列共享块还将 `benchmark.env.TOKENIZER` 指向挂载的检查点 `/model`。`power: true` 的多节点主配置行还会合并 [`telemetry-dcgm.yaml`](../../../configs/srt-recipes/telemetry-dcgm.yaml),其导出器使用集群的 `srt-slurm.power-exporter-port`;该通道必须允许功耗测量(`POWER_LANES`)。片段优先:映射逐层合并,列表整体替换,因此片段可以保留 `collector_join_timeout_seconds` 等遥测调优参数。
5859
2. 主配置行的选择器选出变体。单节点变体可以声明自身的 `benchmark.env.CONC`,使该并发数与其调优参数保持配对。
59-
3. 绑定器([`workload.py`](../../../infx/srt_slurm/workload.py))将矩阵测试点写入选中的配置:`model.path: hf:<model>`、`model.container: <image>`、`model.precision` 和 `benchmark.env.ISL`/`OSL`;片段声明了 `identity.container`/`identity.model` 时写入 `identity.container.image` 和 `identity.model.repo`;启用遥测时写入 `benchmark.concurrencies`。单节点配置还会获得 `MODEL`、`CONC`、`RANDOM_RANGE_RATIO` 和 `USE_CHAT_TEMPLATE`(当且仅当配置启用投机解码时为 `true`)。多节点客户端从作业环境读取 `CONC_LIST`。
60+
3. 绑定器([`workload.py`](../../../infx/srt_slurm/workload.py))将矩阵测试点写入选中的配置:`model.path: hf:<model>`、`model.container: <image>` 和 `model.precision`;片段声明了 `identity.container`/`identity.model` 时写入 `identity.container.image`(采用镜像仓库引用形式)和 `identity.model.repo`;启用遥测时写入 `benchmark.concurrencies`。定长序列配置还会获得 `benchmark.env.ISL`/`OSL`;单节点配置获得 `MODEL` 和 `CONC`,其中定长序列配置还获得 `RANDOM_RANGE_RATIO` 和 `USE_CHAT_TEMPLATE`(当且仅当配置启用投机解码时为 `true`)。多节点 AgentX 配置从启动器获得客户端的 `RESULT_DIR`、`AIPERF_DATASET_MMAP_CACHE_DIR` 和 `HF_HUB_CACHE`,启动器根据其挂载的卷(`volume-mounts`、`agentic-volume-mounts` 和通道挂载)推导这些路径;设置了 `HF_HOME` 的片段保留自身的缓存。多节点客户端从作业环境读取 `CONC_LIST`、`CONC`、`MODEL` 等矩阵输入,因此片段无需复制这些值;单节点 AgentX 测试点则通过运行时参数获得它们。
6061

61-
片段若设置了上述任一绑定键或 `benchmark.env.CONC_LIST`,即使取值相同,也会在提交前失败。`hf:<model>` 解析为集群预置的检查点(`models.entries`),主配置镜像解析为预置的容器,因此配置不再引用别名。AgentX 配置尚未采用组合方式,仍保持完整。
62+
片段若设置了上述任一绑定键、`telemetry.enabled`、`benchmark.env.CONC_LIST` 或 AgentX 客户端路径(`RESULT_DIR`、`AGENTIC_OUTPUT_DIR`、`HF_HUB_CACHE`、`HUGGINGFACE_HUB_CACHE`,多节点还包括 `AIPERF_DATASET_MMAP_CACHE_DIR`),即使取值相同,也会在提交前失败。`hf:<model>` 解析为集群预置的检查点(`models.entries`),除非 `models.OVERRIDES` 中的某一行改用 Hub 快照;主配置镜像解析为预置的容器,因此配置不再引用别名。
6263

6364
无需集群即可查看启动器实际提交的内容:
6465

6566
```bash
6667
uv run --extra recipes infx generate --config-key 'dsr1-fp8-h200-*' --output-dir /tmp/recipes
6768
```
6869

69-
该命令为每个定长序列测试点及变体写出一个已绑定的配置,经固定版本的 srtctl 校验,并生成 `manifest.json`,将每个文件映射到对应的矩阵测试点。作业名称、健康检查下限和运行时 `--set` 值等启动时修改不会应用。
70+
该命令为每个定长序列或 AgentX 测试点及变体写出一个已绑定的配置,经固定版本的 srtctl 校验,并生成 `manifest.json`,将每个文件映射到对应的矩阵测试点,以及其运行器标签调度到的唯一集群(标签跨多个集群时为 `null`)。多节点测试点会获得启动器根据该集群推导的绑定器输入:通道允许该行的 `power: true` 时加入 DCGM 遥测块(导出器使用该集群的 `power-exporter-port`),以及 AgentX 客户端路径。需要这些输入的测试点,若其运行器标签未指向唯一集群,或通道拒绝其功耗测量,则会失败。作业名称、健康检查下限和运行时 `--set` 值等启动时修改不会应用。
7071

7172
## 迁移与验证
7273

@@ -87,7 +88,7 @@ python -m infx.matrix.generate full-sweep \
8788

8889
- SGLang Model Gateway 配置使用 `frontend.type: sglang-router`;在 v2.36.0 中,`sglang` 表示不经过路由器的独立工作进程。
8990
- 对重复的 YAML 键,保留原 PyYAML 加载器实际采用的值。
90-
- DCGM 遥测使用 `collect_interval_ms: 1000`,替代 `provider` 和 `default_frequency`。采集器自动推导退出等待时间;原先显式设置的十秒不满足当前校验要求。保留原配置中服务发现进程的专用节点部署方式。固定的上游版本不支持在专用基础设施节点上启用遥测;该功耗兼容性问题仍待解决,不通过改变原有拓扑来绕过校验。H200 自定义配置声明默认并发数,提交前由启动器替换。
91+
- DCGM 遥测使用 `collect_interval_ms: 1000`,替代 `provider` 和 `default_frequency`。采集器自动推导退出等待时间;原先显式设置的十秒不满足当前校验要求。保留原配置中服务发现进程的专用节点部署方式。固定的上游版本不支持在专用基础设施节点上启用遥测;该功耗兼容性问题仍待解决,不通过改变原有拓扑来绕过校验。对于功耗测量行,绑定器根据测试点设置 `benchmark.concurrencies`。
9192
- DeepSeek-V4 vLLM 基准测试使用受支持的 `custom_tokenizer` 加载器。删除已废弃的 `warmup_req_rate: inf` 字段;当前上游客户端的预热速率固定为每秒 250 个请求。
9293
- 功耗读取器兼容两代 samples CSV,校验利用率字段,并继续根据瓦特数计算 GPU 板级能耗。
9394
- 评估选择通过原生 `post_eval.command` 和 `post_eval.passthrough_env` 调用 [`srt_eval.sh`](../srt_eval.sh)。TRT AgentX 配置通过 `dynamo.source.git` 声明原有的 Dynamo 分支仓库,启动器不再改写 srt-slurm 源码。

0 commit comments

Comments
 (0)