shrg7 commited on
Commit
7c61704
·
verified ·
1 Parent(s): a1ff7f6

Add droid-toys absjoint checkpoint

Browse files
README.md ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ tags:
4
+ - robotics
5
+ - vla
6
+ - pi0
7
+ - droid
8
+ - molmobot
9
+ - lora
10
+ ---
11
+
12
+ # MolmoBot-Pi0 — DROID-toys, absolute joint, r64 LoRA (merged)
13
+
14
+ Whole-model rank-64 LoRA fine-tune of
15
+ [MolmoBot-Pi0-DROID](https://huggingface.co/shrg7/MolmoBot-Pi0-DROID-equad) on
16
+ [`shrg7/droid-toys`](https://huggingface.co/datasets/shrg7/droid-toys), with
17
+ **absolute joint-position** action targets.
18
+
19
+ **The LoRA has already been merged into the base weights.** The uploaded
20
+ `model.safetensors` is flat (777 tensors, identical key set to the full-FT
21
+ counterpart) and loads directly into a plain `PI0Pytorch` — no PEFT, no adapter
22
+ folding needed at load time.
23
+
24
+ ## Checkpoint
25
+
26
+ - **Step 3500**, `val_action_loss = 0.0274`
27
+ - Merged with `scripts/merge_pi0_lora.py` (folds `lora_B @ lora_A * alpha/r`, α/r = 128/64 = 2.0; 333 modules folded)
28
+ - `assets/` holds the norm stats; `metadata.pt` the run metadata
29
+ - Optimizer state is **not** included (inference/eval only, no resume)
30
+
31
+ ## Training
32
+
33
+ | | |
34
+ |---|---|
35
+ | Config | `molmobot_pi0_lerobot_droid_absjoint` |
36
+ | Dataset | `shrg7/droid-toys` (LeRobot v3.0) — 31 episodes / 6,952 frames @15fps |
37
+ | Action repr | `joint_absolute` — targets are future absolute joint positions `q[t+1]`, 8-dim (7 arm + gripper) |
38
+ | Action horizon | 16 |
39
+ | Cameras | `exterior_1_left` (exo) + `wrist_left`, 224×224 resize-with-pad |
40
+ | LoRA | r=64, α=128, dropout 0.05, targets `q/k/v/o/gate/up/down_proj` across the VLM + action expert |
41
+ | Trainable | 118,112,256 params (3.26% of 3.62B); `vision_tower` frozen |
42
+ | Batch | 32, 1× NVIDIA L40 |
43
+ | LR | 5e-5 constant (300-step warmup; `peak_lr == decay_lr`, so the cosine is flat) |
44
+ | Steps | 3,500 of a planned 8,000 |
45
+
46
+ ### Validation curve
47
+
48
+ | step | val_action_loss |
49
+ |---|---|
50
+ | 2000 | 0.0331 |
51
+ | 2500 | 0.0313 |
52
+ | 3000 | 0.0273 |
53
+ | 3500 | **0.0274** |
54
+
55
+ ## Caveats
56
+
57
+ This checkpoint is **under-trained**: the run was cut short by a wall-clock limit
58
+ at 3,500 of 8,000 steps, with the loss curve still descending steeply.
59
+
60
+ Do **not** read the gap against the full-FT checkpoint
61
+ ([`MolmoBot-Pi0-DROID-toys-absjoint-fullft`](https://huggingface.co/shrg7/MolmoBot-Pi0-DROID-toys-absjoint-fullft),
62
+ val 0.0079) as a LoRA-vs-full-FT result. That run completed its full schedule at
63
+ 4× the effective batch; the two are not comparable at this point in training.
assets/droid_equad/norm_stats.json ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "norm_stats": {
3
+ "state": {
4
+ "mean": [
5
+ 0.14381547272205353,
6
+ -0.01525520347058773,
7
+ 0.22665268182754517,
8
+ -2.375757932662964,
9
+ -0.19893218576908112,
10
+ 2.159259557723999,
11
+ 0.7774521112442017,
12
+ 0.24431027472019196
13
+ ],
14
+ "std": [
15
+ 0.3617416024208069,
16
+ 0.4120100140571594,
17
+ 0.344979465007782,
18
+ 0.2962265908718109,
19
+ 0.31048065423965454,
20
+ 0.3002902567386627,
21
+ 0.7728461623191833,
22
+ 0.3485460877418518
23
+ ],
24
+ "q01": [
25
+ -0.1332843154668808,
26
+ -0.5958264470100403,
27
+ -0.05540205165743828,
28
+ -2.6645798683166504,
29
+ -0.5420994758605957,
30
+ 1.7278691530227661,
31
+ -0.16293670237064362,
32
+ 0.031214039772748947
33
+ ],
34
+ "q99": [
35
+ 0.3712266683578491,
36
+ 0.41510656476020813,
37
+ 0.46062949299812317,
38
+ -2.086469888687134,
39
+ 0.2004101276397705,
40
+ 2.4869449138641357,
41
+ 1.5071415901184082,
42
+ 0.7801601886749268
43
+ ]
44
+ },
45
+ "actions": {
46
+ "mean": [
47
+ 0.14381547272205353,
48
+ -0.01525520347058773,
49
+ 0.22665268182754517,
50
+ -2.375757932662964,
51
+ -0.19893218576908112,
52
+ 2.159259557723999,
53
+ 0.7774521112442017,
54
+ 0.2847833037376404
55
+ ],
56
+ "std": [
57
+ 0.3617416024208069,
58
+ 0.4120100140571594,
59
+ 0.344979465007782,
60
+ 0.2962265908718109,
61
+ 0.31048065423965454,
62
+ 0.3002902567386627,
63
+ 0.7728461623191833,
64
+ 0.41377538442611694
65
+ ],
66
+ "q01": [
67
+ -0.1332843154668808,
68
+ -0.5958264470100403,
69
+ -0.05540205165743828,
70
+ -2.6645798683166504,
71
+ -0.5420994758605957,
72
+ 1.7278691530227661,
73
+ -0.16293670237064362,
74
+ 0.023410528898239136
75
+ ],
76
+ "q99": [
77
+ 0.3712266683578491,
78
+ 0.41510656476020813,
79
+ 0.46062949299812317,
80
+ -2.086469888687134,
81
+ 0.2004101276397705,
82
+ 2.4869449138641357,
83
+ 1.5071415901184082,
84
+ 0.9907714128494263
85
+ ]
86
+ }
87
+ }
88
+ }
assets/train_config.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dfa4b08627b3e62308730752454bbfd6ae3622b110795e97b4be1933ab299665
3
+ size 1680
metadata.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1623b107268e76bc115df6c917e9d6dd8e914245bc5faf7f017908ff0a94d40d
3
+ size 2931
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a39ba5eef2f8fb40e17de8241b126e1f451c70c8be8ed46f13ca4864bffdde94
3
+ size 7011248800