Cosmos-Embed 视频检索与微调技能
用 Cosmos-Embed1 将视频与文本嵌入用于检索和微调。
技能明确声明仅需 Read 与 Bash,并使用容器、只读数据/spec 挂载及 HF_TOKEN 环境变量,且要求不得将令牌写入配置、日志或报告;但 Docker 使用 --network=host、--gpus all,model/results/hf_cache 可写,运行时执行未锁定的 pip install,未说明用户确认、权限隔离、回滚或敏感视频数据处理,因此扣分。
SKILL.md 提供 train/evaluate/inference/export 的命令、参数约束、检查点规则和多项故障排查,基于静态证据主路径较清晰;但未提供覆盖关键动作的提交测试,依赖容器、GPU、外部模型下载和 versions.yaml,且运行时修复依赖可能改变环境,因此受静态上限和不确定性限制扣分。
触发语句、适用任务、MSR-VTT 输入格式、模型变体和非适用的 AutoML 路由边界较明确;但主要面向 NVIDIA GPU、Docker 和特定视频数据格式,中文使用场景未说明,HF/模型下载依赖外部服务且未证明中国大陆网络可达,因此扣分。
文档结构较完整,包含快速开始、动作、参数、输出、数据格式、权重、S3 暂存和已知陷阱;技能声明 Apache-2.0、版本为 0.1.0,仓库提供许可证及 NVIDIA 维护/同步说明。但 BENCHMARK 报告指出缺少推荐的 Instructions 和 Examples,未见技能级 changelog、明确维护责任人或更新路径细节,因此扣分。
文档覆盖训练、评估、推理和导出,并给出可直接改写的 Docker 命令、模板参数和输出路径;BENCHMARK 报告记录单个任务通过且 Codex 正确性/有效性结果较高,但只有一个正向任务、无负向触发测试,且本评审未执行验证,因此无法超过静态上限并扣分。
存在固定修订、结构化 skill_info、配置模板、已知错误说明和 BENCHMARK 结果,提供有限可审计依据;但 benchmark 仅覆盖一个计划型任务,未包含关键动作的提交测试或多源复核,报告结果不能替代本次独立执行,因此仅给有限分数。
- 运行命令会使用主机网络、全部可见 GPU,并对 model、results 和 HuggingFace 缓存进行写入;使用前应确认数据、网络和文件权限范围。
- HF_TOKEN、Cosmos-Embed 权重及 google-bert/bert-base-uncased 依赖外部下载和可能的 gated agreement;应预先确认凭据、许可证/模型条款及中国大陆网络可达性。
- 文档要求每次动作运行 python -m pip install protobuf<7,但未给出完整依赖锁定或回滚方案;建议先在隔离环境中验证并保留可恢复的缓存与结果。
- BENCHMARK 仅有一个正向任务,不能证明真实训练、推理、导出及负向触发场景均可靠。
这个 Skill 能做什么,适合哪些场景?
该技能指导 AI 代理使用 NVIDIA Cosmos-Embed1 进行视频—文本嵌入。它覆盖文本搜视频、视频搜视频、零样本或 kNN 分类、语义去重,以及模型训练、评估、推理和导出。运行依赖 Docker、nvidia-container-toolkit、已发布的 Cosmos-Embed TAO 容器,以及下载受限模型权重时所需的 HuggingFace token。它适合已有本地视频和元数据、并具备 NVIDIA GPU 容器环境的团队。
通过 Docker 拉取并运行由 versions.yaml 解析的 Cosmos-Embed TAO 容器,调用 cosmos-embed1 的 train、evaluate、inference 和 export 命令。它读取挂载到容器中的视频、JSON 元数据、模型权重和 YAML 规格文件,支持 MSR-VTT 格式的本地视频 glob 与包含 video、caption 字段的列表元数据。训练生成检查点,评估生成 metrics.json,推理生成 results.json,并可导出 ONNX 或 HuggingFace 格式。它还提供 LoRA、单 GPU 恢复训练、评估嵌入缓存及 S3 数据暂存的配置指导。
- 视频平台团队希望用自然语言查询本地视频库时,使用文本到视频检索。
- 媒体或安防团队需要根据一个视频查找相似视频时,使用视频到视频搜索。
- 数据治理团队需要发现重复或近重复视频时,使用语义去重。
- 研究人员希望用自有视频—文本数据适配 Cosmos-Embed1 时,使用直接训练或 LoRA 微调。
- 模型部署团队需要把训练检查点转换为 ONNX 或 HuggingFace 格式时,使用导出动作。
这个 Skill 有哪些优点和局限?
- 覆盖训练、评估、推理和 ONNX/HuggingFace 导出等完整动作链。
- 明确说明 MSR-VTT 数据格式、检查点解析、LoRA 和常见故障处理。
- 支持 224p、336p 和 448p 三种分辨率变体。
- 仓库 README 说明已发布技能包含签名、Tier-3 评测数据集和基准报告。
- 必须使用 Docker、NVIDIA GPU 容器支持和已发布容器,不能把它视为纯 Python 本地库。
- Cosmos-Embed 容器中的 wandb 与 protobuf 7.x 存在兼容问题,每次动作前需降级 protobuf。
- S3 视频不能直接以 s3:// glob 供 CLI 使用,必须先暂存到本地或容器文件系统。
- 源材料未提供成本、GPU 型号兼容矩阵或独立的 skill-specific 测试报告。
如何安装这个 Skill?
安装整个 NVIDIA 技能集合:npx skills add nvidia/skills。只安装此技能:npx skills add nvidia/skills --skill tao-finetune-cosmos-embed --yes。也可以指定代理,例如:npx skills add nvidia/skills --skill tao-finetune-cosmos-embed --agent codex --yes。源材料未说明单独的 Python 包安装流程。
如何使用这个 Skill?
安装后,可向代理提出“fine-tune Cosmos-Embed1”“run cosmos-embed inference”“embed videos”或“search videos with text”等请求。运行时准备 data、model、specs 和 results 目录,使用 Docker GPU 选项挂载它们;先执行 python -m pip install "protobuf<7",再调用 cosmos-embed1 train、evaluate、inference 或 export。推理示例可覆盖 inference.query.input_texts=["a man is singing on stage"] 和 inference.k=5。模型权重可使用本地 /model/Cosmos-Embed1-224p,或使用 nvidia/Cosmos-Embed1-224p 并通过 HF_TOKEN 提供令牌。