☰
如何在其他领域微调 GigaWorld-1:8 卡 GPU 一天内完成新域世界模型训练
2026/10/15 16:36:40 网站建设 项目流程

【免费下载链接】giga-world-1

A Roadmap to Build World Models for Robot Policy Evaluation

项目地址:https://gitcode.com/gh_mirrors/gi/giga-world-1
点击查看免费下载

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.sh

install.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 ./downloads

ModelScope 用户把--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_width480 × 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.yamltrain_deepspeed_stage1_functrl_wan21.sh
Pro(wan2.2,5B)stage_1_post_functrl_wan22_5b.yamltrain_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 有完整说明。

🧩 关键参数与常见坑速查

  1. 分辨率必须对齐:数据侧输出 480×640/视角,训练侧single_height: 480 / single_width: 1920,两侧不一致会直接加载失败;
  2. batch size 看数据量:toy 数据1就够,真实数据建议4(见 stage_1_post_functrl_wan22_5b.yaml 中NOTE: 1 FOR TOY DATA, 4 FOR REAL DATA注释);
  3. "几千步"是经验值:官方表述为a few thousand steps on 8 GPUs,配合每 500 步的验证视频,通常半天就能看到新域效果是否达标,剩余时间留给收敛;
  4. FlashAttention 可选:装了 FA2/FA3 会更快,没装也能靠 xformers 跑通(enable_xformers_memory_efficient_attention: true已默认开启);
  5. 小显存方案:配置里预留了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

项目地址:https://gitcode.com/gh_mirrors/gi/giga-world-1
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询