/
models
Weichen Fan*,Haiwen Diao*,Penghao Wu,Siyuan Hu,Ziqi Huang,Tianqi Liu,Mingze Sun,Ziyi Wang,Zhongang Cai,Hanming Deng,Quan Wang,Lei Yang,Lewei Lu,Fangzhou Hong,Zhaoxi Chen,Dahua Lin,Ziwei Liu

From Pixels to Actions – Towards Native Vision-Language-Action Policies

Dithered illustration of a robot arm reaching toward a grid of image patches

Paper | Code | Weights | Dataset | Project Page

Authors
Weichen Fan1,*, Haiwen Diao1,*,♯, Penghao Wu1, Siyuan Hu1, Ziqi Huang1, Tianqi Liu1,3, Mingze Sun1, Ziyi Wang1, Zhongang Cai2, Hanming Deng2, Quan Wang2, Lei Yang2, Lewei Lu2, Fangzhou Hong3, Zhaoxi Chen3, Dahua Lin2, Ziwei Liu1,†

Affiliations
1S-Lab, Nanyang Technological University · 2SenseTime Research · 3Ropedia

*Equal contribution · ♯Project lead · †Corresponding author

Overview

Most vision-language-action (VLA) models see the world through a separately pretrained vision encoder. The action policy only receives that encoder's final output, after local geometry, edges and depth cues have already been abstracted away. NEO-VLA drops the encoder. Pixels go through a lightweight convolutional patch embedder straight into a native vision-language backbone, and a flow-matching action expert reads from whichever backbone layers we choose.

Because the readout depth becomes a design choice, we can ask where in the backbone the information needed for control actually lives. Three findings come out of this study:

  1. Action-relevant information is organized across depth, not only in the final representation. With a frozen backbone, early layers dominate: reading them beats reading late layers at matched expert size. After full fine-tuning, a readout spread across all depths does best. Intervening on layers 0–10 changes the predicted action far more than intervening on later layers.
  2. Attaching Qwen's vision encoder to the action expert does not help. The gain comes from native vision-language pretraining. Routing the expert to Qwen3-VL's intermediate vision-tower features lowers frozen-backbone LIBERO success from 79.5% to 64.9%. The frozen native backbone reaches 90.9%.
  3. Understanding data matters in post-training. Co-training with NEO's understanding corpus keeps understanding within 1.5 points of the starting checkpoint and reaches 69.4% on RoboTwin 2.0 Clean2Rand. Action-only finetuning loses valid text output and falls to 10.7%.

NEO-VLA in two and a half minutes

Robot clips are sped up 2–8×; the speed is marked in each shot.

Model: pixels in, continuous actions out

Encoder-based VLAs (a and b below) pass pixels through a visual encoder and hand its output to the language model. NEO-VLA (c) maps pixels directly into the backbone token space, so image patches and instruction words are processed together in every layer. A separate, narrow action expert attends to the cached keys and values of selected backbone layers and predicts a flow-matching velocity field over 30-step action chunks.

Three VLA policy designs: encoder-based with discrete action tokens, encoder-based with a continuous action head, and encoder-free NEO-VLA
Three VLA policy designs. (a) Encoder-based VLA with discrete action tokens. (b) The same encoder-based interface with a continuous action head. (c) NEO-VLA removes the separately pretrained encoder; a patch embedder feeds pixels into the backbone, and the action expert reads keys and values from selected backbone layers.
NEO-VLA architecture: multi-view images, camera parameters, prompt and robot state enter the NEO-2B backbone, and an action expert reads selected layers
NEO-VLA architecture. The prefix holds previous and current multi-view images (up to 88 visual tokens per view, stride-32 patches), camera intrinsics and rotation, a structured prompt (control frequency, embodiment, action frame, instruction) and robot state. The backbone is NEO-2B, a 40-layer decoder-only native vision-language model with no ViT, autoencoder or VQ codebook in the visual path. The action expert outputs two 26-D arm chunks and one 8-D body chunk; inference uses 10 Euler steps.

Finding 1: Action-relevant information is organized across depth

Each layer of the action expert reads the cached keys and values of one backbone layer. We keep the expert fixed at 28 layers and change only which backbone layers it reads: skip-28 spreads its reads across all 40 layers, end-28 reads layers 12–39, and first-28 reads layers 0–27. All variants are pretrained on Open X-Embodiment for 75k iterations under identical settings.

Layer-map ablation on LIBERO. Average success (%) over the four suites, 2,000 rollouts per configuration, step 30k.

SettingLayer mapBackbone layers readLIBERO average
Frozen backbonefirst-280–27, depth 2894.9
skip-28uniform over 0–3990.9
end-2812–3986.7
Frozen backbone, disjoint 14-layer mapsfirst-140–13, depth 1493.6
last-1426–3989.6
Full fine-tuningfirst-280–27, depth 2894.6
skip-28uniform over 0–3995.3
end-2812–3992.5

The cleanest comparison is skip-28 vs. end-28: both keep all 40 backbone layers and the same 28-layer expert, and differ only in whether early layers are read. first-28 and first-14 also shorten the backbone, so they change depth and compute as well as readout position.

With a frozen backbone, early layers dominate: the maps that read only early layers score highest, and dropping access to the first 12 layers costs 4.2 points (90.9 → 86.7). After full fine-tuning, the distributed skip-28 readout is best (95.3, against 94.6 for first-28 and 92.5 for end-28), so fine-tuning narrows the early-layer gap but does not close it.

Where the expert is sensitive

To see which attachment points matter, we intervene on one at a time. Replacing the keys and values at one layer with those from a different observation and task raises translation error most at layers 0–10. Noise of the same magnitude stays within 0.004 cm of the unchanged error, so the effect comes from the content being replaced, not the size of the disturbance. Masking the wrist image hurts most around layers 6–10; masking the instruction hurts most at layer 0, with a smaller rise near layer 17. Language, appearance and geometry each have their strongest influence at a different depth.

Intervention results at each attachment point of the action expert
Interventions at the expert's attachment points (diagnostic skip-28 models). (A) Translation error after swapping one attachment's cached keys and values with another observation's (bars), adding matched-magnitude noise (orange), or no change (dashed). (B) Action change when masking the wrist image or the instruction; filled and open markers are separate even- and odd-attachment runs. (C) Masking the wrist-camera pose has little effect in the robot-frame model but a large effect at layer 0 in a wrist-frame model, which shows the test can detect pose use.

Action-relevant information is spread across the backbone rather than held only in its final layer. Early layers carry most of what a frozen policy needs, and a fine-tuned policy does best when it can read from every depth.

Finding 2: The gain comes from native pretraining, not encoder access

We put three backbones under the same action expert and robot-training corpus: Qwen3-VL-2B, Gemma-3-4B and NEO-2B, each pretrained on Open X-Embodiment for 75k iterations under the same setting. With the backbone frozen, only the expert learns, so the policy must work with the pretrained representations as they are. NEO-2B reaches 90.9% here, 11.4 points above Qwen3-VL and on par with both encoder-based models after full fine-tuning. Fully fine-tuned, it reaches 95.3%, the best score in every suite.

Backbone comparison on LIBERO. Success (%) at the final 30k-step checkpoint, averaged over 2,000 episodes (500 per suite). NEO-VLA rows use the skip-28 layer map.

BackboneSizeAdaptationSpatialObjectGoalLongAverage
Qwen3-VL2BFrozen71.489.892.864.079.5
Full FT92.296.695.878.690.8
Encoder unfrozena91.892.094.079.089.2
Gemma-34BFrozen80.293.692.671.684.5
Full FT89.097.694.882.891.0
NEO-VLA2BFrozen89.295.893.285.490.9
Full FT95.697.896.092.095.3

a Updates the vision encoder and action expert with other layers frozen; uses a replan interval of 4 and horizon of 8 instead of 12 and 20.

Giving the expert direct access to Qwen's vision tower

A natural objection is that NEO-VLA wins only because its expert can reach early visual features, which an encoder-based VLA hides behind the encoder output. We tested this directly: in Qwen3-VL we route 13 expert layers to intermediate vision-tower features instead. This adds no parameters.

Direct encoder access in Qwen3-VL. Average LIBERO success (%), same setting as above.

SettingQwen3-VL, original interfaceQwen3-VL + encoder accessNEO-VLA
Frozen backbone79.564.990.9
Full fine-tuning90.890.995.3

Encoder access makes the frozen Qwen3-VL policy worse (79.5 → 64.9), and after full fine-tuning the two interfaces are equal (90.8 vs. 90.9). Early visual features are only useful when they are learned jointly with language and presented in the space the rest of the model uses. NEO's encoder-free pretraining produces such features; an encoder bolted on in front of a language model does not.

Caveat: the backbones differ in pretraining data and capacity, so this comparison does not isolate the effect of removing the encoder alone. It does show that the native backbone is a strong starting point for action learning.

Exposing more of a conventional encoder is not enough. NEO-VLA's advantage comes from how native, encoder-free pretraining shapes early visual features into control-ready representations.

Finding 3: Understanding data matters in post-training

VLA post-training either finetunes on action data alone or co-trains with additional multimodal understanding data. We compare both against the checkpoint before post-training, on five understanding benchmarks and on RoboTwin 2.0 trained on clean scenes and evaluated on randomized ones (Clean2Rand).

Understanding before and after post-training. Understanding scores (%) and RoboTwin 2.0 Clean2Rand success (%). The action-only model no longer produces valid text, so it scores 0 on every understanding benchmark.

BenchmarkBefore post-training+ Co-training+ Action-only
MMBench-EN (dev)82.781.20.0
RealWorldQA66.868.40.0
AI2D (test)82.982.30.0
TextVQA (val)76.676.40.0
ChartQA (test)80.880.40.0
RoboTwin 2.0 Clean2Rand–69.410.7

Co-training with NEO-2B's own understanding corpus keeps every understanding score within 1.5 points of the starting checkpoint and reaches 69.4% on Clean2Rand. Action-only finetuning loses the ability to produce valid text and its policy falls to 10.7%. In our recipe, understanding examples are packed into every other optimizer step with an auxiliary next-token loss weighted by 0.1.

Action learning depends on retaining the backbone's own understanding. Pretraining-aligned co-training preserves it and gives the strongest policy, while action-only finetuning loses valid text output and degrades severely.

Real robot: three tasks, 50 demonstrations each

We built a small real-world benchmark to test precise placement, multi-step execution and object reorientation. Each model is fine-tuned on 50 episodes per task and evaluated over 20 trials: 10 in-domain and 10 out-of-domain. All methods use the same real data and their own recommended post-training settings.

The three real-robot tasks: tennis ball on can, tape in bowl then ball in tape, and stand a lying can upright in the tape roll
  • Task 1: place the tennis ball on the can. The top of the can is smaller than the ball, so the ball has to be released gently and centered.
  • Task 2: tape roll into the bowl, then the ball into the tape. A two-stage task: the second placement depends on where the first one ended up.
  • Task 3: stand the lying can upright in the tape roll. The can must be grasped on its side, rotated by 90° and inserted into the roll.

Real-world success (successes / 20 trials).

ModelSizeTask 1: ball on canTask 2: tape & ballTask 3: can in tape
StarVLA3B1/202/200/20
π0.53B10/2014/2013/20
NEO-VLA2B12/2017/2013/20

Twenty trials per task is a small sample; differences of one or two successes are within noise.

Task 1: tennis ball on can
Task 2: tape in bowl, then ball in tape
Task 3: stand can in tape

Additional tasks. Pouring water and placing gunkan sushi are not part of the three-task benchmark; they are shown as qualitative examples. The gunkan clip runs at real-time speed: the policy picks four gunkan pieces, one at a time, from a table of mixed sushi and places them on a plate.

Pour water from a paper cup into a glass mug
Pour water: a second run
Place four gunkan sushi on a plate

More rollouts for each benchmark task are on the project page.

Simulation benchmarks

Simulator versions, camera inputs, training data and evaluation protocols differ across papers, so the tables below give context rather than controlled comparisons. Numbers for other methods are as reported in prior work. Open marks methods with both code and weights public.

LIBERO

ModelSizeOpenSpatialObjectGoalLongAverage
OpenVLA7Byes84.788.479.253.776.5
π0.53Byes98.898.298.092.496.8
MMaDA-VLA8Byes98.899.898.095.298.0
EO-13Byes99.799.899.294.898.4
Qwen-RobotManip4Bno––––99.1
NEO-VLA2Byes98.499.495.696.297.4

NEO-VLA: 2,000 episodes per suite at step 27,500. LIBERO is close to saturated, so we report it mainly to show that in-distribution performance is retained.

LIBERO-Plus

LIBERO-Plus evaluates seven kinds of distribution shift separately. NEO-VLA is strongest when the way the scene is observed changes (camera, noise), and weaker when the robot or the layout changes.

ModelSizeOpenCameraRobotLanguageLightBackgroundNoiseLayoutTotal
π03Byes13.86.058.885.081.479.068.953.6
StarVLA4Byes52.549.888.595.795.773.076.974.1
ABot-M04Byes60.467.986.496.291.686.482.680.5
Cosmos-Policy2Byes75.863.381.796.588.992.782.282.2
π0.53Byes78.473.680.896.294.189.084.584.4
Qwen-RobotManip-scratch4Bno70.444.988.195.895.584.479.178.3
Being-H0.73Bno82.059.082.897.890.093.588.584.8
Qwen-RobotManip4Bno87.275.585.696.697.797.787.389.0
NEO-VLA2Byes94.572.691.796.296.696.982.489.7

The total is task-weighted rather than the mean of the seven axes. Other results follow Qwen-RobotManip.

RoboTwin 2.0

Under the official setting (2.5K clean training episodes), the main difference shows up when the policy is evaluated on randomized scenes.

ModelSizeOpenCleanClean2Rand
FastWAM6Byes77.801.90
StarVLA-OFT3Byes46.523.16
π0.53Byes70.7046.00
OLA-Sem8Bno75.1267.56
Qwen-RobotManip4Bno89.5868.12
NEO-VLA2Byes75.7869.40

LIBERO-Pro

LIBERO-Pro changes object appearance, object positions, instruction wording and task goals. NEO-VLA handles reworded instructions well but, like the other policies here, mostly fails when positions or goals change. Robust perception alone does not yet give flexible task execution.

ModelSizeObjectPositionSemanticTaskAverage
OpenVLA7B93.00.097.30.047.6
π03B90.50.090.50.045.3
π0.53B96.020.895.80.853.3
X-VLA0.9B79.00.896.86.845.8
NEO-VLA2B84.33.098.06.347.9

Training data and recipe

Backbone. NEO-2B is a 40-layer decoder-only native vision-language model, trained in three stages (image-text pretraining, mid-training on captioning, conversation, OCR and detection data, then supervised instruction tuning). It uses native rotary position embeddings over time, height and width, causal attention for text and bidirectional attention within each image.

Robot pretraining corpus. Nine public dataset families (AgiBot-World, Bimanual YAM, RoboCOIN, Open X-Embodiment, Galaxea Open-World, RoboMIND, RH20T, DROID and the simulated InternData-A1), 2.23M episodes and about 9,900 hours. Unreliable joint readings, constant channels, action outliers and corrupt episodes are masked or dropped, and camera calibration is checked against projected arm motion.

Recipe. Stage 1 trains the action expert on a frozen backbone (113,400 steps, batch 8,192). Stage 2 unfreezes everything for 75,000 steps and co-trains with NEO-2B's understanding data. Stage 3 continues full fine-tuning on in-house action data for another 75,000 steps.

Robot data quality filtering pipeline
Data quality filtering. Each check removes only the affected readings, channels, targets, episodes or calibration records, so usable data is kept.

Citation

@article{fan2026pixels,
  title={From Pixels to Actions--Towards Native Vision-Language-Action Policies},
  author       = {Fan, Weichen and Diao, Haiwen and Wu, Penghao and Hu, Siyuan and Huang, Ziqi and Liu, Tianqi and Sun, Mingze and Wang, Ziyi and Cai, Zhongang and Deng, Hanming and Wang, Quan and Yang, Lei and Lu, Lewei and Hong, Fangzhou and Chen, Zhaoxi and Lin, Dahua and Liu, Ziwei},
  journal={arXiv preprint arXiv:2611.06918},
  year={2026}
}

NEO-VLA builds on the NEO native vision-language backbone: Diao et al., From Pixels to Words: Towards Native Vision-Language Primitives at Scale, ICLR 2026.

Correspondence: ziwei.liu@ntu.edu.sg

Comments

Loading