NeMo-RL Kubernetes 启动助手
在 Kubernetes 上启动、监控、迭代和排查 NeMo-RL 训练任务。
技能明确要求先核验共享集群状态,并提示删除共享基础设施前确认;Secret 使用 secretKeyRef,未见凭据硬编码。扣分在于允许 Bash、Write、Edit 等高影响工具,包含集群删除、RayJob 删除和作业停止操作,确认、权限边界、回滚方案及数据流披露仍不完整,且 wandb 外部日志暴露风险仅间接提示。
命令、生命周期模式、常见故障和完成检查较系统,失败场景有若干诊断路径。静态评审未执行 CLI,技能本身没有提交覆盖关键路径的测试或明确错误输出契约;BENCHMARK 仅提供有限评测摘要,因此不超过静态上限10,扣除可复现性和异常输入反馈不足。
受众、Kubernetes/NeMo-RL 场景、触发短语、ephemeral 与 long-lived 边界较清楚,也覆盖监控、调试和开发循环。扣分在于依赖特定 NVIDIA/NeMo-RL 仓库结构、nrl-k8s CLI、Kubernetes 集群和 profile 配置,非适用范围与版本兼容边界不足,未说明中文交互支持;核心功能不是完全依赖海外服务,但 wandb 等外部服务可能影响部分流程。
SKILL.md 结构清晰,采用渐进式章节、表格、命令示例、gotchas 和完成清单;skill-card 给出 Apache 2.0、Owner、版本1.5.4、参考资料和评测信息。扣分在于 BENCHMARK 明确指出缺少 metadata.author、metadata.tags、Instructions、Examples,且维护责任和变更路径只由仓库同步/发布上下文间接体现,限制与故障排查仍有隐藏前置条件。
技能直接提供运行、监控、日志、停止和 teardown 的命令级流程,正向评测任务覆盖模式选择、日志获取和前置检查,显示核心任务有实际帮助。静态评审无法验证命令与当前 CLI、集群配置或 API 的一致性;输出仍依赖用户补齐 recipe、infra、namespace、权限和环境信息,因此只给接近静态上限7但略低的分数。
文件包含具体命令、路径、配置字段、评测任务及一份 benchmark 结果,具备一定审计线索;skill-card 还列出文档和源码参考。扣分在于没有本技能目录内覆盖关键路径的测试、CI 结果或独立复核材料,benchmark 的执行细节和证据链有限,不能静态确认关键声明。
- 执行前必须确认目标 namespace、recipe/infra 配对、PVC、Secret、ServiceAccount、权限和共享集群归属;cluster down、--replace、RayJob 删除等操作可能影响他人且缺少自动回滚。
- 不要把 wandb、HF 或镜像凭据写入 YAML 或命令行;确认日志、项目名、运行名和数据路径不会泄露敏感信息,并核实外部服务可达性。
- 该技能依赖特定仓库布局、nrl-k8s 版本、Kubernetes/KubeRay、调度器、DRA 和硬件 profile;应用前应以目标环境的实际 CLI help、相邻 infra 文件和权限策略复核命令。
- BENCHMARK 报告的评测结果属于静态提供的发布材料,不能替代在目标集群中的独立验证;中文支持、版本兼容和维护更新责任未充分说明。
这个 Skill 能做什么,适合哪些场景?
这是一个使用 nrl-k8s CLI 在 Kubernetes 集群上运行 NeMo-RL recipe 的操作手册。它覆盖 RayJob 临时集群和可复用的长期 RayCluster 两种生命周期模式,并提供状态查看、日志获取、任务停止和集群管理流程。手册还说明如何使用 Hydra 覆盖配置、处理共享文件系统差异,以及排查训练任务卡住或失败的问题。它适合已经拥有 Kubernetes、KubeRay 和 NeMo-RL 运行环境的工程团队。
指导代理先检查 recipe、基础设施文件、git 状态和 Kubernetes 前置资源,然后调用 nrl-k8s check、run、status、cluster、job、logs 和 dev 命令。它根据需要生成或应用 RayJob、RayCluster 和 Deployment,选择 upload、image 或 lustre 代码来源,跟踪训练状态并获取驱动日志。它还使用 kubectl、kubectl port-forward 和 Ray Dashboard API 检查作业、读取日志、停止任务并确认 RayJob 完成后的集群清理。
- NeMo-RL 工程师需要在 Kubernetes 上提交一次性训练任务,并希望任务完成后自动删除集群。
- 训练开发者需要反复修改配置并复用长期运行的 RayCluster 进行迭代。
- 平台运维人员需要查看 RayCluster、Pod、daemon 和 Ray Job 状态,或获取终止任务的驱动日志。
- 研究人员发现训练任务卡住或失败,需要检查节点调度、GPU 数量、DRA、共享文件系统和日志。
- 团队需要在不修改共享 recipe 文件的情况下,通过 Hydra 覆盖实验参数并生成唯一运行名称。
这个 Skill 有哪些优点和局限?
- 覆盖从校验、提交到监控、停止和清理的完整 NeMo-RL Kubernetes 流程。
- 清楚区分临时 RayJob 与长期 RayCluster,包含迭代和重建选项。
- 提供针对 GPU 调度、DRA、共享文件系统、OmegaConf 和日志获取的具体排障指导。
- 支持通过 README 所述 skills CLI 单独安装,不必手动复制技能目录。
- 依赖现成的 nrl-k8s CLI、kubectl、Kubernetes 集群、KubeRay 和 Ray 环境。
- 涉及共享集群和高成本 GPU 资源,错误的 cluster down 或重建操作可能影响他人。
- 技能内容未提供具体硬件 profile 的完整配置;使用新 profile 前仍需阅读相邻 infra 文件。
- 提供的是操作手册,不是独立的训练执行器;源材料没有给出该技能自身的测试结果或平台覆盖矩阵。
如何安装这个 Skill?
使用 NVIDIA/skills 仓库提供的 skills CLI 安装单个技能:npx skills add nvidia/skills --skill launch-nemo-rl --yes。README 未提供 nrl-k8s CLI 或 Kubernetes 集群的安装步骤;这些运行环境需要事先准备。
如何使用这个 Skill?
安装后,向代理提出明确任务,例如“在 Kubernetes 集群上提交这个 NeMo-RL training job”或“为什么这个 NeMo-RL run 卡住了,帮我查看日志”。实际运行时提供 recipe 和对应的 infra 文件,例如:nrl-k8s run <recipe> --infra <infra> --rayjob --dry-run;长期开发循环可使用 nrl-k8s run <recipe> --infra <infra> --run-id <id>。操作前应确认目标命名空间中的 PVC、Secret 和 service account,并在共享集群上删除资源前进行确认。