[nv] dsv4 b200 agentic points at conc 14 and 18 - #2702
Conversation
|
Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase For PR verification, add the PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs 感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 如需进行 PR 验证,请为此 PR 添加 PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档 |
ad26169 to
544a1b8
Compare
544a1b8 to
557fb30
Compare
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=32439037745 |
There was a problem hiding this comment.
Additional findings (outside current diff — PR may have been updated during review):
-
🟡
utils/matrix_logic/validation.py:615-627— AgenticCodingSearchSpaceEntry.validate_topology_fields() (utils/matrix_logic/validation.py:615-627, forbid check ~line 656) forbidspp/dcp-size/pcp-sizeon multinode (prefill+decode) agentic search-space entries, but the newmax-num-seqs/long-prefill-token-thresholdfields added here were not added to that forbidden set. These two fields are single-node-only in practice (only read/wired by the single-node branches of generate_full_sweep/generate_test_config_sweep, and sweep-multi-node-agentic never passes them; MultiNodeAgenticMatrixEntry uses extra=forbid with no such fields), so a config author who mistakenly sets either field on a multinode agentic entry passes validation silently and the value is just dropped, instead of failing loudly the way an accidental pp/dcp-size/pcp-size does.Extended reasoning...
What the bug is:
validate_topology_fields()inAgenticCodingSearchSpaceEntryhas anexplicitly_single_node_fieldsset that forbidspp,dcp_size, andpcp_sizefrom being set on a search-space entry that also has complete multinode fields (prefillanddecodeboth present). This PR adds two new optional fields to the same model,max_num_seqsandlong_prefill_token_threshold(validation.py:618-624), but does not add them toexplicitly_single_node_fields(validation.py, the forbid check around line 656).Why they are single-node-only in practice: In
generate_sweep_configs.py, bothgenerate_full_sweepandgenerate_test_config_sweeponly readbmk.get(Fields.MAX_NUM_SEQS.value)/bmk.get(Fields.LONG_PREFILL_TOKEN_THRESHOLD.value)inside the single-nodeelsebranch of theis_multinodeconditional, and only wire them into the emitted entry inside the single-node per-concurrency loop. The multinode branch of both generators never reads or emits these fields. Downstream,sweep-agentic/sweep-agentic-evalsinrun-sweep.yml(single-node dispatch) passmax-num-seqs/long-prefill-token-thresholdthrough tobenchmark-tmpl.yml, butsweep-multi-node-agenticnever does.MultiNodeAgenticMatrixEntryalso hasmodel_config = ConfigDict(extra='forbid')and declares no such fields, so even if a value did reach that model it would hard-fail there — but it never gets that far, since the generator drops it first.The resulting inconsistency: if a master-config author sets
pp: 2(ordcp-size/pcp-size) by mistake on a multinode agentic search-space entry,validate_topology_fields()immediately raises a clear validation error at config-load time. But if the same author mistakenly setsmax-num-seqsorlong-prefill-token-thresholdon that same multinode entry, validation passes silently, and the value is quietly dropped by the generator with no error or warning anywhere in the pipeline — the multinode agentic job simply runs without ever seeing the intended override.Step-by-step proof:
- Author adds a multinode agentic search-space entry with
prefill: {...}, decode: {...}, max-num-seqs: 32to a master config. load_config_files->validate_master_config->AgenticCodingSearchSpaceEntry(**entry)parses successfully:max_num_seqs=32is accepted by the field definition, andvalidate_topology_fieldsonly checks{pp, dcp_size, pcp_size}againstmodel_fields_set, which does not includemax_num_seqs, so no error is raised.generate_full_sweep/generate_test_config_sweepreach theis_multinodebranch for this entry;max_num_seqsis simply never read (it's only read in theelsebranch), so it is not placed into the constructedentrydict.- The generated multinode matrix entry validates against
MultiNodeAgenticMatrixEntry(extra=forbid) successfully, since the field was never added. sweep-multi-node-agenticin run-sweep.yml dispatches the job with nomax-num-seqsinput at all — the author's override is gone with zero errors or warnings anywhere in the chain.
Impact and fix: Nothing crashes and the currently added recipe in this PR (single-node TP8 dsv4 points) is unaffected — it exercises only the single-node path, where these fields are handled correctly end-to-end. This is purely a defensive-validation gap: a future author extending a multinode agentic entry with these fields would hit silent, hard-to-diagnose config loss rather than an immediate, actionable error. The fix is small: add
"max_num_seqs"and"long_prefill_token_threshold"to theexplicitly_single_node_fieldsset invalidate_topology_fields(), mirroring howpp/dcp_size/pcp_sizeare already handled. - Author adds a multinode agentic search-space entry with
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=32439168184 |
557fb30 to
f308e40
Compare
04626c9 to
9e5dc0e
Compare
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=32444911176 |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=32445003063 |
9e5dc0e to
845436a
Compare
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=32451060388 |
845436a to
e401ba1
Compare
No description provided.