ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

CANN graph-autofusion 中 SuperKernel 可选实验分支:multistream 与 P/FINAL source-range 的隔离执行与确定性回退

2026/9/18 18:46:36 拓冰建站 浏览量
CANN graph-autofusion 中 SuperKernel 可选实验分支:multistream 与 P/FINAL source-range 的隔离执行与确定性回退 CANN graph-autofusion 中 SuperKernel 可选实验分支multistream 与 P/FINAL source-range 的隔离执行与确定性回退【免费下载链接】graph-autofusionGraph-autofusion 是一个面向昇腾Ascend芯片的轻量级、解耦式组件集合旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件和 Autofuse 组件未来将持续开放更多自动融合相关模块。项目地址: https://gitcode.com/cann/graph-autofusiongraph-autofusion 的 SuperKernel 自动调优superkernel-auto-tune生命周期中optional_experiments是专门承载两类可选实验分支的独立阶段winner 验证之后的双流multistream调优以及显式请求的 P/FINAL 源码范围source-range优化。本文围绕技能契约文件 SKILL.md 逐节拆解该阶段的输入规则、执行入口、分支委托与回退语义并结合控制平面脚本与阶段清单说明其可执行验证链读完后你将掌握如何正确接入sk-optional-experiments阶段任务、如何在隔离 worktree 下运行可选实验以及如何保证任何非accepted结果都精确回退到原 incumbent、不污染父会话的账本与晋升路径。1. 阶段定位七个命名阶段中的第 6 个sk-optional-experiments是superkernel-auto-tune控制器串行调度的七个命名阶段之一。控制平面 auto_tune_session.py 中以PHASES字典固定了阶段到 (agent_id, skill) 的映射完整顺序如下AgentSkill阶段sk-intake-preparationsuperkernel-intake-preparation环境确认与实验准备sk-s0-baselinesuperkernel-s0-baselineS0 基线性能测量sk-stage-a-scope-selectionsuperkernel-stage-a-scope-selectionSK 框定方式选择sk-stage-o-option-tuningsuperkernel-stage-o-option-tuningOption 调优sk-base-profile-source-mappingsuperkernel-base-profile-source-mappingBASE profile、独立分析与 SMAPsk-optional-experimentssuperkernel-optional-experiments双流与 P/FINAL 实验sk-final-e2e-reportsuperkernel-final-e2e-report最终 E2E 确认与报告各阶段共享模型源码、缓存和 NPU 资源因此从不并行运行每次派发前控制器通过next命令返回唯一的合法step_id/phase/agent_id/skill只允许派发该唯一 agent。该阶段的阶段清单 phase.json 声明了它的身份与两个运行时工具{ schema_version: superkernel-phase-manifest-v1, phase: optional_experiments, agent_id: sk-optional-experiments, skill: superkernel-optional-experiments, runtime_tools: [ derived_family_lifecycle.py, experiment_ledger.py ] }技能元数据frontmatter 与 agents/openai.yaml 一致自述了本技能的职责边界只在获得用户授权的、隔离的 SuperKernel 双流与 P/FINAL 源码范围实验上运行并带有精确的 incumbent 回退。2. 输入与控制平面交接契约的第一条规则是输入白名单本阶段只接受superkernel-auto-tune控制器以optional_experiments阶段下发的任务返回的optional_branch是权威依据取值为none、multistream或source-range之一。会话侧的模式与控制平面代码严格对应。auto_tune_session.py 定义了会话级可选模式与派生入口点OPTIONAL_MODES {none, multistream, source-range, both} ENTRYPOINTS {full, optional-from-base, source-range-from-smap}也就是说任务既可能来自完整生命周期会话也可能来自控制器derive-session创建的派生会话optional-from-base或source-range-from-smap入口。会话创建时必须通过--optional-mode在冻结前由用户选定模式此后该模式对整个会话具有权威性python3 scripts/auto_tune_session.py init \ --session artifact-root/auto-tune-session.json \ --artifact-root artifact-root --session-id run-id \ --optional-mode none|multistream|source-range|both不同分支允许的结果状态由 auto_tune_session.py 中的_allowed_statuses固化分支允许的终端状态nonenot_requested仅此一种multistreamaccepted、no_gain、blocked、failed、invalidsource-rangeaccepted、no_gain、blocked、failed、invalid、not_run这组状态白名单保证了封账seal阶段的状态校验是确定性的none分支不可能意外产生实验结论而source-range允许not_run对应合法比较无法继续时如实记录的控制器契约。3. 执行入口先验证任务再发放工具计划SKILL 契约要求首先运行python3 scripts/execute_phase.py --task dispatch-task.json其中scripts/execute_phase.py指 superkernel-optional-experiments/scripts/execute_phase.py。该脚本只有两行逻辑把superkernel-auto-tune/scripts目录挂入sys.path后调用phase_entrypoint.run(manifest.../phase.json)。真正的校验与工具发放逻辑在 phase_entrypoint.py 中加载并校验阶段清单phase_entrypoint.py要求schema_version为superkernel-phase-manifest-v1phase/agent_id/skill/runtime_tools字段齐全runtime_tools为非空字符串列表且每个工具在superkernel-runtime-common/scripts目录下真实存在——缺失任何一个工具都会直接报错终止。校验 dispatch 任务归属phase_entrypoint.py读取--task指向的任务 JSON调用auto_tune_session.validate_dispatch_task后核对任务当前step的phase、agent_id、skill与本阶段清单完全一致不一致即抛出dispatch task is assigned to a different phase agent。这一步从机制上防止把可选实验任务派发到错误的 agent。输出工具计划phase_entrypoint.py成功后打印 JSON包含phase、agent_id、task_fingerprint会话指纹、phase_manifest路径commands中列出两个 runtime 工具的--help用法以及handoff对象schema 为superkernel-auto-tune-phase-result-v1并携带seal_after_agent_result: true——即本阶段产出的 handoff 必须先经过控制器 seal 校验才能进入下一阶段。其中runtime_tools的两个工具各自承担分支后的关键动作derived_family_lifecycle.py管理 multistreamaccepted结果衍生的派生实验家族。控制器契约要求用 bootstrap_derived_family.py 同目录生态中的引导脚本创建派生家族种子必须返回seed_registered、fresh_base_requiredtrue、ledger_merge_allowedfalse再由derived_family_lifecycle.py执行冻结的 fresh-BASE 计划、校验五轮 clean 运行收据、记录普通 schema 2 实验结果并合并账本且强制状态机顺序seed_registered - fresh_base_completed - ordinary_lifecycle_completed - ledger_merged任何更早状态都不允许合并见 controller-legacy-contract.md Optional Multistream Tuning Delegation 一节。experiment_ledger.py实验账本的validate与merge工具见同一契约的 Ledger Contract 一节python3 runtime-skill-dir/scripts/experiment_ledger.py validate \ experiments/S3/experiment-result.json python3 runtime-skill-dir/scripts/experiment_ledger.py merge \ --ledger experiments/experiment-ledger.json \ --result experiments/S3/experiment-result.json \ --output experiments/experiment-ledger.json如果需要在设备租约保护下执行 runtime 工具execute_phase.py还接受--tool 工具名 --lease-root root --device-id id [超时 --timeout-seconds 600]由 device_lease_runner 持有 per-device 租约运行工具并把执行 manifest 写入artifact-root/phase-executions/step_id/tool.json。这与契约中parent/child 必须共享同一绝对 lease root 的 NPU 租约的隔离要求对应。执行完入口脚本后SKILL 要求继续阅读可选分支规则文档 controller-legacy-contract.md再按分支执行。4. multistream 分支只走隔离路径非 accepted 一律回退对multistream分支SKILL 的执行规则是仅委托给既有的 multistream 技能sk-multistream-tuning-executor即 superkernel-multistream-performance-tuning并在隔离的 worktree/config/cache/artifact 分支下运行任何非 accepted 结果都恢复 BASE incumbent。被委托技能自身定义了隔离与回退的完整契约superkernel-multistream-performance-tuning/SKILL.md入口门只在父流程已冻结Sbest-BASE、通过正确性校验、采集了新鲜 profile-owned 元数据、且拿到有效的 schema 1.2 分析结果之后才接受工作请求对象必须是superkernel-multistream-request-v1option/scope/reorder或经scripts/multistream_critical_path_contract.py validate-request校验的-v2event/stage。能力预检在第一个 NPU 命令之前运行 adapter capability 与 run-specific collection preflight冻结实际动作集而非阶段标签并产出可回放的statusreadypreflight 收据缺失能力是实验前阻塞不得启动推理或采集投机 trace。隔离要求请求必须指定专属的 source worktree、实验根目录、config root 与缓存命名空间永远不得就地编辑 incumbent 的源码/配置、覆盖其产物或直接合并进父 schema 2 账本设备使用与父会话串行继承同一 parent lease marker共享缓存策略被冻结、清理时不得清空。结果语义只返回accepted/no_gain/blocked/failed之一。除accepted外一律返回incumbent_unchangedtrue、无选中候选、以及精确的 incumbent 作为 fallback缺失、畸形、过期或未校验的结果按同一 fallback 语义处理。分支发现 incumbent 证据本身无效时上报incumbent_evidence_invalid由父会话重新校验。分支不可继续时可用scripts/multistream_contract.py fallback生成确定性的非 accepted 结果。父控制器侧的补充规则controller-legacy-contract.md Optional Multistream Tuning Delegationmultistream是winner 唯一、freshSbest-BASE画像分析之后的可选分支accepted结果会启动一个命名独立的派生实验家族必须回到普通 BASE profile/source-mapping 阶段重跑fresh_base_requiredtrue隔离试验产物不进口 BASE/P/FINAL 证据missing/invalid/no_gain/blocked/failed则精确保留 incumbent且永不阻塞默认的whole_scope或单独请求的 P 路径。5. source-range 分支显式授权、精确映射、冻结选项P/FINAL 源码范围分支的门槛更高SKILL 契约给出三条硬性条件显式用户授权、精确源码映射、冻结的 BASE 选项。对应到控制器契约该分支只应在用户或冻结实验计划显式请求时启动绝不能因为 BASE 或 SMAP 完成了就创建 Pcontroller-legacy-contract.md Benefit-Driven Round Lifecycle。被修改的每个源码范围必须具有分析器校验过的source_scope_map_v2 exact字节区间证据kernel_projection_structural exact_projected_trace只算性能精确不产生源码偏移不能触发源码编辑。P/FINAL 轮次继承Sbest-BASE冻结的 optimize/debug option maps要求declared_option_changes[]并拒绝任何 option JSON Pointer 或配置漂移——preserve the frozen BASE option maps with no option actionFINAL 只物化源码动作。授权在分析工具层是显式的recommend_sk_strategy.py默认记录source_range_optimization_statusnot_requested只有逐个传入--source-range-optimization family才算授权未知/空/重名 fail-closed。在both模式下的顺序由控制平面保证SKILL 规定在 source-range 工作之前等待控制器插入的派生 BASE/SMAP 步骤。auto_tune_session.py 的ENTRYPOINTS同时提供optional-from-base与source-range-from-smap两个派生入口both模式下accepted的 multistream handoff 会让控制平面插入base-profile-derived步骤——即先完成新鲜 BASE/SMAPsource-range 步骤才成为唯一合法派发。6. 派生任务与证据导入任务可能来自完整会话也可能来自控制器批准的证据导入协议创建的派生会话。对派生任务SKILL 给出两条防伪造规则必须加载绑定的evidence_import清单对应 auto_tune_session.py 的EVIDENCE_IMPORT_SCHEMA superkernel-auto-tune-evidence-import-v1。不得索要虚假的派生 Intake/S0/A/O/BASE 交接也不得接受仅由 prompt 提供的未绑定路径——即所有证据路径必须由清单绑定而不是口头约定。这与 multistream 技能中派生入口必须绑定已完成的 verified parent、其封存的 BASE handoff、schema 1.2 分析与匹配的 schema 2 账本用户批准不能绕过这些门的表述互为印证。7. 必备交接项本地重叠不是提升SKILL 的 Required Handoff 一节规定了本阶段必须返回的六项内容分支请求证据、隔离结果isolated outcome、incumbent/fallback 身份、ledger/receipt 路径、blockers、中文指导Chinese guidance。这与 controller-legacy-contract.md 的阶段交接契约对齐每个阶段都必须在冻结 artifact root 下产出PHASE_REPORT.md与phase-result.jsonhandoff 包含会话 ID、phase ID、agent ID、终端状态、输入指纹、消费/产出的 artifact 路径、决策、blockers、失败场景路径如适用以及中文下一步指导这些记录引用而不替代采集清单、分析结果、清理收据或 schema 2 账本。handoff 之外契约还有一句不可妥协的判定原则——Local overlap is not promotion本地重叠不是提升恢复 Cube/Vector 重叠、或单个 SK 变快只是机制证据不是接受门槛accepted必须由完整的增量干净端到端性能门至少三轮 clean 运行对比冻结的 S0 基线均值、P90 与标准差不回退证明。multistream 技能开头同样声明Preserve the validated incumbent unless a trial proves a repeatable incremental end-to-end gain。8. 小结隔离、权威与确定性回退三原则把 SKILL 各节归纳起来superkernel-optional-experiments阶段的安全模型由三条原则支撑每条都有代码或契约落点隔离所有可选实验的 NPU 工作只发生在专属 worktree/config/cache/artifact 分支内incumbent 永不被就地修改multistream 技能 Isolation And Fallbackexecute_phase.py的 per-step 执行 manifest。权威optional_branch与冻结会话模式是唯一的分支依据_allowed_statuses把每个分支的合法终态写死在控制平面阶段任务先经validate_dispatch_task归属校验phase_entrypoint.py。确定性回退任何no_gain、blocked、failed、invalid或缺失/过期/畸形结果都精确恢复到实验前的Sbest-BASEincumbent 并返回incumbent_unchangedtrue且该回退永不阻塞未变更的whole_scope_clean_validation只有accepted才进入派生家族 全新普通 BASE 的再验证链。延伸阅读建议先读 superkernel-auto-tune/SKILL.md 与 controller-legacy-contract.md 建立整体生命周期观再对照 superkernel-multistream-performance-tuning/SKILL.md 的入口门与回退契约最后回到本文的 SKILL.md 与 phase.json即可完整复现可选实验分支的验证与执行链路。【免费下载链接】graph-autofusionGraph-autofusion 是一个面向昇腾Ascend芯片的轻量级、解耦式组件集合旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件和 Autofuse 组件未来将持续开放更多自动融合相关模块。项目地址: https://gitcode.com/cann/graph-autofusion创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考