Instructions to use mewbot97/Intent2Action-glimmer-programs with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use mewbot97/Intent2Action-glimmer-programs with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("meta-models/Muse-Glimmer-30B") model = PeftModel.from_pretrained(base_model, "mewbot97/Intent2Action-glimmer-programs") - Notebooks
- Google Colab
- Kaggle
File size: 2,665 Bytes
6dd9367 5ec6b97 6dd9367 5ec6b97 6dd9367 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | ---
license: apache-2.0
base_model: meta-models/Muse-Glimmer-30B
library_name: peft
tags: [robotics, program-synthesis, lora, qlora, manipulation]
---
# Intent2Action · Glimmer program writer (G1b)
A QLoRA adapter for [Muse Glimmer 30B](https://huggingface.co/meta-models/Muse-Glimmer-30B). Given a task intent
(explicit rules such as "every cube into the red box") and the robot's object list, it writes a short, checkable
Python program against the robot API of [Intent2Action](https://github.com/allwinlucious/Intent2Action): `find`,
`find_all`, `pick`, `place`, `verify`, and so on. The program is checked, dry-run and executed by the robot stack.
The model never issues motions itself.
## Training
* **Data:** 711 expert rows from the planning simulator ("plan tier": the real motion planner and robot
service, no physics):
* for every training task, every pick-order strategy was run;
* the label is the most reliable strategy that succeeded;
* 5 task families (cluster, packing, stacking, reach, sorting), 562 rows plus 149 sorting rows.
* **Method:** supervised fine-tuning with the model cookbook's QLoRA recipe:
* r 32, alpha 16, dropout 0.05;
* attention and MLP projections of the language model;
* NF4 base.
## Results
Held-out tasks: 250 tasks (50 per family, including the never-trained `mixed` family), 3 runs per program. 95%
intervals are a bootstrap over tasks.
| | success |
|---|---|
| Glimmer, no adapter | 61% [56–67] |
| **this adapter** | **86% [82–89]** |
| best fixed strategy per family (reference) | 84% |
| oracle (any strategy) | 91% |
* **Stacking:** 47% → 97%.
* **The unseen family:** 51% → 82%.
* **Isaac Sim physics** (50 held-out tasks): 41/50, against 34/50 without the adapter.
What it learned is which strategy works for which kind of task. It did not learn per-scene judgement: the oracle
is not reached.
Full results, ablations (rejection sampling, DPO, GRPO, bf16 LoRA, seeds) and limitations:
`docs/designs/learning_results.md` in the repository.
## Use
Load it on the NF4 base, as the cookbook evaluates adapters: transformers + PEFT. The repository's
`learn/chat_server.py` serves the base model and this adapter behind an OpenAI-compatible API:
```
python learn/chat_server.py --root <dir containing runs/G1b> --adapters G1b
```
## Limitations
* Synthetic tabletop tasks only (cubes, boxes, plates).
* Strategy-level decisions only: grasps and motion stay with the robot stack.
* Physics results are on 50 tasks.
## License
Apache-2.0, as the base model. This adapter is a derivative of Muse Glimmer 30B, fine-tuned as described above.
|