andreaskoepf commited on
Commit
02df922
·
verified ·
1 Parent(s): 9a8a74e

Add README with training details and evaluation results

Browse files
Files changed (1) hide show
  1. README.md +110 -0
README.md ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ tags:
4
+ - robotics
5
+ - vla
6
+ - lora
7
+ - dreamzero
8
+ ---
9
+
10
+ # DreamZero DK-1 LoRA (r=64, alpha=16, 20k steps)
11
+
12
+ LoRA fine-tune of [DreamZero-AgiBot](https://huggingface.co/nvidia/GR00T-DreamZero-AgiBot) on the
13
+ [DK-1 merged bimanual robot dataset](https://huggingface.co/datasets/andreaskoepf/dk1-merge-2026-03).
14
+
15
+ ## Model Details
16
+
17
+ | Parameter | Value |
18
+ |-----------|-------|
19
+ | Base model | DreamZero-AgiBot (Wan2.1-I2V-14B backbone) |
20
+ | LoRA rank | 64 |
21
+ | LoRA alpha | 16 |
22
+ | LoRA targets | q, k, v, o, ffn.0, ffn.2 |
23
+ | LoRA init | Kaiming |
24
+ | Action horizon | 24 steps per chunk |
25
+ | Action dim | 14 (6+1 left arm/gripper, 6+1 right arm/gripper) |
26
+ | Video resolution | 640x352 (3 cameras tiled: top, left_wrist, right_wrist) |
27
+ | Num frames | 33 per chunk |
28
+
29
+ ## Training
30
+
31
+ | Parameter | Value |
32
+ |-----------|-------|
33
+ | Steps | 20,000 |
34
+ | Training time | ~55.5 hours |
35
+ | GPUs | 4x H100 80GB |
36
+ | Batch size | 1 per device (4 effective) |
37
+ | Learning rate | 1e-5 (cosine schedule) |
38
+ | Warmup | 5% of steps |
39
+ | Precision | bf16 |
40
+ | DeepSpeed | ZeRO Stage 2 |
41
+ | Final loss | 0.056 |
42
+ | Final action loss | 0.007 |
43
+ | Final dynamics loss | 0.052 |
44
+
45
+ The model was fine-tuned from the pretrained DreamZero-AgiBot checkpoint with LoRA adapters
46
+ injected into the Wan2.1 DiT transformer layers. The action encoder/decoder heads were fully
47
+ trained. Training used a cosine LR schedule with 5% linear warmup.
48
+
49
+ W&B run: [dreamzero_dk1_merged_lora](https://wandb.ai/andreaskoepf/dreamzero-dk1-merged/runs/1as1175r)
50
+
51
+ ## Dataset
52
+
53
+ The [DK-1 merged dataset](https://huggingface.co/datasets/andreaskoepf/dk1-merge-2026-03) contains
54
+ 1,674 episodes (1.7M frames) of bimanual robot manipulation across 16 tasks, recorded at 30 FPS
55
+ with 3 camera views (top, left_wrist, right_wrist) at 640x360 resolution.
56
+
57
+ Tasks include: fold t-shirt, put ball in cup, grab cap, transfer lego cube, pick up spoon,
58
+ PCB placement, and various pick-and-place tasks.
59
+
60
+ ## Evaluation Results
61
+
62
+ ### GT-conditioned (4 chunks, 96 action steps)
63
+
64
+ Each chunk is conditioned on a fresh ground-truth frame. Measures action prediction accuracy.
65
+
66
+ | Task | MSE | Count |
67
+ |------|-----|-------|
68
+ | put the plastic in the cup | 0.013 | 2 |
69
+ | remove the pink thing from the box | 0.023 | 2 |
70
+ | put the ball in the cup | 0.026 | 11 |
71
+ | put the green bag in the box | 0.031 | 4 |
72
+ | put the pink thing in the box | 0.037 | 1 |
73
+ | put the plastic tube the box | 0.046 | 1 |
74
+ | grab the cap | 0.048 | 4 |
75
+ | Pick up the spoon | 0.052 | 1 |
76
+ | Take a PCB from the box and place it in the testbed | 0.059 | 4 |
77
+ | Fold the t-shirt | 0.059 | 22 |
78
+ | Transfer the lego cube to the other arm | 0.070 | 11 |
79
+ | **Overall** | **0.050** | **63** |
80
+
81
+ ### AR rollout (12 chunks, 288 action steps from single start frame)
82
+
83
+ Only the first chunk uses a GT frame; subsequent chunks condition on the previous prediction.
84
+
85
+ | Task | MSE | Count |
86
+ |------|-----|-------|
87
+ | put the ball in the cup | 0.200 | 5 |
88
+ | put the green bag in the box | 0.258 | 1 |
89
+ | Fold the t-shirt | 0.325 | 7 |
90
+ | grab the cap | 0.422 | 1 |
91
+ | Transfer the Lego Cube to the other arm. | 0.490 | 1 |
92
+ | Take a PCB from the box and place it in the testbed | 0.623 | 1 |
93
+ | **Overall** | **0.317** | **16** |
94
+
95
+ ## Usage
96
+
97
+ This checkpoint contains only LoRA adapter weights (~792MB). To use it, you need:
98
+
99
+ 1. **[Wan2.1-I2V-14B-480P](https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-480P)** — DiT backbone, VAE, CLIP, and T5 encoder
100
+ 2. **[DreamZero-AgiBot](https://huggingface.co/nvidia/GR00T-DreamZero-AgiBot)** — Pretrained base VLA weights (43GB)
101
+ 3. **[DreamZero codebase](https://github.com/NVlabs/DreamZero)** — `groot.vla` model code
102
+
103
+ The `load_lora` method in `groot.vla.model.dreamzero.base_vla.VLA` handles the full loading
104
+ sequence: base model weights first, then LoRA injection, then adapter weight loading.
105
+
106
+ ## Eval Outputs on HF
107
+
108
+ - `eval_gt4_v2/` — 63 episodes, GT-conditioned, 4 chunks (videos, action plots, summary)
109
+ - `eval_ar12/` — 16 episodes, AR rollout, 12 chunks
110
+ - Each episode contains: `video_pred_tiled.mp4`, `video_comparison.mp4`, `actions.png`