File size: 2,365 Bytes
8a1304b
 
c76eb35
 
 
 
 
 
 
 
 
 
 
 
8a1304b
c76eb35
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
---
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.