mewbot97 commited on
Commit
6dd9367
·
verified ·
1 Parent(s): 994ee85

G1b adapter and model card

Browse files
Files changed (3) hide show
  1. README.md +67 -0
  2. adapter_config.json +42 -0
  3. adapter_model.safetensors +3 -0
README.md ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model: meta-models/Muse-Glimmer-30B
4
+ library_name: peft
5
+ tags: [robotics, program-synthesis, lora, qlora, manipulation]
6
+ ---
7
+
8
+ # show-once · Glimmer program writer (G1b)
9
+
10
+ A QLoRA adapter for [Muse Glimmer 30B](https://huggingface.co/meta-models/Muse-Glimmer-30B). Given a task intent
11
+ (explicit rules such as "every cube into the red box") and the robot's object list, it writes a short, checkable
12
+ Python program against the robot API of [show-once](https://github.com/allwinlucious/show-once): `find`,
13
+ `find_all`, `pick`, `place`, `verify`, and so on. The program is checked, dry-run and executed by the robot stack.
14
+ The model never issues motions itself.
15
+
16
+ ## Training
17
+
18
+ * **Data:** 711 expert rows from the planning simulator ("plan tier": the real motion planner and robot
19
+ service, no physics):
20
+ * for every training task, every pick-order strategy was run;
21
+ * the label is the most reliable strategy that succeeded;
22
+ * 5 task families (cluster, packing, stacking, reach, sorting), 562 rows plus 149 sorting rows.
23
+ * **Method:** supervised fine-tuning with the model cookbook's QLoRA recipe:
24
+ * r 32, alpha 16, dropout 0.05;
25
+ * attention and MLP projections of the language model;
26
+ * NF4 base.
27
+
28
+ ## Results
29
+
30
+ Held-out tasks: 250 tasks (50 per family, including the never-trained `mixed` family), 3 runs per program. 95%
31
+ intervals are a bootstrap over tasks.
32
+
33
+ | | success |
34
+ |---|---|
35
+ | Glimmer, no adapter | 61% [56–67] |
36
+ | **this adapter** | **86% [82–89]** |
37
+ | best fixed strategy per family (reference) | 84% |
38
+ | oracle (any strategy) | 91% |
39
+
40
+ * **Stacking:** 47% → 97%.
41
+ * **The unseen family:** 51% → 82%.
42
+ * **Isaac Sim physics** (50 held-out tasks): 41/50, against 34/50 without the adapter.
43
+
44
+ What it learned is which strategy works for which kind of task. It did not learn per-scene judgement: the oracle
45
+ is not reached.
46
+
47
+ Full results, ablations (rejection sampling, DPO, GRPO, bf16 LoRA, seeds) and limitations:
48
+ `docs/designs/learning_results.md` in the repository.
49
+
50
+ ## Use
51
+
52
+ Load it on the NF4 base, as the cookbook evaluates adapters: transformers + PEFT. The repository's
53
+ `learn/chat_server.py` serves the base model and this adapter behind an OpenAI-compatible API:
54
+
55
+ ```
56
+ python learn/chat_server.py --root <dir containing runs/G1b> --adapters G1b
57
+ ```
58
+
59
+ ## Limitations
60
+
61
+ * Synthetic tabletop tasks only (cubes, boxes, plates).
62
+ * Strategy-level decisions only: grasps and motion stay with the robot stack.
63
+ * Physics results are on 50 tasks.
64
+
65
+ ## License
66
+
67
+ Apache-2.0, as the base model. This adapter is a derivative of Muse Glimmer 30B, fine-tuned as described above.
adapter_config.json ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "meta-models/Muse-Glimmer-30B",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": null,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 16,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.05,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "monteclora_config": null,
27
+ "peft_type": "LORA",
28
+ "peft_version": "0.20.0",
29
+ "qalora_group_size": 16,
30
+ "r": 32,
31
+ "rank_pattern": {},
32
+ "revision": null,
33
+ "target_modules": "model\\.language_model\\.layers\\.\\d+\\.(self_attn\\.(q|k|v|o)_proj|mlp\\.(gate|up|down)_proj)",
34
+ "target_parameters": [],
35
+ "task_type": "CAUSAL_LM",
36
+ "trainable_token_indices": null,
37
+ "use_bdlora": null,
38
+ "use_dora": false,
39
+ "use_qalora": false,
40
+ "use_rslora": false,
41
+ "velora_config": null
42
+ }
adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:36f6e344d7e3432f96d34e0929e04d0b7633ccb84f594b799bd561aae9341182
3
+ size 766880464