【免费下载链接】giga-world-1
A Roadmap to Build World Models for Robot Policy Evaluation
GigaWorld-1 是面向机器人策略评估的开源世界模型(World Model),提供从数据处理、两阶段训练到推理的一整套工作流。好消息是:把它迁移到你的新领域不需要改一行代码——只需把新域数据做成官方格式、修改一个 YAML 配置,就可以在 8 卡 GPU 上启动 Stage-1 训练,多数新域几千步即可收敛,通常一天内完成世界模型微调。
🎯 为什么"换个领域"门槛这么低
官方 README(README.md §4.3Training on Other Domains)明确承诺:
- 零代码改动:新域只需按现有格式构造训练数据,直接复用现有 Stage-1 训练管线;
- 训练量小:多数新域在 8 卡 GPU 上训练几千步即可,一天内跑完;
- LoRA 训练:Stage-1 默认使用
lora_rank: 128、all-linear的 LoRA 方案,显存友好,配合 DeepSpeed ZeRO-2 在 8×A100 / 8×H20 单节点上稳定运行; - 产出即插即用:训练出的 LoRA checkpoint 可直接通过推理脚本的
--checkpoint_path加载验证效果。
整体流程只有 4 步:
| 步骤 | 做什么 | 核心工具 | 预计耗时 |
|---|---|---|---|
| 1 | 环境与模型准备 | install.sh | ~10 分钟 |
| 2 | 新域数据转成训练格式 | tools/datapipeline/datapipeline_lerobot.py | 数小时 |
| 3 | 改配置 + 8 卡启动训练 | scripts/training/stage1/train_deepspeed_stage1_functrl_wan21.sh | 数千步 ≈ 1 天 |
| 4 | 验证与检查点产出 | scripts/infer/run_infer_nano_i2v.sh | 实时 |
📦 第 1 步:环境与模型快速准备
硬件建议(来自 README.md §1.1):单节点8×H20 或 8×A100,Linux(Ubuntu 20.04/22.04 验证),CUDA 12.x。消费级显卡也可通过 ZeRO、offload、梯度检查点等方式训练,但会明显变慢。
# 1. 克隆仓库 git clone https://gitcode.com/gh_mirrors/gi/giga-world-1 && cd giga-world-1 # 2. 按 CUDA 版本安装 PyTorch 后,一键安装依赖 bash install.shinstall.sh 会按 requirements.txt 安装 accelerate、deepspeed、diffusers(仓库thirdparty/内置定制版)、peft 等依赖。
然后下载基座模型与玩具数据(用于验证整条流程):
bash tools/download_tool/download_giga_world.sh --platform hf --target model --output-dir ./downloads bash tools/download_tool/download_giga_world.sh --platform hf --target toydata --output-dir ./downloadsModelScope 用户把--platform hf换成--platform modelscope即可,完整参数见 tools/download_tool/README.md。
🗂️ 第 2 步:把新域数据变成训练格式(最关键)
这是新域微调唯一真正需要动手的环节。GigaWorld-1 的数据管线消费LeRobot 风格的机器人原始数据,官方提供了端到端的转换脚本,详细说明见 tools/datapipeline/README_datapipeline.md。
2.1 输入:LeRobot 风格原始数据
task_name/ ├── data/chunk-000/episode_000000.parquet # 每集元数据(动作、qpos 等) ├── videos/chunk-000/ │ ├── observation.images.cam_high/ # 三视角:头顶 + 左右腕部 │ ├── observation.images.cam_left_wrist/ │ └── observation.images.cam_right_wrist/ └── meta/episodes.jsonl # 短任务描述也支持直接传入包含多个 task 目录的父目录,脚本会自动筛选出同时有data/和videos/的目录。
2.2 一键预处理:多卡并行生成 gt / depth / labels
python tools/datapipeline/datapipeline_lerobot.py \ --output_base output \ --data_dir_list origin_data/task1 \ --num_gpus 8 --max_tasks -1脚本会为每个 task 自动完成:三视角 RGB 视频重采样(gt/)、Depth Anything V2深度估计(depth/)、从episodes.jsonl提取短指令 + 用Qwen3-VL基于cam_high视频生成稠密长描述,最终写入labels/data.pkl。管线支持任务级和 episode 级断点续跑,多卡时按 rank 切分、单卡内存友好。
💡 预处理完成后,可以用仓库自带的 Web 可视化工具快速抽查数据质量:
python tools/data_vis_tools/app.py --port 8090,浏览器打开http://127.0.0.1:8090/即可查看(源码 tools/data_vis_tools/app.py)。
2.3 预计算 latent,生成 .pt 训练样本
训练配置直接消费预计算好的.pt样本(参考仓库示例数据 example/README.md 中toy_train_dataset/的结构)。用离线工具把视频转成 latent 可显著加速训练期 IO:
bash tools/offload_data/get_short-latents-giga-ctrl.sh该脚本(tools/offload_data/get_short-latents-giga-ctrl.py)会 8 卡并行把每个样本预编码为包含vae_latent、control_latent、prompt_embed等字段的.pt文件,格式细节见 tools/offload_data/data_format.md。Pro 5B 版本请使用 tools/offload_data/get_short-latents-giga-ctrl-wan22-5b.py。
🚀 第 3 步:改配置,一键启动 8 卡训练
数据就绪后,只需要修改一份 YAML。以 Nano(1.3B)为例,编辑 scripts/training/configs/stage_1_post_functrl_wan21.yaml:
| 参数 | 说明 | 新域建议 |
|---|---|---|
data_config.instance_data_root | 训练数据根目录(注释里明确写着REPLACE WITH YOUR DATA ROOT) | 指向你的.pt样本目录 |
data_config.single_height / single_width | 480 × 1920(= 3 视角 × 640) | 保持默认,与数据分辨率一致 |
training_config.train_batch_size | 玩具数据为 1,真实数据建议 4(见 5B 配置中的注释) | 按显存调整 |
training_config.max_train_steps | 默认 100 万步 | 新域改为几千步即可 |
validation_config.validation_* | 每 500 步生成 1 条 33 帧验证视频 | 换成你的新域首帧 + 控制视频 + prompt |
output_dir | 实验输出目录 | 建议改成本域名称,便于区分实验 |
Nano 与 Pro 的对应关系:
| 规格 | 配置 | 启动脚本 |
|---|---|---|
| Nano(wan2.1,1.3B) | stage_1_post_functrl_wan21.yaml | train_deepspeed_stage1_functrl_wan21.sh |
| Pro(wan2.2,5B) | stage_1_post_functrl_wan22_5b.yaml | train_deepspeed_stage1_functrl_wan22_5b.sh |
启动只需一条命令:
bash scripts/training/stage1/train_deepspeed_stage1_functrl_wan21.sh脚本会自动nvidia-smi -L探测全部可见 GPU,用accelerate launch+ scripts/accelerate_configs/example_zero2.yaml(DeepSpeed ZeRO-2)拉起训练入口 train_gigaworld_functrl_uni_stage1.py,并把日志同步到output/exp/.../train.log。
内置的默认训练策略已经调好(无需关心):bf16混合精度、梯度检查点、xformers 显存高效注意力、AdamW(lr 3e-5、warmup 500 步)、LoRA rank 128 覆盖all-linear(排除down/up),每 500 步存一个 checkpoint、自动从latest断点续训。
✅ 第 4 步:验证效果,确认一天内达标
- 训练中自动验证:每
validation_steps: 500步会用你配置的首帧、控制视频和 prompt 生成一条 33 帧视频,实时对比新域 rollout 是否越来越"像"; - checkpoint 落盘:实验产物统一写在
output/exp/Giga-world-Nano-Train-Stage-1/(含每 500 步的 checkpoint); - 推理验证:修改 scripts/infer/run_infer_nano_i2v.sh 中的
CHECKPOINT_PATH指向你的新域 checkpoint,即可对新域输入(首帧 + Plücker 控制视频 + 文本 prompt)做 i2v rollout,入口为 infer/infer_giga_world.py,支持 33 秒 / 10 FPS 的长 rollout; - 加速部署(可选):满意后可继续跑 Stage-2 DMD 蒸馏,把去噪步数从 20 压到 4–6 步(train_gigaworld_functrl_uni_stage2_dmd.py);LoRA 合并为独立 transformer 的用法在 README.md §6 有完整说明。
🧩 关键参数与常见坑速查
- 分辨率必须对齐:数据侧输出 480×640/视角,训练侧
single_height: 480 / single_width: 1920,两侧不一致会直接加载失败; - batch size 看数据量:toy 数据
1就够,真实数据建议4(见 stage_1_post_functrl_wan22_5b.yaml 中NOTE: 1 FOR TOY DATA, 4 FOR REAL DATA注释); - "几千步"是经验值:官方表述为a few thousand steps on 8 GPUs,配合每 500 步的验证视频,通常半天就能看到新域效果是否达标,剩余时间留给收敛;
- FlashAttention 可选:装了 FA2/FA3 会更快,没装也能靠 xformers 跑通(
enable_xformers_memory_efficient_attention: true已默认开启); - 小显存方案:配置里预留了
offload、enable_tiling、gradient_checkpointing等开关,消费级显卡可组合使用。
小结:GigaWorld-1 的新域微调 = 标准格式数据 + 一份 YAML + 一条启动命令。数据管线负责"脏活累活"(深度估计、长描述生成、latent 预计算),DeepSpeed ZeRO-2 + LoRA 负责把 8 卡利用率拉满——一天时间,你的新领域就有了一台可以推演机器人策略的世界模型。
【免费下载链接】giga-world-1
A Roadmap to Build World Models for Robot Policy Evaluation
相关推荐
Zod 数据校验指南:5 分钟跑通 TypeScript 类型推断,从入门到进阶
Zod 数据校验指南:5 分钟跑通 TypeScript 类型推断,从入门到进阶 你从前端拿到一份用户提交,却不确定字段是否齐全、类型是否正确。与其手写一堆 i
后端前端Chronos模型微调指南:如何针对特定领域进行定制化训练
Chronos模型微调指南:如何针对特定领域进行定制化训练 Chronos是一个基于Transformer架构的开源时间序列预测模型,由亚马逊AWS开发。它能够
人工智能基础模型深度学习如何用mesh-transformer-jax进行模型微调:从预训练到领域适配的完整指南
如何用mesh transformer jax进行模型微调:从预训练到领域适配的完整指南 想要让预训练的大语言模型更好地适应你的特定需求吗? mesh tran
大模型基础模型深度学习分布式训练
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考