TAO 本地 Docker 运行
帮助 AI 代理在本机或远程单节点 Docker GPU 主机上运行 TAO 作业。
文档披露了 Docker、远程 DOCKER_HOST、GPU、S3、NGC_KEY、HF_TOKEN 和 SSH 密钥等数据流,并要求部分安装先获用户批准;但 allowed-tools 包含宽泛 Bash,Docker 守护进程具有高权限,容器同名替换会停止并删除旧容器,且缺少启动前逐项确认、最小挂载、密钥防泄漏和回滚说明,因此扣分。未见恶意软件、凭据窃取或隐蔽外传等红线。
主流程、预检、GPU 分配、状态映射、日志和失败模式均有说明,且存在一份单任务外部评估报告;但静态材料未证明关键路径可复现,路径变量 TAO_SKILL_BANK_ROOT、TAO_SKILL_BANK_PATH 和默认 helper 路径不完全一致,安装依赖、远程路径和镜像兼容性仍有未覆盖边界,因此受静态上限限制并扣分。
目标用户、local/remote Docker 场景以及不适用的多节点和 SLURM 场景定义清楚,触发短语也较具体;但输入/输出契约、非适用边界和 Docker 挂载约定仍不完整,文档仅英文,且 NGC、PyPI、SSH 及云存储可达性对中国大陆环境未说明,因此扣分。
SKILL.md 有 frontmatter、版本、兼容性、凭据、监控、取消和失败模式,skill card 说明了所有者与 Apache 2.0;但缺少推荐的 Instructions 和 Examples 章节,benchmark 明确记录了这些结构问题,作者格式不规范,未见 changelog、维护责任人和明确更新路径,且仓库许可证元数据为 NOASSERTION,因此扣分。
对单节点 TAO Docker 任务提供了从预检到启动、监控和取消的可直接参考流程,并给出 SDK 与 docker run 两种路径;但只有一个正向评估任务,正确性约 47%/50%、效果约 60%,没有代表性实际输出或多种失败场景验证,仍需用户补充配置和审查,因此扣分。
存在修订固定的源文件、结构化配置、评估报告和一项 eval 定义,部分主张可审计;但评估样本仅 1 个、无负向任务,报告缺少可独立复现的执行产物,且没有覆盖核心 Docker/GPU/S3 路径的专属测试,因此静态证据仅支持有限分数。
- Docker 守护进程、远程 DOCKER_HOST、GPU、S3 凭据和 HOST_SSH_PATH 可能扩大主机或数据暴露面;执行前应逐项确认目标主机、挂载、镜像、凭据范围和 GPU。
- 同一 job_id 的替换流程会停止并删除既有容器;应先确认不会影响其他任务,并保留可恢复的配置、日志和输出。
- TAO_SKILL_BANK_ROOT 与 TAO_SKILL_BANK_PATH 的路径约定不一致,且关键依赖和镜像兼容性未由本次静态审查验证。
- 中国大陆用户需单独验证 PyPI、NGC、远程 SSH 和 S3 endpoint 的可达性与合规性。
这个 Skill 能做什么,适合哪些场景?
该技能指导代理使用配备 NVIDIA GPU 运行时的 Docker 守护进程执行 TAO SDK 作业。Docker 守护进程可以位于代理所在机器,也可以通过 DOCKER_HOST 连接远程 GPU 服务器。它覆盖运行前检查、数据路径与凭据验证、GPU 分配、容器监控、日志查看和取消作业。它适合开发、调试和小规模单节点任务,不适合远程集群调度、多节点训练或 SLURM 排队。
读取并检查 Docker 守护进程、NVIDIA 驱动、CUDA、NVIDIA Container Toolkit、GPU 可见性、GPU 占用、数据路径和模型凭据;运行 GPU smoke container;创建 Docker 网络;通过 Docker Python 客户端或直接 docker run 启动名为 tao-job-<job_id> 的 detached 容器;挂载 /dev/shm;映射容器状态并读取日志;停止容器以取消作业。可选的 TAO SDK 包装器提供 Job 句柄、S3 输入输出封装和 ActionWorkflow 持久性。
- 在配备 NVIDIA GPU 的开发机上运行 TAO 训练或推理容器,并检查运行时是否就绪。
- 在笔记本或工作站上提交任务到通过 DOCKER_HOST 暴露的远程单 GPU 服务器。
- 需要直接查看 Docker 容器状态和日志的 TAO 调试流程。
- 在单台主机上使用多个 GPU,通过 --gpus 或 gpu_count 分配资源。
- 需要 Job 句柄或 S3 输入输出自动下载与上传的 TAO SDK 工作流。
这个 Skill 有哪些优点和局限?
- 同时支持本机 Docker 和通过 DOCKER_HOST 连接的远程 Docker 主机。
- 包含 GPU 运行时、数据路径、凭据、GPU 占用和架构兼容性检查。
- 支持单主机多 GPU,并提供容器状态、日志和取消操作指导。
- 可选 TAO SDK 提供 Job 句柄、S3 I/O 封装和跨会话持久性。
- 明确不支持多节点训练、远程集群调度和 SLURM 排队。
- 依赖特定 NVIDIA 驱动、CUDA、Docker 和 NVIDIA Container Toolkit 版本。
- 远程模式下规格中的本地文件路径实际由远程 Docker 主机解释。
- 提供的材料没有记录该单项技能的测试套件或独立测试结果。
如何安装这个 Skill?
使用仓库 README 中的 skills CLI 安装指定技能:npx skills add nvidia/skills --skill tao-run-on-local-docker --yes。README 未说明该单项技能的其他手动安装步骤;安装后,代理下次加载技能并遇到相关任务时即可使用。
如何使用这个 Skill?
向代理提出“run locally”“local Docker”“remote Docker”或“use my GPU”等请求。运行前应执行主机预检:bash "$SETUP_SCRIPT" --backend docker --check-only,并确认 docker info 以及 docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi 成功。远程 Docker 使用 DOCKER_HOST=ssh://user@host 或 Docker context,并将远程主机上的路径传给 remote-docker 预检。若使用 SDK,可安装 nvidia-tao-sdk[docker] 并通过 DockerSDK().create_job(...) 创建任务,再调用 get_job_status 和 get_job_logs。
这个 Skill 与同类方案有什么区别?
该技能将直接 docker run 与可选的 TAO SDK Docker 包装器并列说明:前者无需 TAO SDK,后者增加 Job 句柄、S3 I/O 和 ActionWorkflow 持久性。它还明确建议对 Lustre 等远程共享文件系统使用拥有该文件系统的平台,例如 SLURM。