Instructions to use AlexWortega/tinyvla with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use AlexWortega/tinyvla with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
Upload tinyvla2/RESULTS.md with huggingface_hub
Browse files- tinyvla2/RESULTS.md +47 -0
tinyvla2/RESULTS.md
CHANGED
|
@@ -796,3 +796,50 @@ Not comparable to our LeKiwi numbers (C-scaled 1.67, +joint 2.10): those are
|
|
| 796 |
integrated endpoint error in canonical base-frame EE space, these are native joint
|
| 797 |
space. The only shared, comparable statement is that **both lines fail on LeKiwi**,
|
| 798 |
each against its own trivial floor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 796 |
integrated endpoint error in canonical base-frame EE space, these are native joint
|
| 797 |
space. The only shared, comparable statement is that **both lines fail on LeKiwi**,
|
| 798 |
each against its own trivial floor.
|
| 799 |
+
|
| 800 |
+
## Closed-loop eval was single-draw, and that was costing more than any ablation
|
| 801 |
+
|
| 802 |
+
`predict_action_chunk` starts from `torch.randn` and nothing seeded it, so every
|
| 803 |
+
closed-loop rollout was a lottery. Caught by accident: the SAME checkpoint with the
|
| 804 |
+
SAME settings scored **4/20 and then 8/20** on consecutive runs. Every previously
|
| 805 |
+
reported closed-loop number was one draw from that distribution.
|
| 806 |
+
|
| 807 |
+
Fixed by averaging the flow ODE over 4 noise draws per decision and seeding each
|
| 808 |
+
decision deterministically (`--pred-seeds`, default 4). The eval is now reproducible
|
| 809 |
+
— three consecutive runs returned exactly 70.0%.
|
| 810 |
+
|
| 811 |
+
**How much it was costing depends on how converged the checkpoint is:**
|
| 812 |
+
|
| 813 |
+
| checkpoint | single draw | 4-seed averaged |
|
| 814 |
+
|---|---|---|
|
| 815 |
+
| new run, 5k steps (n=20) | 20% / 40% (two runs) | **70%** |
|
| 816 |
+
| old run, 5k steps (n=20) | 40% | **60%** |
|
| 817 |
+
| old run, 30k steps (n=50) | 70% | 68% |
|
| 818 |
+
|
| 819 |
+
At 30k the averaging changes nothing (70 vs 68, within noise) — the flow field is
|
| 820 |
+
sharp enough that one draw is already near the conditional mean. At 5k it is worth
|
| 821 |
+
20-30 points, because an under-trained field is diffuse and the noise compounds over
|
| 822 |
+
a 500-step rollout. **So the published 70% for the converged model stands**, but
|
| 823 |
+
every intermediate-checkpoint number in this document was noise-dominated, and the
|
| 824 |
+
dual-rate comparison (70 vs 68) was never precise enough to support a claim either
|
| 825 |
+
way.
|
| 826 |
+
|
| 827 |
+
## Gripper command channel — the honest verdict so far
|
| 828 |
+
|
| 829 |
+
The ceiling gain is real and proven: GT round-trip 8/10 with a decoded command vs
|
| 830 |
+
**9/10 with the carried command**, matching raw GT exactly.
|
| 831 |
+
|
| 832 |
+
Whether the policy converts that ceiling into success is not yet established:
|
| 833 |
+
|
| 834 |
+
| comparison (all 4-seed averaged) | result |
|
| 835 |
+
|---|---|
|
| 836 |
+
| new run @5k vs old run @5k, n=20 | 70% vs 60% |
|
| 837 |
+
| within the new checkpoint: decode `canon` vs `threshold`, n=20 | 70% vs 70% |
|
| 838 |
+
|
| 839 |
+
+10 points at a matched step is two episodes out of twenty — not significant. And
|
| 840 |
+
the decode-mode ablation on the *same* checkpoint shows no difference at all, which
|
| 841 |
+
argues the channel is not the binding constraint at this stage: the model's predicted
|
| 842 |
+
openness is already good enough that thresholding it matches reading the command.
|
| 843 |
+
|
| 844 |
+
The decisive number is the new run at 30k against the old run's 68% at n=50, and that
|
| 845 |
+
needs the training to finish (currently ~10k/30k).
|