AMP Tadpole v0.2.0 (preview)
Browse files- NOTICE +1 -1
- README.md +29 -22
- amp-tadpole.onnx +1 -1
- config.json +3 -3
- model.yaml +1 -1
- weights.safetensors +1 -1
NOTICE
CHANGED
|
@@ -7,7 +7,7 @@ config.json and model.yaml are licensed under the Creative Commons
|
|
| 7 |
Attribution-NonCommercial 4.0 International licence (see LICENSE).
|
| 8 |
Commercial licences are available from Adaptive Machine Patterns Ltd:
|
| 9 |
amp@adaptive-machine-patterns.com,
|
| 10 |
-
https://adaptive-machine-patterns.com/
|
| 11 |
|
| 12 |
instructions.json lists token ids produced by the tokenizer of
|
| 13 |
SmolVLM2-500M-Video-Instruct (HuggingFaceTB), which is licensed under the
|
|
|
|
| 7 |
Attribution-NonCommercial 4.0 International licence (see LICENSE).
|
| 8 |
Commercial licences are available from Adaptive Machine Patterns Ltd:
|
| 9 |
amp@adaptive-machine-patterns.com,
|
| 10 |
+
https://adaptive-machine-patterns.com/embodied-ai-workbench
|
| 11 |
|
| 12 |
instructions.json lists token ids produced by the tokenizer of
|
| 13 |
SmolVLM2-500M-Video-Instruct (HuggingFaceTB), which is licensed under the
|
README.md
CHANGED
|
@@ -20,11 +20,11 @@ and runs on a laptop CPU (and, through ONNX, in a web browser).
|
|
| 20 |

|
| 21 |
|
| 22 |
AMP Tadpole is trained from scratch on the
|
| 23 |
-
[AMP Toy Robotics Benchmark](https://
|
| 24 |
the first model of [Adaptive Machine Patterns](https://adaptive-machine-patterns.com).
|
| 25 |
|
| 26 |
-
> **v0.
|
| 27 |
-
>
|
| 28 |
|
| 29 |
## What it does
|
| 30 |
|
|
@@ -45,13 +45,12 @@ Instructions: `pick up the X`, `move to the X`,
|
|
| 45 |
|
| 46 |
## Results
|
| 47 |
|
| 48 |
-
On the benchmark's standard 300 held-out scenes (never seen in training,
|
| 49 |
-
|
| 50 |
-
itself:
|
| 51 |
|
| 52 |
| clauses | pick | move | midpoint | open | close | home | all | path vs teacher |
|
| 53 |
|---|---|---|---|---|---|---|---|---|
|
| 54 |
-
| 898 |
|
| 55 |
|
| 56 |
The reference teacher, a scripted controller that knows where everything
|
| 57 |
is, scores 99.4% on the same scenes.
|
|
@@ -60,20 +59,28 @@ Grounding tests (100 further held-out scenes; see the benchmark's README):
|
|
| 60 |
|
| 61 |
| named object | other objects | image swap | instruction swap | blank instruction |
|
| 62 |
|---|---|---|---|---|
|
| 63 |
-
| 0.
|
| 64 |
|
| 65 |
Told "move to the X", its motion points the way the teacher's does
|
| 66 |
-
(0.
|
| 67 |
in the scene (0.31). When two objects swap places, or the instruction
|
| 68 |
names another object, its motion changes as much as the teacher's does
|
| 69 |
(1.00). So it uses both the cameras and the words.
|
| 70 |
|
| 71 |
-
**
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
-
These
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
minutes). Other hardware can differ in the last digits of the arithmetic,
|
| 78 |
so a clause or two may come out differently.
|
| 79 |
|
|
@@ -82,7 +89,7 @@ so a clause or two may come out differently.
|
|
| 82 |
With the benchmark (`pip install "amp-toy-robotics[packages]"`):
|
| 83 |
|
| 84 |
```bash
|
| 85 |
-
hf download Adaptive-Machine-Patterns/amp-tadpole --revision v0.
|
| 86 |
amp-bench eval --policy amp-tadpole
|
| 87 |
```
|
| 88 |
|
|
@@ -129,7 +136,7 @@ teacher whose action is a fixed function of the state.
|
|
| 129 |
- **Inputs only:** the images, the state and the text, under the
|
| 130 |
benchmark's rules. No object positions, no progress reward, no path
|
| 131 |
penalty.
|
| 132 |
-
- **Recipe:**
|
| 133 |
state hidden from half the samples (so the model must use the cameras),
|
| 134 |
and an auxiliary loss in which each image token redraws its patch of
|
| 135 |
the image. The redraw head is used only in training and is not included.
|
|
@@ -142,16 +149,16 @@ teacher whose action is a fixed function of the state.
|
|
| 142 |
colours and 5 shapes. It has not seen a real camera.
|
| 143 |
- It reads only canonical clauses (`instructions.json`); the benchmark
|
| 144 |
rewrites free text into canonical form first.
|
| 145 |
-
- The midpoint instruction is its weakest (see Results).
|
| 146 |
-
- v0.1.0 is a preview, stopped before the end of its planned schedule.
|
| 147 |
|
| 148 |
## Versions
|
| 149 |
|
| 150 |
| version | tag | what changed |
|
| 151 |
|---|---|---|
|
| 152 |
-
| 0.
|
|
|
|
| 153 |
|
| 154 |
-
Pin a version with `revision="v0.
|
| 155 |
|
| 156 |
## Licence
|
| 157 |
|
|
@@ -159,7 +166,7 @@ Pin a version with `revision="v0.1.0"` (or `--revision v0.1.0`).
|
|
| 159 |
[CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/) (see
|
| 160 |
LICENSE and NOTICE). **For commercial use**, licences are available from
|
| 161 |
Adaptive Machine Patterns Ltd:
|
| 162 |
-
[adaptive-machine-patterns.com/
|
| 163 |
or amp@adaptive-machine-patterns.com.
|
| 164 |
|
| 165 |
**No warranty.** AMP Tadpole is a research preview, provided "as is",
|
|
@@ -184,7 +191,7 @@ a wrong movement could cause harm or damage.
|
|
| 184 |
author = {Whyte, Andy and {Adaptive Machine Patterns Ltd}},
|
| 185 |
title = {{AMP Tadpole}: a small vision-language-action model},
|
| 186 |
year = {2026},
|
| 187 |
-
version = {0.
|
| 188 |
publisher = {Hugging Face},
|
| 189 |
url = {https://huggingface.co/Adaptive-Machine-Patterns/amp-tadpole}
|
| 190 |
}
|
|
|
|
| 20 |

|
| 21 |
|
| 22 |
AMP Tadpole is trained from scratch on the
|
| 23 |
+
[AMP Toy Robotics Benchmark](https://github.com/Adaptive-Machine-Patterns/amp-toy-robotics), and is
|
| 24 |
the first model of [Adaptive Machine Patterns](https://adaptive-machine-patterns.com).
|
| 25 |
|
| 26 |
+
> **v0.2.0 is a preview.** Later versions will be published under new
|
| 27 |
+
> tags (see [Versions](#versions)).
|
| 28 |
|
| 29 |
## What it does
|
| 30 |
|
|
|
|
| 45 |
|
| 46 |
## Results
|
| 47 |
|
| 48 |
+
On the benchmark's standard 300 held-out scenes (never seen in training),
|
| 49 |
+
with the model driving the arm itself:
|
|
|
|
| 50 |
|
| 51 |
| clauses | pick | move | midpoint | open | close | home | all | path vs teacher |
|
| 52 |
|---|---|---|---|---|---|---|---|---|
|
| 53 |
+
| 898 | 93% | 94% | 75% | 100% | 100% | 100% | **93.7%** | 1.03 |
|
| 54 |
|
| 55 |
The reference teacher, a scripted controller that knows where everything
|
| 56 |
is, scores 99.4% on the same scenes.
|
|
|
|
| 59 |
|
| 60 |
| named object | other objects | image swap | instruction swap | blank instruction |
|
| 61 |
|---|---|---|---|---|
|
| 62 |
+
| 0.98 | 0.31 | 1.00 | 1.00 | 0.95 |
|
| 63 |
|
| 64 |
Told "move to the X", its motion points the way the teacher's does
|
| 65 |
+
(0.98, where 1 is the same direction), and not toward the other objects
|
| 66 |
in the scene (0.31). When two objects swap places, or the instruction
|
| 67 |
names another object, its motion changes as much as the teacher's does
|
| 68 |
(1.00). So it uses both the cameras and the words.
|
| 69 |
|
| 70 |
+
**How the checkpoint was chosen.** The training run checked itself every
|
| 71 |
+
2,500 steps on 100 held-out scenes, and those turned out to be the first
|
| 72 |
+
100 of the 300 above (seeds 9,010,000 to 9,010,099); v0.1.0 was picked
|
| 73 |
+
that way. For v0.2.0 the two final candidates (steps 300,000 and 330,000)
|
| 74 |
+
were compared on 300 separate validation scenes (seeds from 9,100,000),
|
| 75 |
+
where they tied at 94.2%; by a rule set beforehand, the tie went to the
|
| 76 |
+
longer-trained one. On the 200 benchmark scenes that no choice ever looked
|
| 77 |
+
at (608 clauses), v0.2.0 scores **93.1%**.
|
| 78 |
|
| 79 |
+
**These numbers are a line in the sand, not a ceiling.** They are
|
| 80 |
+
published as a reference point for small models on the benchmark:
|
| 81 |
+
something to beat.
|
| 82 |
+
|
| 83 |
+
These come from `amp-bench eval --policy amp-tadpole` on a CPU (about 40
|
| 84 |
minutes). Other hardware can differ in the last digits of the arithmetic,
|
| 85 |
so a clause or two may come out differently.
|
| 86 |
|
|
|
|
| 89 |
With the benchmark (`pip install "amp-toy-robotics[packages]"`):
|
| 90 |
|
| 91 |
```bash
|
| 92 |
+
hf download Adaptive-Machine-Patterns/amp-tadpole --revision v0.2.0 --local-dir amp-tadpole
|
| 93 |
amp-bench eval --policy amp-tadpole
|
| 94 |
```
|
| 95 |
|
|
|
|
| 136 |
- **Inputs only:** the images, the state and the text, under the
|
| 137 |
benchmark's rules. No object positions, no progress reward, no path
|
| 138 |
penalty.
|
| 139 |
+
- **Recipe:** 330,000 steps, batch 64, AdamW (peak learning rate 3e-4, 1,000-step warm-up, cosine decay; the run was extended and resumed several times), the
|
| 140 |
state hidden from half the samples (so the model must use the cameras),
|
| 141 |
and an auxiliary loss in which each image token redraws its patch of
|
| 142 |
the image. The redraw head is used only in training and is not included.
|
|
|
|
| 149 |
colours and 5 shapes. It has not seen a real camera.
|
| 150 |
- It reads only canonical clauses (`instructions.json`); the benchmark
|
| 151 |
rewrites free text into canonical form first.
|
| 152 |
+
- The midpoint instruction is its weakest (75%; see Results).
|
|
|
|
| 153 |
|
| 154 |
## Versions
|
| 155 |
|
| 156 |
| version | tag | what changed |
|
| 157 |
|---|---|---|
|
| 158 |
+
| 0.2.0 | `v0.2.0` | step 330,000, the end of the training run: 93.7% (from 88.2%), midpoint 75% (from 63%); checkpoint chosen on separate validation scenes |
|
| 159 |
+
| 0.1.0 | `v0.1.0` | first preview: step 250,000. Its card said the 300 scenes were not used to choose the checkpoint; the training run's own checks used 100 of them (see Results) |
|
| 160 |
|
| 161 |
+
Pin a version with `revision="v0.2.0"` (or `--revision v0.2.0`).
|
| 162 |
|
| 163 |
## Licence
|
| 164 |
|
|
|
|
| 166 |
[CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/) (see
|
| 167 |
LICENSE and NOTICE). **For commercial use**, licences are available from
|
| 168 |
Adaptive Machine Patterns Ltd:
|
| 169 |
+
[adaptive-machine-patterns.com/embodied-ai-workbench](https://adaptive-machine-patterns.com/embodied-ai-workbench)
|
| 170 |
or amp@adaptive-machine-patterns.com.
|
| 171 |
|
| 172 |
**No warranty.** AMP Tadpole is a research preview, provided "as is",
|
|
|
|
| 191 |
author = {Whyte, Andy and {Adaptive Machine Patterns Ltd}},
|
| 192 |
title = {{AMP Tadpole}: a small vision-language-action model},
|
| 193 |
year = {2026},
|
| 194 |
+
version = {0.2.0},
|
| 195 |
publisher = {Hugging Face},
|
| 196 |
url = {https://huggingface.co/Adaptive-Machine-Patterns/amp-tadpole}
|
| 197 |
}
|
amp-tadpole.onnx
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 28215128
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:51c4521cd359b27b1759269610b53f722d43284b6a824dac4a315beeed219ab4
|
| 3 |
size 28215128
|
config.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"model": "amp-tadpole",
|
| 3 |
-
"version": "0.
|
| 4 |
"parameters": 6507335,
|
| 5 |
"inputs": {
|
| 6 |
"images": "uint8 (3, 3, 512, 512): top, side, iso",
|
|
@@ -9,13 +9,13 @@
|
|
| 9 |
},
|
| 10 |
"output": "(8, 7): the next 8 joint states + gripper",
|
| 11 |
"training": {
|
| 12 |
-
"steps":
|
| 13 |
"batch_size": 64,
|
| 14 |
"learning_rate": 0.0003,
|
| 15 |
"state_dropout": 0.5,
|
| 16 |
"seeds": "from 0 (scenes from 9,000,000 up never used)",
|
| 17 |
"progress_reward": 0.0,
|
| 18 |
"path_weight": 0.0,
|
| 19 |
-
"success_on_100_held_out_scenes_during_training": 0.
|
| 20 |
}
|
| 21 |
}
|
|
|
|
| 1 |
{
|
| 2 |
"model": "amp-tadpole",
|
| 3 |
+
"version": "0.2.0",
|
| 4 |
"parameters": 6507335,
|
| 5 |
"inputs": {
|
| 6 |
"images": "uint8 (3, 3, 512, 512): top, side, iso",
|
|
|
|
| 9 |
},
|
| 10 |
"output": "(8, 7): the next 8 joint states + gripper",
|
| 11 |
"training": {
|
| 12 |
+
"steps": 330000,
|
| 13 |
"batch_size": 64,
|
| 14 |
"learning_rate": 0.0003,
|
| 15 |
"state_dropout": 0.5,
|
| 16 |
"seeds": "from 0 (scenes from 9,000,000 up never used)",
|
| 17 |
"progress_reward": 0.0,
|
| 18 |
"path_weight": 0.0,
|
| 19 |
+
"success_on_100_held_out_scenes_during_training": 0.893
|
| 20 |
}
|
| 21 |
}
|
model.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
# AMP Tadpole: a model package for the AMP Toy Robotics Benchmark
|
| 2 |
# (and the AMP Embodied AI Workbench). Format: the benchmark's README.
|
| 3 |
name: AMP Tadpole
|
| 4 |
-
version: 0.
|
| 5 |
author: Andy Whyte, Adaptive Machine Patterns Ltd
|
| 6 |
license: CC-BY-NC-4.0 (commercial licences from Adaptive Machine Patterns Ltd)
|
| 7 |
homepage: https://huggingface.co/Adaptive-Machine-Patterns/amp-tadpole
|
|
|
|
| 1 |
# AMP Tadpole: a model package for the AMP Toy Robotics Benchmark
|
| 2 |
# (and the AMP Embodied AI Workbench). Format: the benchmark's README.
|
| 3 |
name: AMP Tadpole
|
| 4 |
+
version: 0.2.0
|
| 5 |
author: Andy Whyte, Adaptive Machine Patterns Ltd
|
| 6 |
license: CC-BY-NC-4.0 (commercial licences from Adaptive Machine Patterns Ltd)
|
| 7 |
homepage: https://huggingface.co/Adaptive-Machine-Patterns/amp-tadpole
|
weights.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 26039652
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:738f7ae7c0152d4dae8be48f131b2cb7d2594700ba60965d8877ca67ceadd730
|
| 3 |
size 26039652
|