cua-lite/Lite.ScaleCUA
cua-lite/Lite.ScaleCUA Lite.ScaleCUA grounded teacher trajectories collected on ScaleCUA's OSWorld tasks and judges via the cua-lite lite.scalecua runtime, from two teachers published as separate configs (*.gpt5_5 from gpt-5.5, *.qwen3_8_27b from Qwen/Qwen3.8-27B) and annotated by the same quality pass; ordinary quality gates tagged in metadata.others.exclude_reason, publish-invalid tool leaks/OOB coordinates hard-dropped (filter with not exclude_reason and episode_return>0.5)… See the full description on the dataset page: https://huggingface.co/datasets/cua-lite/Lite.ScaleCUA.
cua-lite/Lite.ScaleCUA
Lite.ScaleCUA grounded teacher trajectories collected on ScaleCUA's OSWorld tasks and judges via the cua-lite lite.scalecua runtime, from two teachers published as separate configs (*.gpt5_5 from gpt-5.5, *.qwen3_8_27b from Qwen/Qwen3.8-27B) and annotated by the same quality pass; ordinary quality gates tagged in metadata.others.excludereason, publish-invalid tool leaks/OOB coordinates hard-dropped (filter with not excludereason and episode_return>0.5)
Origin
- https://github.com/THUDM/SCALE-CUA
- https://huggingface.co/datasets/extreme1228/ScaleCUA
- https://arxiv.org/abs/2607.11185
Load via datasets
from datasets import load_dataset
# entire dataset
ds = load_dataset("cua-lite/Lite.ScaleCUA")
# just one named subset (config)
ds = load_dataset("cua-lite/Lite.ScaleCUA", "desktop.use.rl.gpt5_5")After loading, parse metadata as JSON before filtering by metadata_kind, dims, or others.*; every row carries a rich metadata object inside that JSON string (see schema below). CUA rows use dims == [platform, task_type].
Schema
Published parquet columns:
Coordinate values in messages are normalized to [0, 1000] integers. The JSON examples below show the decoded shape, not the raw string cell.
metadata.extra_tool_schemas[*] uses the nested Chat Completions function-tool declaration shape:
{
"metadata_kind": "cua",
"dims": ["desktop", "use"],
"extra_tool_schemas": [
{
"type": "function",
"function": {
"name": "bash",
"description": "Run a shell command.",
"parameters": {
"type": "object",
"properties": {"cmd": {"type": "string"}},
"required": ["cmd"]
}
}
}
],
"valid_actions": ["click", "type"],
"others": {}
}messages[].tool_calls[*] uses the matching nested invocation shape. Tool results pair tool_calls[].id with role:"tool" tool_call_id:
[
{
"role": "user",
"content": [
{"type": "image", "index": 0},
{"type": "text", "text": "Click the OK button."}
]
},
{
"role": "assistant",
"tool_calls": [
{
"id": "call_0000",
"type": "function",
"function": {
"name": "computer",
"arguments": {
"actions": [
{"action": "click", "coordinate": [640, 400]},
{"action": "type", "text": "hello"}
]
}
}
}
]
},
{
"role": "tool",
"tool_call_id": "call_0000",
"content": [
{"type": "image", "index": 1},
{"type": "text", "text": "clicked; typed"}
]
}
]*Image-dedup (`grounding. / understanding cohorts).** These cohorts are single-image-per-row and many rows share the same screenshot, so to avoid re-embedding identical image bytes once per instruction they are stored *folded*: one row per unique screenshot (image embedded once), carrying an extra **_folded** column — a JSON string with the authoritative list of per-instruction members for that screenshot. Each member's messages and metadata values are the same opaque JSON strings described above. The row's top-level messages is a JSON string containing the members concatenated for viewer convenience. use cohorts are not folded. **Use lite.data.hf.download` to consume this repo** — it unfolds automatically back to one row per instruction; reading the parquet directly yields the folded form.
Layout
<platform>/<task_type>/<split>/<variant>/shard-NNNNN-of-NNNNN.parquetplatform∈ {desktop, browser, mobile}task_type∈ {understanding, grounding.action, grounding.point, grounding.bbox, use} — used verbatim as the dir component- HF config names are
<platform>.<task_type>by default (e.g.mobile.grounding.action) — UNLESS the dataset was staged with--config-names, which sets verbatim, explicitly-chosen config names (see theconfigs:block above for the authoritative list). The agent registry lookup key in code is<agent>@<platform>@<task_type>(e.g.qwen3_vl@mobile@grounding.action); only this user-facing token uses.between platform and task_type, because@triggers a 403 on the dataset-viewer's signed image URLs. - HF split names stay
train/validation(thedatasetslibrary blacklists<>:/\|?*in split names; everything else is fine in config_name) validationis an in-distribution held-out slice: no validation sample also appears intrain— content-identical rows (sameimages+ samemessages, differing only in their ids) are co-located into one split, so upstream re-publishing one sample under two ids cannot straddle the split. It is not disjoint in images: one screenshot legitimately backs many distinct samples, and only whole samples are co-located, so the same picture can appear on both sides.testis reserved for out-of-distribution benchmark datasets
Stats
Local mirror & SFT export
For local workflows (SFT export, dedup, mixing across datasets), use lite.data.hf.download to mirror this repo back to the canonical local layout:
$CUA_LITE_DATASETS_ROOT/cua-lite/Lite.ScaleCUA/
images/<hash[:2]>/<hash>.<ext> # content-addressed image store
<platform>/<task_type>/<split>[/<variant>].parquet # rows reference images by relative pathRows in the local parquet have images: list[str]; bytes are extracted to the image store. lite.train.export.export_sft consumes the local form directly with --image-root=$CUA_LITE_DATASETS_ROOT.
- Total unique images: 612,779
- Image store size: 278.07 GB
Notes
Staged via lite.data.hf.stage from rollout log-roots: .data/rollout/lite.scalecua/published/2c594c4/desktop.use.rl.gpt55/train, .data/rollout/lite.scalecua/published/2c594c4/desktop.use.rl.qwen3827b/train, .data/rollout/lite.scalecua/published/2c594c4/desktop.use.train.gpt55/train, .data/rollout/lite.scalecua/published/2c594c4/desktop.use.train.qwen3827b/train, .data/rollout/lite.scalecua/qwen3527b/2c594c4/rlannotated, .data/rollout/lite.scalecua/qwen3527b/2c594c4/trainannotated (row filter: none; split: hashsplit on taskid with val_frac=0.0, seed=42).
License & citation
See original project (THUDM/SCALE-CUA) and dataset (extreme1228/ScaleCUA).
See https://arxiv.org/abs/2607.11185 (SCALECUA, Lv et al., 2026).
