๐Ÿงž UI-Genie: A Self-Improving Approach for Iteratively Boosting MLLM-based Mobile GUI Agents

November 27, 2025 ยท View on GitHub

๐Ÿงž UI-Genie: A Self-Improving Approach for Iteratively Boosting MLLM-based Mobile GUI Agents

This work presents UI-Genie, a self-improving framework that enhances MLLM-based GUI Agents through iterative agent-reward model co-evolution, achieving state-of-the-art performance without manual annotation.

[๐Ÿ“– Paper] [๐Ÿค— Models & Datasets ]

๐Ÿ‘€ Overview

UI-Genie introduces a novel self-improving framework for GUI agents that:

  • ๐ŸŽฏ Eliminates manual annotation through iterative synthetic trajectory generation
  • ๐Ÿ”„ Co-evolves agent and reward models through self-improvement cycles
  • ๐Ÿ“Š Generates high-quality datasets without human effort
  • ๐Ÿ† Achieves SOTA performance across multiple benchmarks

๐ŸŒŸ Key Features

  • UI-Genie-RM: First specialized reward model for GUI trajectory assessment with image-text interleaved architecture
  • Self-Improvement Pipeline: Progressive expansion of solvable GUI tasks through reward-guided exploration
  • Synthetic Data Generation: High-quality trajectory synthesis with outcome verification

๐Ÿค– Model Zoo

Released Models

ModelSizeAndroidControl-LowAndroidControl-HighAndroidLabAndroid ArenaDownload
SRSRSRSR
UI-Genie-Agent3B93.872.928.8-๐Ÿค— HuggingFace
UI-Genie-Agent7B94.374.238.720.4๐Ÿค— HuggingFace
UI-Genie-Agent72B94.877.041.2-Coming soon

Reward Model

ModelSizeStep-Level F1Outcome-Level F1
UI-Genie-RM7B79.682.1

๐Ÿ“Š Datasets

We release two novel datasets that enable training GUI agents without manual annotation:

DatasetSizeDescriptionLink
UI-Genie-RM-517k517KFirst reward dataset for GUI agents๐Ÿค— HuggingFace
UI-Genie-Agent-16k16KHigh-quality synthetic trajectories๐Ÿค— HuggingFace

๐Ÿ› ๏ธ Installation

  1. Clone this repository:
git clone https://github.com/Euphoria16/UI-Genie.git
cd UI-Genie
  1. Create conda environment:
conda create -n ui-genie python=3.10.12 -y
conda activate ui-genie
  1. Install dependencies:
cd src/ms-swift
pip install -e .

๐Ÿ“ˆ Evaluation

Prerequisites

Before running evaluations, you need to download the source images from AndroidControl:

# Download AndroidControl images and place them in the correct directory
# Place images under: src/ms-swift/data/androidcontrol/imgs/

AndroidControl Benchmark

We provide evaluation scripts using the ms-swift library with pre-configured JSONL files located in src/ms-swift/data/.

High-Level Task Evaluation

Evaluate agent performance on high-level tasks that multi-step execution:

cd src/ms-swift
bash exps/eval_androidcontrol_swift_high_level.sh

Low-Level Task Evaluation

Evaluate agent performance on low-level tasks with step instructions:

cd src/ms-swift
bash exps/eval_androidcontrol_swift_low_level.sh

Other Benchmarks

Additional evaluation scripts for AndroidLab and Android Arena benchmarks will be released soon.

๐Ÿ”ฅ Training

We train UI-Genie agents based on the Qwen2.5-VL model family with the ms-swift framework for supervised fine-tuning.

Training Data

Our training pipeline combines multiple datasets:

Training Scripts

UI-Genie-Agent-3B (Full Fine-tuning)

Train the 3B model with full parameter fine-tuning:

cd src/ms-swift
bash exps/train_agent_3B.sh

UI-Genie-Agent-7B (Full Fine-tuning)

Train the 7B model with full parameter fine-tuning:

cd src/ms-swift
bash exps/train_agent_7B.sh

UI-Genie-Agent-72B (Parameter-Efficient Fine-tuning)

Train the 72B model using RSLoRA for peft:

cd src/ms-swift
bash exps/train_agent_72B.sh

๐Ÿค Acknowledgements

We thank the teams behind Qwen2.5-VL, AndroidControl, and AndroidLab for their foundational work and ms-swift for the efficient training and inference framework.

๐Ÿ“ง Contact

For questions and feedback, please open an issue or contact:

๐Ÿ“„ License

This project is released under the MIT License.