用途
cosmos-automl 是 Cosmos Framework 的 AutoML 技能,用于有界地优化 Cosmos Framework reasoner 的 SFT 超参数,或通过 GEPA 优化评估提示词。它要求先阅读 docs/automl.md,并以其为准了解安装/发布前置条件、manifest 契约、结果语义与当前限制。
主要能力
- 提供原生
cosmos-automlCLI;不调用 TAO runner,也不引入模型/运行时选择。引擎为可选 wheel,不是源码检出依赖。 - 支持数值、多保真、种群(PBT)和 LLM 引导的搜索方式。
- 提供
cosmos-automl plan --manifest <yaml> --workspace <directory>进行仅 CPU 的结构检查(非完整 Hydra/GPU 预检),审查原生命令、资源分配、挂载、指标、预算与前置条件。 - 提供
cosmos-automl prompts <verb>用于 GEPA 提示词优化。 - 支持通过
status/logs查看证据,通过cancel ... --approve停止原生任务。 - 可选用
search.pause_after_trials: [1]在首个试验后暂停,供完整数据结果与耗时审查后再恢复。
使用方式
- 先阅读 docs/automl.md;环境准备复用 cosmos3-setup,训练配方与数据集/检查点兼容性复用 cosmos3-post-training。AutoML 从显式配方开始,而非猜测的模型 ID。
- 收集留出数据、目标与方向、领域、固定训练预算(或累计 step 保真度)、随机种子、不可变数据/代码修订、GPU 分配以及试验次数/时限。检查训练/验证分离,最终测试数据不得进入优化循环。
- 在受支持的已安装 venv、Docker、SLURM、Kubernetes、Brev、Lepton 环境中选择;未选择时须询问,不存在默认项。镜像与资产须另行准备并获批准;不得静默拉取、下载、增加资源或回退到其他执行环境。
- 运行 plan 做结构检查;检查所选评估器的解码器与导出依赖以及训练依赖;仅训练 GPU 探测不能证明评估就绪。
- 在运行
run ... --approve或恢复resume ... --approve前取得审批;审批覆盖已审查的搜索预算,不覆盖无界试验重试。 - 使用 status/logs 获取证据;交付 best.json、获胜的原生 TOML、DCP 与留出指标,或报告无试验成功。
SLURM 相关要点
- 按每次试验执行指南准备控制器、镜像与凭证;使用用户配置的分区,检查其实时 wall-time 限制,控制器保持在 CPU;不得为容纳长分配而把搜索移到其他队列。队列时间与试验运行时间有各自预算,实验截止时间包含两者。
- 在 brain 启动前监督原生 CPU 分配;按指南的启动契约在提交前自动布防跨节点观察器、保留启动回执、在任何算法/API/作业扇出前标记边界。仅确认发生在扇出前的基础设施/观察器失败可使用获批的 CPU 启动重试;未知提交结果阻止替换。缺少实验账本不等于成功,未启动的模式报告为 NOT_STARTED。
- 若 CPU 分配可能先到期,审查指南中可选的
--controller-max-allocation、分配秒数与宽限在 plan 和 run 中的设置。CPU 交接会重新排队同一 CPU 作业并采纳现有 GPU 作业,不新增试验或 LLM 调用,也不延长实验截止时间。SUSPENDED 可能保留活动的 GPU 试验,不等于 PAUSED 审查闸门。 - 同一候选重试需同时有单试验与总上限;看门狗阈值须容纳原生进度报告间隙与加载。节点故障/抢占可重试,但仅 DRAIN 或裸 NCCL 超时不可。替换前确认终止。取消窗口后,新核心以
cancellation_reconciliation.state: WAITING保持 brain 存活。不得重启等待中的 brain。 - 心跳失败时区分 worker/批发布与训练进度,并关联节点事件、存储错误与作业日志;排除节点是放置保障,不是节点健康的证明。保留失败尝试,使用成功的 attempt_id 作为工件与晋升父级。不要升级活动控制器来启用恢复。
- 丢失/无效的 SLURM 提交回复进入有界核心协调;审查
execution.slurm.submission_reconcile_seconds(默认 120)。现有作业被采纳。未观察到的尝试需要共享 POSIX 锁启动栅栏后才能替换。scheduler_unavailable观察不是失败试验,控制器在原始截止时间内重试只读 SLURM 查询。
晋升/PBT
检查阶段计数、全时域调度器、donor DCP 状态与拓扑。每个阶段计为一次试验;部分预算分数不能获胜。PBT 可变异 LR/weight decay,不可变异 batch/accumulation 或架构。原生 DCP 去重可能留下空的 rank 本地分片;需要非空组件数据,而非每个 rank 上非空文件。在更大运行前检查目标拓扑上的续训并检查每个 rank 的恢复回执。
LLM 模式与 GEPA
- 审查端点/模型、数据披露与调用/令牌上限;凭证是环境变量名。提案是有界配置,不是可执行代码。不完整 API 回执不是付费重试许可;在审查新的有界调用前检查 error_kind、HTTP 状态、finish reason 与用量。
- GEPA 需要媒体不相交的 reflection/validation/test 角色。启用 allow_reflection_data 前审查将披露给 reflection 端点的查询、模型输出与净化反馈;Framework 适配器未启用图像上传。预算需覆盖最终聚合重排与可选测试评分以及 GEPA 内部指标调用。交接提示词与指标,而非新训练的检查点。
适用场景
适用于在 Cosmos Framework 中对 reasoner SFT 超参数做有界搜索,或对评估提示词做 GEPA 优化,并需要在 SLURM、Kubernetes 等受控环境中执行、具备审批、预算与审计约束的场景。
限制与验证状态
- 每个实验内执行是顺序的(ASHA 亦然),试验为单节点。
- 资料列出当前验证结果:有界 SLURM smokes 通过了固定预算搜索、GEPA、八 rank 检查点续训与 PBT donor 转移;真实端点 LLM/hybrid/autoresearch 搜索也通过了有界 GPU smokes。九个全数据数值/种群搜索中六个完成;Bayesian、Hyperband 和 DEHB 未完成其批准预算。实时基础设施恢复与 Hyperband-ES 曲线剪枝仍未验证;smoke 成功不是生产规模或模型质量验证。
- 移植期间核心保持 1.0.0.dev0;本地构建不是发布。使用 wheel 哈希与 engine_build 区分构建,而非版本号递增。暂停的搜索须保留确切旧 wheel/manifest;更改构建会导致恢复身份检查失败。
- 原生训练重试被禁用;仅只读提交采纳与观察重试是自动的。实时云 GPU 验证仍待完成。
- 不得将验证改进称为最终测试性能,也不得将 fixture 检查描述为 GPU 端到端验证。
- 除上述外,安装步骤、具体依赖版本、各搜索算法参数细节及收费信息暂未提供。