CUA-Lite Cuts Desktop Memory 4.6× by Replacing KVM VMs with Docker

September 6, 2026news
Open WeightsReinforcement LearningBenchmarks

Training a computer-use agent today means stitching together incompatible repositories for sandboxing, data collection, evaluation, and reinforcement learning — each with its own schema, its own interface, and its own infrastructure requirements. UC Berkeley researchers have released CUA-Lite to collapse that stack into a single platform covering desktop, browser, and mobile agents behind one action space, one data schema, and one command. The argument is infrastructural: tooling fragmentation is now the bottleneck, not the models themselves — a dynamic covered in depth in Pipeline Architecture, Not Better Models, Drives AI Gains.

The platform installs via uv sync --all-extras on Python 3.12 and requires no /dev/kvm access. That single constraint change — dropping the nested-virtualization requirement — makes CI runners, managed cloud instances, and nested containers viable deployment targets without configuration workarounds.

Lite.OSWorld: Replacing the VM

The most concrete engineering contribution is Lite.OSWorld, which reproduces OSWorld's full Ubuntu desktop task suite and its evaluators inside a plain Docker container running a GNOME desktop, rather than a QEMU/KVM virtual machine. OSWorld's VM approach requires /dev/kvm and nested virtualization that most managed infrastructure does not expose. The container alternative eliminates that dependency while cutting per-desktop memory from 4.1 GB to 0.9 GB and cold-start time from 29.9 seconds to 23.8 seconds, yielding approximately 4.6× more parallel instances on the same host.

Attribute OSWorld Lite.OSWorld
Runtime QEMU/KVM VM Docker container
Host requirement /dev/kvm, nested virtualization Any Docker host
Memory per desktop 4.1 GB 0.9 GB
Cold start 29.9 s 23.8 s
Parallelism Baseline ~4.6× more instances
Task suite OSWorld Identical

Fidelity is the non-obvious risk when swapping a VM for a container. The team reports that across 13 models, scores produced inside Lite.OSWorld match those from the OSWorld VM, meaning training signal and benchmark numbers earned in the container transfer to the real benchmark without correction. The same container base extends to Lite.ScaleCUA, Lite.CUAGym, and Lite.CUAWorld — the last spanning roughly 40 applications including Blender, QGIS, and VS Code. The platform's total verifiable task count is 30,000+.

LiteSample: One Schema Across Every Environment

CUA-Lite's data layer is LiteSample, a supervised-learning schema shared across every environment, agent, and task type, distributed as plain Parquet files alongside images. More than ten existing CUA datasets have been preprocessed into LiteSample format and published on Hugging Face at no cost, including Aguvis, OpenCUA, ScaleCUA, GUI-360, GUIOdyssey, and Multimodal-Mind2Web. The schema standardisation addresses a persistent problem in agent control layer interoperability: when each dataset ships its own format, every downstream training pipeline requires bespoke adapters that accumulate as maintenance debt.

Because model families expect different scaffolding, the framework ships a per-model adapter that packs a unified LiteSample into each model's native training format, including history collapsing so that multiple trajectory steps share a single forward pass. Alongside the preprocessed corpora sit fresh rollout datasets generated by running a frontier teacher model through the sandboxes, intended for distillation into smaller student models.

Eval and RL in One Loop

Agents and environments communicate through lite.gym: screenshots travel from environment to agent, actions travel back, with one action space per platform type. The framework ships 10+ built-in agents — GPT, Claude, Gemini, Qwen3-VL, UI-TARS, Fara-7B, MAI-UI, and others — and integrates 15+ benchmarks spanning grounding (ScreenSpot-Pro, OSWorld-G), desktop (OSWorld, OSWorld-2, WindowsAgentArena, CUABench), browser (WebArena, VisualWebArena, MiniWoB, WebVoyager, Online-Mind2Web, WebGym), and mobile (AndroidWorld, AndroidLab, MobileWorld, MobileGym). Swapping --model-id and --env-id in scripts/rollout.py is the complete interface for changing both.

The same rollout loop serves SFT and RL. The README documents fine-tuning Qwen3-VL-2B-Instruct on Lite.ScaleCUA desktop trajectories, moving mean episode return from 0.138 to 0.237 on the 332-task Lite.OSWorld eval split using two GPUs — a single reported configuration, not an independently reproduced result. For reinforcement learning, rollouts scored by the environment's verifiable reward signal drive GRPO updates on top of the Slime trainer, with a worked example covering 416 mobile tasks across 28 apps in MobileGym.

The repository ships no explicit license yet, so teams should verify terms before any commercial use. That gap aside, CUA-Lite represents a meaningful consolidation of the evaluation and training surface for computer-use agents — the kind of infrastructure-layer unification that tends to accelerate downstream capability work more durably than incremental model improvements. When the tooling overhead of reproducing a benchmark drops from a KVM-equipped bare-metal host to any Docker-capable machine, the population of researchers who can iterate on these systems expands substantially.

Related Reading