CoolFace
Datasetpublic

KMK040412/guiowl-aw-mix-hybrid

GUI-Owl AndroidWorld SFT Mix — HYBRID / recommended Purpose: AndroidWorld (116-task) SFT for a GUI-Owl-1.5-2B block-diffusion VLA. This dataset is an action-balanced, source-mixed SFT corpus assembled from five Android GUI-agent trajectory sources. It is built for in-domain supervised fine-tuning ahead of RL. The mix deliberately includes AndroidWorld task-family coverage (via the openmobile anchor, whose app field holds AW task-family names) and accepts in-domain overlap by… See the full description on the dataset page: https://huggingface.co/datasets/KMK040412/guiowl-aw-mix-hybrid.

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
0likes50downloads
Dataset Card

GUI-Owl AndroidWorld SFT Mix — HYBRID / recommended

Purpose: AndroidWorld (116-task) SFT for a GUI-Owl-1.5-2B block-diffusion VLA. This dataset is an action-balanced, source-mixed SFT corpus assembled from five Android GUI-agent trajectory sources. It is built for in-domain supervised fine-tuning ahead of RL. The mix deliberately includes AndroidWorld task-family coverage (via the openmobile anchor, whose app field holds AW task-family names) and accepts in-domain overlap by design.

This version: HYBRID

Balanced mix (~593k steps). openmobile ~26% + gui_odyssey ~26% + AITW ~22% visual ballast + amex/androidcontrol. Per-family soft cap (310) to avoid AW-family memorization skew. Recommended default trade-off between specialization and generalization.

  • —Total steps: 593,016
  • —Shards: 149 parquet files (balanced-*.parquet, ~4000 rows each)
  • —Build seed: 7

Action distribution

actionrowsshare
click270,00045.53%
type90,00015.18%
terminate60,00010.12%
system_button60,00010.12%
swipe48,0008.09%
open27,0004.55%
wait23,7044.0%
long_press8,8641.49%
answer5,4480.92%

Source mix

sourcerowsshare
gui_odyssey155,11726.16%
openmobile153,86425.95%
aitw132,23622.3%
androidcontrol_par98,52916.61%
amex53,2708.98%

Swipe direction (overall)

dirrowsshare
up28,42559.22%
down11,56824.1%
left4,1768.7%
right3,8317.98%
Note: a direction-balanced swipe subset (up40/down30/left17/right13) is enforced up to 19,069 swipes; the remainder keeps the natural (up-heavy) distribution as ballast, so the overall swipe split above is up-heavy by design.

Schema (unified 13-column)

source           string   # origin dataset: androidcontrol_par | amex | openmobile | gui_odyssey | aitw
src_key          string   # original sample key in the source corpus
app              string   # app / AndroidWorld task-family label (may be empty)
instruction      string   # natural-language goal for the episode
history          string   # prior-step context
screenshot       binary   # PNG/JPEG screen bytes
screen_width     int
screen_height    int
episode_id       string
target_json      string   # ground-truth action as JSON (canonical label)
action_type      string   # parsed action: click|type|swipe|system_button|terminate|wait|open|long_press|answer
coordinate       list     # parsed primary coordinate (normalized 0-1000) or null
coordinate2      list     # parsed secondary coordinate (swipe end) or null

Coordinates are normalized to a 0-1000 grid (origin top-left).

How the mix was built

Balanced via a parallel 2-stage builder (build_balanced_mix.py): actions and coordinates are parsed from target_json, then per-action keep_prob, per-(action, coordinate-bin) caps (maxfracpercoordbin = 0.06, 8x8 grid), and per-(action, app) caps (maxfracperapp = 0.22) are applied. Scarce AndroidWorld verbs (open / answer / longpress / terminate) are up-weighted via sampling-with-replacement (replication caps: {'open': 6, 'answer': 8, 'longpress': 8, 'terminate': 5}). Full provenance and exact targets are in balance_report.json.

Sibling datasets