SAI

InternVLA-M1

Shanghai AI Laboratory, China · October 2025

Shanghai Artificial Intelligence Laboratory (InternRobotics)

Foundation VLAOpen weights, Code MITAlso written InternVLA-M1-Pretrain-RT-1-Bridge, InternVLA-M1-LIBERO-Spatial/Object/Goal/Long
Parameters
4.1 B
Paper Section 2.1: 'In total, InternVLA-M1 comprises approximately 4.1B parameters.' Breakdown: Qwen2.5-VL-3B-Instruct as...
GPU memory
12 GB
reported by the authors
Inference latency
not published
per action step
Weights
Code MIT
Code MIT (GitHub), model checkpoints CC BY-NC-SA 4.0 (Hugging Face)

What it is

InternVLA-M1 is a dual-system VLA that separates where to act from how to act. System 2 is a Qwen2.5-VL-3B-Instruct planner pre-trained on more than 2.3M spatial reasoning samples to establish spatial grounding, and System 1 is a compact diffusion policy action expert of 86M parameters built on a DINOv2 visual encoder (21M) and a 0.4M state encoder. Both are supervised jointly in each training step, with language and action losses aggregated into a single optimization update, so perception and control co-adapt rather than being learned in isolation. It is one of the very few VLAs that publishes concrete deployment numbers: roughly 4.1B parameters total, running on a single RTX 4090 with about 12 GB of memory and approximately 10 FPS for the VLM component with FlashAttention. Reported results are 80.7 percent on SimplerEnv Google Robot visual matching, 71.7 percent on WidowX and 95.9 percent LIBERO average, reached in about 2.5 epochs without separate action pretraining. The licensing is split and matters commercially: the code is MIT but the checkpoints are CC BY-NC-SA 4.0.

Architecture

Backbone
Qwen2.5-VL-3B-Instruct as the System 2 multimodal encoder
Action head
Diffusion policy Action Expert (System 1, 86M parameters) in the style of Chi et al. 2023, built on a DINOv2 visual encoder (21M) and a lightweight state encoder (0.4M). The DiT-style action head design is credited to CogACT. Dual supervision aggregates the multimodal and action losses into one optimizer step.
Action chunk
16 steps per forward pass
Parameters
Paper Section 2.1: 'In total, InternVLA-M1 comprises approximately 4.1B parameters.' Breakdown: Qwen2.5-VL-3B-Instruct as System 2, plus a diffusion policy Action Expert of 86M, a DINOv2 visual encoder of 21M and a lightweight state encoder of 0.4M. The Hugging Face model card labels it 4B, while the safetensors index of the InternRobotics/InternVLA-M1 repository reports 3,754,622,976 BF16 parameters, which covers the VLM component rather than the full stack.
Pretraining data
More than 3M samples in total for spatial grounding pre-training, of which more than 2.3M are dedicated spatial reasoning data: General QA approximately 637K, Box QA approximately 879K, Trajectory QA approximately 684K and Point QA approximately 832K. Post-training uses a subset of Open X-Embodiment (fractal_rt_1 and bridge_v1) co-trained with the spatial grounding data.
Embodiments
Google Robot (SimplerEnv, RT-1 / fractal), WidowX (SimplerEnv, BridgeData), Franka Panda in LIBERO simulation, Real-world clustered pick-and-place setup (platform not specified in the abstract)

What hardware it needs

This is the section most people came for, so it is worth being precise about which numbers are measured and which are arithmetic.

Computed from 4.1 B parameters. Weights only, so treat it as a floor: activations, image encoder intermediates and the CUDA context come on top, in practice 30 to 50 percent more for inference.
PrecisionWeightsNote
fp3215 GBTraining master weights, rarely used for inference
bf16 or fp167.6 GBThe usual way these checkpoints are served
int83.8 GBQuantised, expect some loss of precision on fine motions
int41.9 GBAggressive quantisation, verify success rate before trusting it

Smallest real card that fits the bf16 weights plus a 40 percent runtime allowance: 12 GB. That is an estimate for inference, not for fine tuning. Full fine tuning also holds optimiser state and gradients, which typically costs several times the weights unless you use LoRA or a comparable adapter.

Published figures. These come from the model authors, not from this site.
Inference memory, reported12 GB source

Inference runs on a single RTX 4090 at around 12 GB memory usage, which is the most concrete consumer-hardware claim among the models compared here. Training is a different scale: SimplerEnv post-training used 16 NVIDIA A100 GPUs for 50k steps (about 2.5 epochs) at total batch sizes of 256 for robot data and 64 for multimodal data, and LIBERO fine-tuning used 16 A100 GPUs at batch size 256 for roughly 30K steps, about 20 hours per suite.

Reported results

Grouped by what the evaluation actually asked. Values from different suites are not comparable with each other, so each one keeps its suite and split.

Simulation

Reproducible benchmark suites. Everyone runs the same episodes, so the numbers can be compared inside a suite.

  • LIBERO Average over 4 suites
    95.9%
    success ratePaper LIBERO table. Per split: Spatial 98.0, Object 99.0, Goal 93.8, Long 92.6. Each suite uses a separately fine-tuned checkpoint with action chunk size 8.source
  • LIBERO Long
    92.6%
    success ratePaper table. 7.4 points above pi-0 (85.2), which is where the model gains most over that baseline.source
  • SimplerEnv (Google Robot) Visual Matching, average over 4 tasks
    80.7%
    success ratePaper SimplerEnv Google Robot table. Per task: pick coke can 95.3, move near 90.0, open/close drawer 75.5, open top drawer and place apple 62.0. Do not confuse the 95.3 per-task figure with the average.source
  • SimplerEnv (Google Robot) Variant Aggregation, average over 4 tasks
    76%
    success ratePaper table. Per task: pick coke can 86.1, move near 82.0, open/close drawer 72.0, open top drawer and place apple 64.0. This is 20.2 points above the vanilla VLA baseline (69.8), the largest gain the spatial guidance produces.source
  • SimplerEnv (WidowX / Bridge) average over 4 tasks
    71.7%
    success ratePaper table. Per task: put spoon on towel 87.5, put carrot on plate 67.9, stack green block on yellow block 31.3, put eggplant in yellow basket 100.0. Block stacking at 31.3 is the clear failure mode.source

Real world

No results in this category are published for this model.

Fine tuned tasks

No results in this category are published for this model.

On real hardware

In real-world clustered pick-and-place, InternVLA-M1 improved by 7.3 percent, and with synthetic co-training it reached an additional 20.6 percent on unseen objects and novel configurations. The paper reports these as deltas rather than absolute success rates, and the specific robot platform is not named in the abstract.

Fine tuning it yourself

Post-training runs on an Open X-Embodiment subset (fractal_rt_1, bridge_v1) co-trained with spatial grounding data; the VLM takes the primary observation image, the task instruction and an auxiliary spatial prompt, while the action expert predicts an action chunk of 16. Multimodal data follows an SFT-style question-answering format. LIBERO fine-tuning uses an action chunk size of 8 and trains each suite independently for roughly 30K steps, about 20 hours on 16 A100 GPUs. Separate checkpoints are published per LIBERO suite. Reaching SOTA-level convergence takes about 2.5 epochs without separate action pretraining.

Where it helps, where it does not

Strengths

  • Publishes concrete deployment numbers that almost no comparable paper gives: single RTX 4090, about 12 GB memory, approximately 10 FPS for the VLM component
  • Very efficient training: SOTA-level convergence in about 2.5 epochs without a separate action pretraining stage
  • Compact action expert (86M plus 21M plus 0.4M) keeps the fast path cheap while the 3B planner supplies spatial priors
  • Large gains where spatial grounding matters most: 20.2 points over the vanilla VLA on SimplerEnv Google Robot variant aggregation and 17.0 points on WidowX
  • Code is MIT licensed and per-suite LIBERO checkpoints are published, which makes reproduction straightforward
  • Its code has been reused by later models, for example Unitree's UnifoLM-VLA-0 credits it

Limits

  • Split licensing: MIT code but CC BY-NC-SA 4.0 checkpoints, so the weights cannot be used commercially
  • The published 10 FPS figure covers the VLM component only, not end-to-end policy latency, so real control rates are undocumented
  • Parameter counts disagree across artefacts: the paper says approximately 4.1B, the model card says 4B, and the safetensors index reports 3.75B
  • LIBERO-Goal at 93.8 percent is below pi-0 at 95.8 percent, so it does not win every split
  • Real-world results are reported only as improvement deltas (7.3 percent, 20.6 percent) without absolute success rates or a named robot platform
  • Action chunk size is inconsistent across experiments (16 for SimplerEnv and real-world, 8 for LIBERO), which complicates direct comparison
  • LIBERO requires a separately fine-tuned checkpoint per suite rather than one multi-task policy

Sources

Everything on this page was taken from these documents. Where they disagree with what you read here, they win.

Entry last checked 2026-08-11.

Try a policy on a real arm

A physical SO-100 is online and free to drive in the browser, and five of the models in this arena can be fine tuned on a dataset you record with your own.