FlashVLA: Streaming Action Decoding for Fast and Asynchronous VLA Inference
Zekai Li, Jiaming Tang, Zhijian Liu
Vision-Language-Action (VLA) models are becoming practical robot policies, but real robots do not get to pause while the model thinks. Flow-matching VLAs such as generate actions through iterative denoising, and in our profile this action decoder takes about 60%-80% of per-step inference time, depending on the number of camera views.
This bottleneck creates a dilemma for VLA deployment. Synchronous inference keeps observations and actions temporally aligned, but stalls the robot at every chunk boundary while the next chunk is decoded. Asynchronous inference overlaps prediction with execution, but predicts from a stale observation; the actions arrive at a robot state the model never saw, and the longer the lookahead, the larger the temporal mismatch.
The Bottleneck Is Chunk Isolation
Prior work treats these as separate problems. Efficient-inference methods make each forward pass cheaper with lightweight architectures, compression, or token pruning, but the decoding loop still blocks. Asynchronous methods condition on future states or planned actions, but still require lookahead, which re-amplifies mismatch.
Our observation is that two issues share the same cause: chunk isolation. A flow-matching VLA decodes each action chunk from pure noise, conditioned only on the current observation and decoupled from chunks already in flight. Isolation concentrates all denoising steps inside one chunk decode, creating latency, and leaves each new chunk uninformed about the trajectory it is about to join, creating mismatch.


FlashVLA: Streaming Action Decoding
FlashVLA keeps a rolling buffer of N action chunks. Earlier slots are closer to execution and cleaner; later slots are farther in the future and noisier. Each forward pass advances the whole buffer by one denoising step. After warm-up, the cleanest chunk is emitted, the buffer shifts, and a fresh noisy chunk enters the tail.
This single formulation gives FlashVLA three advantages:
- Amortized denoising. Each chunk still traverses the full denoising path, but the passes are spread across streaming steps. The robot gets one executable chunk per step instead of waiting for a full blocking decode.
- Implicit asynchronous conditioning. Future chunks attend to cleaner near-execution chunks, so the decoder is already conditioned on the trajectory the robot is following. No future-state predictor is needed.
- Chunk-level memory. Each noisier chunk attends to all earlier chunks in the buffer, giving the action expert a short structured history of recently refined actions. This is especially useful on long-horizon tasks.
Training
We adopt multi-buffer joint fine-tuning. For each observation, we pack all valid buffer states into one training sample: cold-start states with padding chunks, and the full steady-streaming state. These packed buffers share the same visual-language context, while an attention mask prevents interaction across buffer states. The objective is still the standard flow-matching loss, just summed over the packed buffer states.

Inference
FlashVLA runs in two phases. During cold start, the buffer is gradually populated while the robot executes a safe no-op action and remains stationary. This overhead is paid once at the beginning of an episode. During steady streaming, each forward pass advances every chunk by one denoising step, emits the cleanest chunk, shifts the buffer, and appends a fresh noisy chunk at the tail. Each chunk still traverses the full denoising path before execution, but the work is amortized across time.
Simulated Evaluation
Asynchronous Execution
On LIBERO with asynchronous deployment, FlashVLA is the only method that improves both axes. At one-step delay, it raises average success from 96.9% to 97.8% while reducing time per step from 53.8 ms to 22.1 ms, a 2.43x speedup. VLASH provides only a 1.15x speedup at comparable success, while StreamingVLA reaches 1.70x but loses 2.0 success points.
| Method | Spatial | Object | Goal | Long | Avg. | Steps | Time | Time / step | Speedup |
|---|---|---|---|---|---|---|---|---|---|
| sync | 98.8 | 98.2 | 98.0 | 92.4 | 96.9 | 156.0 | 8.4 s | 53.8 ms | 1.00x |
| VLASH (d=1) | 98.8 | 99.2 | 96.7 | 94.4 | 97.2 | 153.9 | 7.2 s | 46.8 ms | 1.15x |
| VLASH (d=4) | 92.5 | 96.9 | 93.3 | 89.6 | 93.1 | 176.7 | 5.8 s | 32.8 ms | 1.64x |
| StreamingVLA (d=1) | 96.6 | 96.6 | 95.4 | 91.0 | 94.9 | n/a | n/a | 31.6 ms | 1.70x |
| FlashVLA (d=1) | 98.8 | 99.6 | 97.6 | 95.4 | 97.8 | 158.0 | 3.5 s | 22.1 ms | 2.43x |
RoboTwin 2.0 shows the same pattern in the harder bimanual setting. At one-step delay, FlashVLA reaches 90.6% success, compared with 86.0% for synchronous and 86.9% for VLASH, while reducing time per step from 47.4 ms to 43.8 ms. VLASH and FlashVLA use the same backbone and the same clean-plus-randomized 50-task training data.
The advantage remains as the asynchronous delay grows. Across d=1-4, FlashVLA maintains 97.5%-98.3% success on LIBERO and 89.8%-90.6% on RoboTwin 2.0, staying above the synchronous baseline throughout. On RoboTwin, it outperforms VLASH by 3.7-4.7 points while sustaining a 1.08x-1.10x end-to-end speedup (the smaller speedup is simulator-dominated: policy inference occupies only 8.1 of 47.4 ms per step, while rendering and communication take the rest).
Inference Latency
We isolate decoding latency by comparing against Realtime-VLA, which accelerates each pass while retaining the original decoding loop. FlashVLA is faster in every hardware and camera setting, reaching 20.3 ms per policy invocation on an RTX 5090 with two views. Its advantage grows with the number of camera views as each forward pass becomes more expensive.
60 48 36 24 12 0 | ||||
| 4090 / 2 views | 4090 / 3 views | 5090 / 2 views | 5090 / 3 views |
Cross-Architecture Generalization
FlashVLA is a plug-and-play decoding method for flow-matching VLAs. On SmolVLA, synchronous FlashVLA preserves average success at 80.1%; at one-step asynchronous delay, it reaches 79.5% while reducing time per step by 1.44x. On LingBot-VLA, it raises success from 85.2% to 88.6% synchronously and 89.3% asynchronously, with 1.15x and 1.22x time-per-step speedups. Inference latency falls by 1.95x on SmolVLA and 2.81x on LingBot-VLA.
| Backbone | Method | Avg. SR (%) | Time / Step | Inference Latency |
|---|---|---|---|---|
| SmolVLA | Baseline | 80.1 | 41.2 ms | 19.7 ms |
| SmolVLA | + FlashVLA (d=0) | 80.1 (+0.0) | 29.7 ms (1.39x) | 10.1 ms (1.95x) |
| SmolVLA | + FlashVLA (d=1) | 79.5 (-0.6) | 28.7 ms (1.44x) | - |
| LingBot-VLA | Baseline | 85.2 | 56.7 ms | 70.6 ms |
| LingBot-VLA | + FlashVLA (d=0) | 88.6 (+3.4) | 49.5 ms (1.15x) | 25.1 ms (2.81x) |
| LingBot-VLA | + FlashVLA (d=1) | 89.3 (+4.1) | 46.6 ms (1.22x) | - |
These results show that streaming action decoding generalizes across distinct flow-matching VLA architectures under both synchronous and asynchronous execution, with no or only minimal additional parameters.
Real-World Experiment
We deploy FlashVLA on a 7-DoF Franka arm with a consumer-grade RTX A4000 and ask whether the simulated latency and asynchronous-continuity benefits transfer to a real robot at 30 Hz. The tasks span short, medium, and long horizons: pick-and-place, whiteboard wiping, and table cleaning. We compare synchronous, naive asynchronous , RTC, and FlashVLA; all asynchronous methods use a two-step delay.
100 80 60 40 20 0 | |||
| Pick and Place | Whiteboard Wiping | Table Cleaning |
60 48 36 24 12 0 | |||
| Pick and Place | Whiteboard Wiping | Table Cleaning |
FlashVLA exceeds all three configurations on every task, improving the cross-task average score from 80.0% for synchronous and RTC (75.6% for naive asynchronous execution) to 84.4%. Completion time is measured only over successful trials, so the 1.3x speedup over synchronous execution and 1.2x over RTC cannot come from failed rollouts ending early. The joint gain in score and speed shows that streaming removes chunk-boundary stalls while preserving asynchronous continuity. Relative to synchronous execution, the absolute time saved grows from 3.1 s on pick-and-place to 10.2 s on table cleaning.
On the RTX A4000, FlashVLA has an inference latency of 67.3 ms, approximately two 30 Hz control periods. A two-step asynchronous delay overlaps this latency with action execution, enabling real-time 30 Hz control on a consumer-grade GPU.
Conclusion
FlashVLA shows that VLA action decoding does not have to be a blocking loop. A streaming buffer of action chunks at staggered noise levels collapses the latency cost and the asynchronous-mismatch cost into one design. It cuts per-step action-decoding latency by up to 20x while keeping every action chunk on a full denoising trajectory.
The same mechanism fixes asynchronous mismatch. Cleaner near-execution chunks become context for noisier future chunks, so the next action is conditioned on the motion already underway. Fast inference and smooth execution come from the same design.
Citation
@article{flashvla2026,
title = {{FlashVLA: Streaming Action Decoding for Fast and Asynchronous VLA Inference}},
author = {Li, Zekai and Tang, Jiaming and Liu, Zhijian},
year = {2026}
}
Z Lab