REKI-2B RoboTwin Clean
REKI is a 2.4B vision-language-action model with register tokens in its action expert, pretrained on public data only. This model is kyutai/reki-2b finetuned on the clean RoboTwin 2.0 demonstrations only (dual-arm AgileX ALOHA, simulation, 50 tasks). We evaluate it on clean scenes (Easy), on the four single-axis randomizations of RoboTwin Clean2Rand, and on fully randomized scenes (Hard).
For in-distribution results on randomized scenes, use kyutai/reki-2b-robotwin-cleanrand. The kyutai/reki-2b card describes the architecture and the pretraining.
Model Details
- Developed by: Kyutai, Inria, École nationale des ponts et chaussées
- Model type: Vision-language-action model (flow matching)
- Parameters: 2.4B
- Finetuned from: kyutai/reki-2b
- Memory window: K = 3 frames, 1 s apart
- License: CC BY-NC-SA 4.0 (weights), MIT (code)
Model Sources
- Code: github.com/kyutai-labs/reki
- Paper: REKI: Registering Knowledge in VLAs
- Project page: kyutai.org/reki
Embodiment
| Item | Value |
|---|---|
| Robot | AgileX ALOHA, two 6-DoF arms with parallel grippers |
| Cameras | head camera, two wrist cameras |
State (14), observation.state |
absolute joint positions [left arm (6), left gripper (1), right arm (6), right gripper (1)] |
| Action (14) | absolute joint positions [left arm (6), left gripper (1), right arm (6), right gripper (1)] |
| Control | 15 Hz, 15 steps per chunk |
Files
model.safetensors(EMA merged) andtrain_config.yaml.reki_inference.jsonandreki_stats.safetensors: the inference spec and the normalization stats forRekiPolicy.config.json,policy_preprocessor.jsonandpolicy_postprocessor.json: the files for the LeRobot plugin.
Training
configs/sft.yaml and the robotwin_clean entry of launchers/sft.py hold the hyperparameters.
| Setting | Value |
|---|---|
| Dataset | RoboTwin 2.0 clean demonstrations, 50 per task |
| Steps | 20,000 |
| Learning rate | 1e-4 (action expert), 2e-5 (backbone) |
| Schedule | warmup-stable-decay: linear warmup over 1,000 steps, cosine decay over the last 5,000 |
| Augmentation | color jitter, camera dropout, prompt and state dropout, left-right mirroring (details) |
| GPUs | 8 H100 |
Evaluation
Install the repository (README) and the simulator (scripts/eval/SETUP.md). Then set the simulator variables of the evaluation docs.
pixi run hf download kyutai/reki-2b-robotwin-clean --local-dir reki-2b-robotwin-clean
pixi run python launchers/eval_protocols.py robotwin reki-2b-robotwin-clean evals | bash
pixi run python launchers/eval_protocols.py robotwin_clean2rand reki-2b-robotwin-clean evals | bash
pixi run python scripts/eval/results_table.py evals
eval_protocols.py prints the rollout.py commands of the released protocol, one GPU each.
Results
Success rate on RoboTwin 2.0 and RoboTwin Clean2Rand, 50 tasks, 20 episodes per task, unseen instructions. Clean2Rand applies one randomization (background, light, clutter, table height) to a clean scene. Hard applies all of them.
| Success rate (%) | Easy | Background | Light | Clutter | Height | Hard | Mean |
|---|---|---|---|---|---|---|---|
| REKI | 73.4 | 71.3 | 73.5 | 57.8 | 69.9 | 48.7 | 65.8 |
Per-task results
Per-task success rates
Success rate per task, 20 episodes per task, unseen instructions.
| Success rate (%) | Easy | Background | Light | Clutter | Height | Hard |
|---|---|---|---|---|---|---|
adjust_bottle |
100.0 | 100.0 | 100.0 | 100.0 | 100.0 | 100.0 |
beat_block_hammer |
80.0 | 95.0 | 80.0 | 70.0 | 60.0 | 40.0 |
blocks_ranking_rgb |
75.0 | 90.0 | 100.0 | 90.0 | 95.0 | 80.0 |
blocks_ranking_size |
80.0 | 75.0 | 70.0 | 20.0 | 75.0 | 5.0 |
click_alarmclock |
100.0 | 100.0 | 100.0 | 90.0 | 100.0 | 70.0 |
click_bell |
100.0 | 100.0 | 100.0 | 95.0 | 90.0 | 65.0 |
dump_bin_bigbin |
55.0 | 85.0 | 70.0 | 25.0 | 35.0 | 15.0 |
grab_roller |
95.0 | 100.0 | 100.0 | 75.0 | 95.0 | 90.0 |
handover_block |
55.0 | 75.0 | 55.0 | 10.0 | 55.0 | 5.0 |
handover_mic |
100.0 | 95.0 | 100.0 | 60.0 | 100.0 | 35.0 |
hanging_mug |
20.0 | 10.0 | 25.0 | 20.0 | 15.0 | 10.0 |
lift_pot |
100.0 | 85.0 | 80.0 | 65.0 | 65.0 | 30.0 |
move_can_pot |
30.0 | 15.0 | 25.0 | 35.0 | 30.0 | 30.0 |
move_pillbottle_pad |
85.0 | 50.0 | 70.0 | 30.0 | 65.0 | 5.0 |
move_playingcard_away |
100.0 | 95.0 | 95.0 | 80.0 | 95.0 | 70.0 |
move_stapler_pad |
25.0 | 35.0 | 50.0 | 35.0 | 50.0 | 20.0 |
open_laptop |
100.0 | 90.0 | 85.0 | 95.0 | 85.0 | 85.0 |
open_microwave |
60.0 | 35.0 | 50.0 | 25.0 | 40.0 | 65.0 |
pick_diverse_bottles |
55.0 | 45.0 | 35.0 | 50.0 | 75.0 | 50.0 |
pick_dual_bottles |
75.0 | 35.0 | 40.0 | 55.0 | 85.0 | 55.0 |
place_a2b_left |
85.0 | 90.0 | 90.0 | 60.0 | 75.0 | 55.0 |
place_a2b_right |
85.0 | 95.0 | 85.0 | 60.0 | 80.0 | 60.0 |
place_bread_basket |
80.0 | 85.0 | 80.0 | 80.0 | 80.0 | 50.0 |
place_bread_skillet |
80.0 | 85.0 | 85.0 | 75.0 | 85.0 | 55.0 |
place_burger_fries |
95.0 | 100.0 | 95.0 | 90.0 | 95.0 | 90.0 |
place_can_basket |
55.0 | 50.0 | 65.0 | 10.0 | 70.0 | 5.0 |
place_cans_plasticbox |
100.0 | 80.0 | 100.0 | 50.0 | 100.0 | 20.0 |
place_container_plate |
90.0 | 100.0 | 95.0 | 85.0 | 80.0 | 60.0 |
place_dual_shoes |
25.0 | 35.0 | 40.0 | 15.0 | 30.0 | 10.0 |
place_empty_cup |
100.0 | 95.0 | 90.0 | 80.0 | 90.0 | 55.0 |
place_fan |
65.0 | 45.0 | 65.0 | 45.0 | 65.0 | 55.0 |
place_mouse_pad |
35.0 | 45.0 | 45.0 | 30.0 | 35.0 | 30.0 |
place_object_basket |
80.0 | 90.0 | 80.0 | 55.0 | 50.0 | 50.0 |
place_object_scale |
90.0 | 70.0 | 85.0 | 50.0 | 75.0 | 30.0 |
place_object_stand |
90.0 | 90.0 | 85.0 | 85.0 | 80.0 | 65.0 |
place_phone_stand |
90.0 | 75.0 | 85.0 | 65.0 | 90.0 | 50.0 |
place_shoe |
45.0 | 50.0 | 35.0 | 60.0 | 40.0 | 55.0 |
press_stapler |
85.0 | 75.0 | 90.0 | 100.0 | 70.0 | 65.0 |
put_bottles_dustbin |
45.0 | 30.0 | 35.0 | 40.0 | 25.0 | 10.0 |
put_object_cabinet |
35.0 | 25.0 | 35.0 | 15.0 | 30.0 | 45.0 |
rotate_qrcode |
75.0 | 85.0 | 80.0 | 55.0 | 95.0 | 55.0 |
scan_object |
5.0 | 0.0 | 10.0 | 0.0 | 10.0 | 10.0 |
shake_bottle |
100.0 | 100.0 | 100.0 | 90.0 | 100.0 | 100.0 |
shake_bottle_horizontally |
100.0 | 100.0 | 100.0 | 95.0 | 100.0 | 100.0 |
stack_blocks_three |
80.0 | 90.0 | 100.0 | 80.0 | 85.0 | 45.0 |
stack_blocks_two |
95.0 | 100.0 | 100.0 | 85.0 | 95.0 | 85.0 |
stack_bowls_three |
80.0 | 75.0 | 90.0 | 65.0 | 65.0 | 70.0 |
stack_bowls_two |
100.0 | 95.0 | 95.0 | 85.0 | 90.0 | 70.0 |
stamp_seal |
65.0 | 60.0 | 70.0 | 45.0 | 65.0 | 15.0 |
turn_switch |
25.0 | 40.0 | 35.0 | 15.0 | 35.0 | 45.0 |
| Mean | 73.4 | 71.3 | 73.5 | 57.8 | 69.9 | 48.7 |
Limitations
- The model is trained on clean scenes only, so Hard and Clean2Rand measure out-of-distribution robustness.
- We evaluate 20 trials per task. The RoboTwin leaderboard uses 100.
- We evaluate the model in simulation only. There is no real-robot or safety evaluation.
Citation
@article{marrie2026reki,
title = {{REKI}: Registering Knowledge in {VLAs}},
author = {Marrie, Juliette and Pacaud, Paul and Ramanana Rahary, Adrien and Chen, Shizhe and B{\"o}hle, Moritz},
journal = {arXiv:2610.22178},
year = {2026}
}
- Downloads last month
- 10