| --- |
| license: apache-2.0 |
| base_model: MINT-SJTU/Evo1_LIBERO |
| tags: |
| - vla |
| - vision-language-action |
| - robotics |
| - gguf |
| - vla.cpp |
| - llama.cpp |
| - libero |
| - evo1 |
| pipeline_tag: robotics |
| library_name: vla.cpp |
| --- |
| |
| # Evo-1 — LIBERO (GGUF for vla.cpp) |
|
|
| GGUF conversion of [`MINT-SJTU/Evo1_LIBERO`](https://huggingface.co/MINT-SJTU/Evo1_LIBERO) |
| for inference with [**vla.cpp**](https://github.com/VinRobotics/vla.cpp), a lightweight |
| C++ inference engine for Vision-Language-Action models built on top of |
| [`llama.cpp`](https://github.com/ggml-org/llama.cpp). |
|
|
| Evo-1 couples an **InternVL3-1B** vision-language backbone with a |
| **cross-attention DiT** flow-matching action head. Its vision tower is baked into |
| the combined GGUF, so **no separate mmproj file is needed**. |
|
|
| ## Files |
|
|
| | File | Size | Description | |
| |---|---:|---| |
| | `evo1-libero.gguf` | 1.45 GiB | Combined VLA model — InternVL3 LM + vision tower + cross-attn DiT action head + dataset stats + arch config, BF16 | |
|
|
| ## Usage |
|
|
| ```bash |
| # Terminal 1 — serve (use the CUDA build for inference). No mmproj argument. |
| ./build-cuda/vla-server --bind tcp://*:5566 \ |
| evo1-libero.gguf |
| |
| # Terminal 2 — drive a LIBERO episode (inside the LIBERO uv venv) |
| python eval/client/run_sim_client_direct.py \ |
| --arch evo1 \ |
| --task libero_object --task-id 0 --n-episodes 10 \ |
| --vla-addr tcp://localhost:5566 |
| ``` |
|
|
| ## Benchmark |
|
|
| Full `libero_object` sweep (10 tasks × 20 episodes = 200 episodes): |
|
|
| | Hardware | n_act | Success rate | client/step | client/call | Peak mem | |
| |---|---:|---:|---:|---:|---:| |
| | RTX 3060 (sm_86) | 8 | 94.5% | 63.60 ms | 509 ms | 1564 MiB VRAM | |
| | Jetson AGX Orin (sm_87) | 8 | 95.5% | 131.01 ms | 1048 ms | 638 MiB RAM | |
| | Jetson Orin Nano 8 GB (sm_87) | 8 | 97.5% | 458.84 ms | 3671 ms | 2135 MiB RAM | |
|
|
| ## Implementation note |
|
|
| Evo-1 exposed a Qwen2 + flash-attention-2 masking subtlety: HF's FA2 path zeroes |
| the attention output of masked queries, while a naïve softmax computes real |
| attention for them — contaminating the LM context at image-context positions. |
| vla.cpp mirrors HF exactly with a per-query mask, which is what takes this |
| checkpoint from 0/5 to passing on LIBERO. |
|
|
| ## License |
|
|
| Weights follow the upstream license of |
| [`MINT-SJTU/Evo1_LIBERO`](https://huggingface.co/MINT-SJTU/Evo1_LIBERO). The |
| vla.cpp conversion tooling and inference engine are MIT-licensed. |
|
|