UI-MOPD trains one GUI agent for both desktop and mobile by routing each rollout to a platform-specific teacher during on-policy RL, so the shared student inherits two distinct interaction styles instead of an averaged blur across platforms.
Say you’re shipping an agent that automates workflows across a customer’s Mac and their Android phone. The same intent (“go back”) means closing a window on desktop and tapping a back button on mobile. Today, the common recipe is to pool desktop and mobile demonstrations and do mixed Supervised Fine-Tuning, or train two specialists and average their weights via TIES Merging. Both approaches smear the two behavioral vocabularies into one, and the paper shows this shows up as flat or collapsed mobile accuracy even when desktop looks fine.
Stage 1 fine-tunes a 32B vision-language model twice on Uni-GUI trajectories, producing a desktop teacher and a mobile teacher, each fluent in its own action space. Stage 2 trains a smaller 8B student with reinforcement learning, and here is the actual contribution: during each rollout, the student acts in either a desktop or mobile environment, and the KL-divergence term that anchors the student is computed against only the teacher matching that platform. Think of it as two separate leashes that activate depending on which environment the agent is in, rather than one leash pulling toward an averaged behavior. The KL is estimated cheaply with the K3 KL Estimator on sampled tokens, and it gets masked out for prompt groups where task reward is already high, so the teacher stops interfering once the student is winning on its own. Rewards are rule-based: full credit if the emitted action JSON matches type, coordinates, text, and direction; partial penalty if some fields are wrong; hard penalty if unparseable. Advantages are computed group-relative in the style of Group Relative Policy Optimization (GRPO), and the whole objective is a clipped policy gradient plus the routed KL penalty.
for batch in rollouts:
# student acts in mixed desktop+mobile envs
trajectories = student.sample(batch.prompts)
rewards = rule_based_reward(trajectories)
for i, traj in enumerate(trajectories):
teacher = desktop_teacher if traj.platform == "desktop" else mobile_teacher
kl[i] = k3_kl(student_logp[i], teacher.logp(traj))
kl_mask = (group_mean(rewards) <= tau) # skip KL when reward is high
loss = clipped_pg(rewards) + beta * (kl_mask * kl).mean()
student.update(loss)
The prevailing move for a multi-platform agent is to pour all the data into one training run or merge specialist weights after the fact. This paper shows the opposite. Keep the specialists alive as teachers, and let the environment label decide which teacher constrains the student on each rollout, so platform conventions stay intact under joint RL. The load-bearing evidence is not the headline benchmark; it is the single-platform Supervised Fine-Tuning ablation where fine-tuning on one platform collapses the other, versus UI-MOPD lifting both at once.
•
The clearest evidence for the routing thesis is the ablation in Table 2: an 8B fine-tuned only on desktop data goes to 35.8% on OSWorld but 0% on MobileWorld, and fine-tuning only on mobile data leaves desktop below UI-MOPD. UI-MOPD instead lifts both platforms simultaneously (+4.3 points each over the base 8B).
•
On the headline interactive benchmarks, UI-MOPD reaches 38.2% on OSWorld and 12.0% on MobileWorld, beating mixed-SFT (35.0% / 6.4%) and weight-merging baselines (36.5–36.8% / 0–6.8%). Notably, TIES Merging collapses to 0% on mobile, a concrete failure of the “just average the specialists” approach.
•
The 32B teachers individually score 46.3% (desktop) and 16.2% (mobile), so the 8B student captures a sizable fraction of each specialist’s edge from one shared checkpoint.
•
Static GUI grounding on ScreenSpot-Pro, ScreenSpotV2, and OSWorld-G stays within a point of the base model, while TIES Merging drops 4–7 points across the same benchmarks. The routed KL acts as a brake on capability erosion.
Reach for this pattern when you have two or more environments with genuinely different action vocabularies (say, a browser agent and a terminal agent, or iOS vs Android), you already have decent specialist checkpoints per environment, and you want one deployable model. The recipe: train specialists with Supervised Fine-Tuning, then run RL on the shared student with mixed-environment rollouts, tagging each rollout with its source and computing the KL only against the matching specialist. The environment tag is the routing key; no learned gate needed.
The paper releases the Uni-GUI dataset description (~160K steps, ~11.5K trajectories across desktop and mobile, built on top of cleaned OpenCUA and OpenMobile plus self-collected data), and documents the full training stack (verl, Megatron-Core, SGLang, 64 H100s). It does not link a public code or weights repository in the text provided, and does not specify a license for Uni-GUI.
When one model has to speak two dialects, keep a teacher per dialect and let the environment pick which one talks. Averaging specialists, whether by mixed data or weight merging, is the move that quietly destroys the weaker platform. Route the KL, not just the data.
•
The gap over mixed-SFT on desktop is modest (38.2% vs 35.0%); the dramatic wins are on the mobile side, where baselines collapse. If your target platforms are more symmetric in difficulty, the payoff may shrink.
•
The method assumes clean per-rollout platform labels and pre-trained specialists worth distilling from. If your “platforms” are fuzzy (e.g., different websites) or specialists are weak, routed KL degenerates toward a plain policy-gradient run.
•
Absolute MobileWorld success is still 12%. This is a mitigation for interference, not a solution to mobile GUI agents being hard. Don’t ship this expecting reliable end-to-end phone automation.