Zeng-Jia commited on
Commit
7d2090f
·
1 Parent(s): d786491

upload pretrained checkpoint of F1-VLA for initial release

Browse files
Files changed (6) hide show
  1. .gitattributes +1 -0
  2. README.md +95 -0
  3. config.json +251 -0
  4. model.safetensors +3 -0
  5. trainer_state.json +0 -0
  6. training_args.bin +3 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ model.safetensors filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,3 +1,98 @@
1
  ---
 
 
2
  license: cc-by-nc-sa-4.0
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ pipeline_tag: robotics
3
+ library_name: transformers
4
  license: cc-by-nc-sa-4.0
5
+ tags:
6
+ - vision-language-model
7
+ - manipulation
8
+ - robotics
9
  ---
10
+
11
+ <div align="center">
12
+ <video src="https://cdn-uploads.huggingface.co/production/uploads/678123194248fde89e4fc9bf/_cbIWKHPzffRxIpfmqdFG.mp4"
13
+ controls autoplay muted playsinline loop width="720"></video>
14
+
15
+ <p><em>🏁 Best viewed with sound on</em></p>
16
+ </div>
17
+
18
+
19
+ # <img src="https://cdn-uploads.huggingface.co/production/uploads/678123194248fde89e4fc9bf/DlaSt8_2mmyyzayK9ymbp.png" alt="F1 Logo" width="70" height="45">: A Vision Language Action Model Bridging<br>Understanding and Generation to Actions
20
+
21
+ [![Website](https://img.shields.io/badge/Website-Pages-blue.svg)](https://aopolin-lv.github.io/F1-VLA)
22
+ [![Code](https://img.shields.io/badge/GitHub-Code-181717?logo=github)](https://github.com/InternRobotics/F1-VLA)
23
+
24
+
25
+ ## 🚀 Key Innovations
26
+
27
+ - **🧠 Predictive Inverse Dynamics**: Visual foresight generation for planning-based control
28
+ - **🏗️ Mixture-of-Transformer**: Three specialized experts (Understanding, Generation, Action)
29
+ - **📈 Three-Stage Training**: Progressive alignment, pretraining, and adaptation
30
+
31
+ ## 🤖 Real-World Robot Experiments
32
+
33
+ <!-- <div align="center">
34
+ <video src="https://cdn-uploads.huggingface.co/production/uploads/678123194248fde89e4fc9bf/FPZ45NJd9_B_T1gOP8QVf.qt"
35
+ controls autoplay muted playsinline loop width="720"></video>
36
+ <p><em>9 diverse manipulation tasks including pick-and-place, handover, and complex object manipulation</em></p>
37
+ </div> -->
38
+
39
+ <div style="display: flex; flex-direction: column; align-items: center; gap: 10px;">
40
+ <!-- First Row -->
41
+ <div style="display: flex; justify-content: center; align-items: center; gap: 10px;">
42
+ <video controls autoplay loop muted width="250" style="border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
43
+ <source src="https://huggingface.co/spaces/Jia-Zeng/Robot_demos/resolve/main/arx_v2_long.mp4" type="video/mp4">
44
+ </video>
45
+ <video controls autoplay loop muted width="250" style="border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
46
+ <source src="https://huggingface.co/spaces/Jia-Zeng/Robot_demos/resolve/main/arx_v1_dyna.mp4" type="video/mp4">
47
+ </video>
48
+ <video controls autoplay loop muted width="260" style="border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
49
+ <source src="https://huggingface.co/spaces/Jia-Zeng/Robot_demos/resolve/main/franka_v1_sweep.mp4" type="video/mp4">
50
+ </video>
51
+ </div>
52
+ <!-- Second Row -->
53
+ <div style="display: flex; justify-content: center; align-items: center; gap: 10px;">
54
+ <video controls autoplay loop muted width="250" style="border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
55
+ <source src="https://huggingface.co/spaces/Jia-Zeng/Robot_demos/resolve/main/genie_v2_handover.mp4" type="video/mp4">
56
+ </video>
57
+ <video controls autoplay loop muted width="250" style="border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
58
+ <source src="https://huggingface.co/spaces/Jia-Zeng/Robot_demos/resolve/main/genie_v3_tea.mp4" type="video/mp4">
59
+ </video>
60
+ <video controls autoplay loop muted width="260" style="border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);">
61
+ <source src="https://huggingface.co/spaces/Jia-Zeng/Robot_demos/resolve/main/genie_v1_flower.mp4" type="video/mp4">
62
+ </video>
63
+ </div>
64
+ <p><em>Diverse manipulation tasks across multiple robot platforms.</em></p>
65
+ </div>
66
+
67
+
68
+ ## 📊 Performance Summary
69
+
70
+ | Task | Platform | F1 | π0 | Improvement |
71
+ |:--------:|:------------:|:------------------:|:------------:|:---------------:|
72
+ | Multi-task | Genie-1 | 82.2% | 65.2% | +17.0% |
73
+ | Adaptation | Franka | 66.7% | 53.3% | +13.4% |
74
+ | Long-horizon | ARX LIFT II | 40.0% | 0.0% | +40.0% |
75
+ | Dynamic Env | ARX LIFT II | 66.7% | 33.3% | +33.4% |
76
+
77
+ ## Usage
78
+ Please refer to our official repo [F1-VLA](https://github.com/InternRobotics/F1-VLA).
79
+
80
+ ## 📚 Citation
81
+
82
+ If you find our work helpful, please cite:
83
+
84
+ ```bibtex
85
+ @article{f1_vla_2025,
86
+ title={F1: A Vision Language Action Model Bridging Understanding and Generation to Actions},
87
+ author={Qi Lv and Weijie Kong and Hao Li and Jia Zeng and Zherui Qiu and Delin Qu and Haoming Song and Qizhi Chen and Xiang Deng and Jiangmiao Pang},
88
+ journal={Conference/Journal Name},
89
+ year={2025},
90
+ url={https://arxiv.org/abs/xxxx.xxxxx}
91
+ }
92
+ ```
93
+
94
+ ## License
95
+ This work is under the [cc-by-nc-sa-4.0](LICENSE).
96
+
97
+ ## Acknowledgements
98
+ This repository is based on [Lerobot](https://github.com/huggingface/lerobot), [Any4lerobot](https://github.com/Tavish9/any4lerobot/), and [VAR](https://github.com/FoundationVision/VAR).
config.json ADDED
@@ -0,0 +1,251 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_attn_implementation_autoset": true,
3
+ "act_expert_config": {
4
+ "_attn_implementation_autoset": true,
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "head_dim": 256,
8
+ "hidden_act": "gelu_pytorch_tanh",
9
+ "hidden_activation": "gelu_pytorch_tanh",
10
+ "hidden_size": 1024,
11
+ "initializer_range": 0.02,
12
+ "intermediate_size": 4096,
13
+ "max_position_embeddings": 8192,
14
+ "model_type": "gemma",
15
+ "num_attention_heads": 8,
16
+ "num_hidden_layers": 18,
17
+ "num_key_value_heads": 1,
18
+ "rms_norm_eps": 1e-06,
19
+ "rope_theta": 10000.0,
20
+ "torch_dtype": "float32",
21
+ "use_cache": true,
22
+ "vocab_size": 257152
23
+ },
24
+ "architectures": [
25
+ "MWMForConditionalGeneration"
26
+ ],
27
+ "attention_implementation": "eager",
28
+ "auto_map": {
29
+ "AutoConfig": "configuration_mwm.MWMConfig",
30
+ "AutoModel": "modeling_mwm.MWMForConditionalGeneration"
31
+ },
32
+ "chunk_size": 30,
33
+ "gen_expert_config": {
34
+ "_attn_implementation_autoset": true,
35
+ "attention_bias": false,
36
+ "attention_dropout": 0.0,
37
+ "head_dim": 256,
38
+ "hidden_act": "gelu_pytorch_tanh",
39
+ "hidden_activation": "gelu_pytorch_tanh",
40
+ "hidden_size": 1024,
41
+ "initializer_range": 0.02,
42
+ "intermediate_size": 4096,
43
+ "max_position_embeddings": 8192,
44
+ "model_type": "gemma",
45
+ "num_attention_heads": 8,
46
+ "num_hidden_layers": 18,
47
+ "num_key_value_heads": 1,
48
+ "num_resolutions": 4,
49
+ "pn": "1_2_3_4_5_6_8_10_13_16",
50
+ "rms_norm_eps": 1e-06,
51
+ "rope_theta": 10000.0,
52
+ "temporal_conv_kernel_size": 4,
53
+ "temporal_conv_stride": 4,
54
+ "torch_dtype": "float32",
55
+ "use_cache": true,
56
+ "vae": {
57
+ "ch": 160,
58
+ "share_quant_resi": 4,
59
+ "test_mode": true,
60
+ "vae_ckpt": "/fs-computility/efm/shared/model_weights/var/vae_ch160v4096z32.pth",
61
+ "vocab_size": 4096,
62
+ "z_channels": 32
63
+ },
64
+ "vocab_size": 257152
65
+ },
66
+ "language_tokenizer_path": "/fs-computility/efm/shared/model_weights/paligemma-3b-pt-224",
67
+ "max_action_dim": 32,
68
+ "max_state_dim": 32,
69
+ "model_type": "mwm",
70
+ "num_steps": 10,
71
+ "pretrained_path": "/fs-computility/efm/shared/model_weights/pi0/lerobot",
72
+ "proj_width": 1024,
73
+ "resize_imgs_with_padding": [
74
+ 224,
75
+ 224
76
+ ],
77
+ "tokenizer_max_length": 48,
78
+ "transformers_version": "4.51.3",
79
+ "und_expert_config": {
80
+ "_attn_implementation_autoset": true,
81
+ "_vocab_size": 257152,
82
+ "bos_token_id": 2,
83
+ "eos_token_id": 1,
84
+ "hidden_size": 2048,
85
+ "image_token_index": 257152,
86
+ "model_type": "paligemma",
87
+ "pad_token_id": 0,
88
+ "projection_dim": 2048,
89
+ "text_config": {
90
+ "_attn_implementation_autoset": false,
91
+ "_name_or_path": "",
92
+ "add_cross_attention": false,
93
+ "architectures": null,
94
+ "attention_bias": false,
95
+ "attention_dropout": 0.0,
96
+ "bad_words_ids": null,
97
+ "begin_suppress_tokens": null,
98
+ "bos_token_id": 2,
99
+ "chunk_size_feed_forward": 0,
100
+ "cross_attention_hidden_size": null,
101
+ "decoder_start_token_id": null,
102
+ "diversity_penalty": 0.0,
103
+ "do_sample": false,
104
+ "early_stopping": false,
105
+ "encoder_no_repeat_ngram_size": 0,
106
+ "eos_token_id": 1,
107
+ "exponential_decay_length_penalty": null,
108
+ "finetuning_task": null,
109
+ "forced_bos_token_id": null,
110
+ "forced_eos_token_id": null,
111
+ "head_dim": 256,
112
+ "hidden_act": "gelu_pytorch_tanh",
113
+ "hidden_activation": "gelu_pytorch_tanh",
114
+ "hidden_size": 2048,
115
+ "id2label": {
116
+ "0": "LABEL_0",
117
+ "1": "LABEL_1"
118
+ },
119
+ "initializer_range": 0.02,
120
+ "intermediate_size": 16384,
121
+ "is_decoder": false,
122
+ "is_encoder_decoder": false,
123
+ "label2id": {
124
+ "LABEL_0": 0,
125
+ "LABEL_1": 1
126
+ },
127
+ "length_penalty": 1.0,
128
+ "max_length": 20,
129
+ "max_position_embeddings": 8192,
130
+ "min_length": 0,
131
+ "model_type": "gemma",
132
+ "no_repeat_ngram_size": 0,
133
+ "num_attention_heads": 8,
134
+ "num_beam_groups": 1,
135
+ "num_beams": 1,
136
+ "num_hidden_layers": 18,
137
+ "num_image_tokens": 256,
138
+ "num_key_value_heads": 1,
139
+ "num_return_sequences": 1,
140
+ "output_attentions": false,
141
+ "output_hidden_states": false,
142
+ "output_scores": false,
143
+ "pad_token_id": 0,
144
+ "prefix": null,
145
+ "problem_type": null,
146
+ "pruned_heads": {},
147
+ "remove_invalid_values": false,
148
+ "repetition_penalty": 1.0,
149
+ "return_dict": true,
150
+ "return_dict_in_generate": false,
151
+ "rms_norm_eps": 1e-06,
152
+ "rope_theta": 10000.0,
153
+ "sep_token_id": null,
154
+ "suppress_tokens": null,
155
+ "task_specific_params": null,
156
+ "temperature": 1.0,
157
+ "tf_legacy_loss": false,
158
+ "tie_encoder_decoder": false,
159
+ "tie_word_embeddings": true,
160
+ "tokenizer_class": null,
161
+ "top_k": 50,
162
+ "top_p": 1.0,
163
+ "torch_dtype": "float32",
164
+ "torchscript": false,
165
+ "typical_p": 1.0,
166
+ "use_bfloat16": false,
167
+ "use_cache": true,
168
+ "vocab_size": 257152
169
+ },
170
+ "vision_config": {
171
+ "_attn_implementation_autoset": false,
172
+ "_name_or_path": "",
173
+ "add_cross_attention": false,
174
+ "architectures": null,
175
+ "attention_dropout": 0.0,
176
+ "bad_words_ids": null,
177
+ "begin_suppress_tokens": null,
178
+ "bos_token_id": null,
179
+ "chunk_size_feed_forward": 0,
180
+ "cross_attention_hidden_size": null,
181
+ "decoder_start_token_id": null,
182
+ "diversity_penalty": 0.0,
183
+ "do_sample": false,
184
+ "early_stopping": false,
185
+ "encoder_no_repeat_ngram_size": 0,
186
+ "eos_token_id": null,
187
+ "exponential_decay_length_penalty": null,
188
+ "finetuning_task": null,
189
+ "forced_bos_token_id": null,
190
+ "forced_eos_token_id": null,
191
+ "hidden_act": "gelu_pytorch_tanh",
192
+ "hidden_size": 1152,
193
+ "id2label": {
194
+ "0": "LABEL_0",
195
+ "1": "LABEL_1"
196
+ },
197
+ "image_size": 224,
198
+ "intermediate_size": 4304,
199
+ "is_decoder": false,
200
+ "is_encoder_decoder": false,
201
+ "label2id": {
202
+ "LABEL_0": 0,
203
+ "LABEL_1": 1
204
+ },
205
+ "layer_norm_eps": 1e-06,
206
+ "length_penalty": 1.0,
207
+ "max_length": 20,
208
+ "min_length": 0,
209
+ "model_type": "siglip_vision_model",
210
+ "no_repeat_ngram_size": 0,
211
+ "num_attention_heads": 16,
212
+ "num_beam_groups": 1,
213
+ "num_beams": 1,
214
+ "num_channels": 3,
215
+ "num_hidden_layers": 27,
216
+ "num_image_tokens": 256,
217
+ "num_return_sequences": 1,
218
+ "output_attentions": false,
219
+ "output_hidden_states": false,
220
+ "output_scores": false,
221
+ "pad_token_id": null,
222
+ "patch_size": 14,
223
+ "prefix": null,
224
+ "problem_type": null,
225
+ "projection_dim": 2048,
226
+ "projector_hidden_act": "gelu_fast",
227
+ "pruned_heads": {},
228
+ "remove_invalid_values": false,
229
+ "repetition_penalty": 1.0,
230
+ "return_dict": true,
231
+ "return_dict_in_generate": false,
232
+ "sep_token_id": null,
233
+ "suppress_tokens": null,
234
+ "task_specific_params": null,
235
+ "temperature": 1.0,
236
+ "tf_legacy_loss": false,
237
+ "tie_encoder_decoder": false,
238
+ "tie_word_embeddings": true,
239
+ "tokenizer_class": null,
240
+ "top_k": 50,
241
+ "top_p": 1.0,
242
+ "torch_dtype": "float32",
243
+ "torchscript": false,
244
+ "typical_p": 1.0,
245
+ "use_bfloat16": false,
246
+ "vision_use_head": false
247
+ }
248
+ },
249
+ "use_cache": true,
250
+ "use_world_model": true
251
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:07cc300889ca69912a0f5bcad15bd249c220fc3cb6b5a4f9f7a210faea59c7b6
3
+ size 9670959748
trainer_state.json ADDED
The diff for this file is too large to render. See raw diff
 
training_args.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4d845b2e4a7826bbe42519b92e1ba5da6bc86cafed73fc38c1f43529ca568b0e
3
+ size 6456