Muse-Glimmer-30B-GUI-Grounding-Fast

A lightweight LoRA adapter for Meta's Muse-Glimmer-30B that turns it into a fast, reliable GUI-grounding model: given a screenshot and an instruction, it outputs the target element's bounding box directly as [x1, y1, x2, y2] β€” no verbose reasoning.

Built for computer-use / GUI agents that need an exact click coordinate now, at a fraction of the base model's inference cost.

Why this exists

The base Muse-Glimmer-30B already locates UI elements well, but as an agentic model it "thinks out loud" β€” it buries the coordinate under ~200 tokens of reasoning and only emits a cleanly parseable box part of the time. That's expensive and unreliable inside an agent loop.

This adapter teaches it to answer with only the coordinate.

Before vs. after (real example)

Instruction: "close this window" on a 960Γ—540 screenshot (ground-truth box [0.948, 0.144, 0.994, 0.207]).

Base Muse-Glimmer-30B (rambles, coordinate buried in reasoning, often never emits a clean box):

 to=self ...Close this window. The window has minimize, maximize, close at top
right. Close is X. Coordinates. Approx top right... x ~ 0.96 to 0.99, y ~ 0.17
to 0.21. Let's give [958, 170, 985, 205] but need relative 0-1. So maybe
[0.958, 0.168, 0.985, 0.210]. Let's approximate. Better estimate: ...

(~200 tokens, and the parser only sometimes finds a usable box)

This adapter (one clean answer, ~5 tokens):

[0.958, 0.168, 0.985, 0.210]

Same location β€” but deterministic, instantly parseable, and ~10Γ— cheaper per action.

What's novel here

  • Reliability, not just capability. Rather than chasing raw grounding accuracy, we target the output-reliability gap that makes strong VLMs hard to deploy as agents: we lift the usable-answer rate from 63% β†’ 99.8%.
  • Diversity beats steps. Our first attempt (desktop-only, 5k unique images) overfit and stalled at 70.5%. Swapping in **40k unique screenshots** (desktop + mobile) β€” not more training steps β€” jumped accuracy to 87% and fixed the weak domains. The lesson: for grounding LoRAs, image diversity is the dominant lever.
  • Tiny, surgical, cheap. A single-node LoRA touching 0.7% of params (vision tower frozen) converts a general agentic VLM into a specialized, production-ready GUI grounder β€” no full fine-tune, no RLHF.
  • First GUI-grounding adapter for Meta's Muse-Glimmer-30B (to our knowledge), fully reproducible on open weights + open data.

Results

Headline β€” full ScreenSpot-v2 (all 1,272 samples)

Model Accuracy Parse-rate
Muse-Glimmer-30B-GUI-Grounding-Fast (this model) 88.1% 99.7%

Metric: predicted bounding-box center falls inside the ground-truth box (standard ScreenSpot click accuracy).

Before vs after: accuracy and parse-rate

The reliability win (diagnostic, 400-sample subset)

Under a plain "output the box" prompt, the base model reasons instead of emitting a clean coordinate:

Setting Accuracy Parse-rate (emits a usable box)
Base Muse-Glimmer-30B (plain prompt) 39.5% 63%
+ this adapter 87.0% 99.8%

The 39.5% base figure is harness-limited β€” with its own agentic harness the base grounds at ~75%. Our adapter makes that ability come out reliably (parse 63% β†’ ~100%) and directly.

By platform & target type (full benchmark)

Accuracy by platform and target type

GitLab 93.2 Β· macOS 91.8 Β· iOS 90.3 Β· forum 88.6 Β· web/shop 88.2 Β· Android 87.2 Β· tool 86.7 Β· Windows 81.1 | text 94.2 Β· icon 80.3

How we got here β€” diversity beats steps

Training progression

Run-1 (desktop-only, 5k unique images) overfit and stalled at 70.5%. Run-2 (+mobile, **40k unique images**) reached 88.1% β€” the gain came from image diversity, not more training steps.

Context vs other GUI-grounding models (ScreenSpot-v2)

Comparison to other models

Model Params ScreenSpot-v2
SeeClick ~9.6B 54.0
Qwen2-VL-7B 7B 66.9
UGround-7B 7B 76.5
OS-Atlas-7B 7B 87.1
This model (LoRA on Muse-Glimmer-30B) 30B 88.1
UGround-V1 7B 89.4
UI-TARS-7B 7B 91.6

We land above OS-Atlas-7B and Qwen2-VL, competitive with UGround-V1, just behind UI-TARS-7B β€” with a lightweight LoRA on a general-purpose model. Other models' scores are published full-benchmark numbers; ours is our own eval harness on the full 1,272-sample set with the standard center-in-box metric β€” reproduce it with the code below. Not an officially verified leaderboard submission.

Usage

import torch
from PIL import Image
from transformers import AutoProcessor, AutoModelForMultimodalLM
from peft import PeftModel

BASE = "meta-models/Muse-Glimmer-30B"
ADAPTER = "lemuralabs/Muse-Glimmer-30B-GUI-Grounding-Fast"

proc = AutoProcessor.from_pretrained(BASE)
model = AutoModelForMultimodalLM.from_pretrained(BASE, dtype=torch.bfloat16, device_map="auto")
model = PeftModel.from_pretrained(model, ADAPTER).eval()

img = Image.open("screenshot.png").convert("RGB")
instruction = "the settings gear icon"
prompt = (f'In this UI screenshot, locate the element described as: "{instruction}". '
          'Respond with ONLY its bounding box as [x1,y1,x2,y2], each a 0-1 float '
          'relative to image width/height.')

msgs = [{"role": "user", "content": [{"type": "image", "image": img},
                                     {"type": "text", "text": prompt}]}]
inp = proc.apply_chat_template(msgs, add_generation_prompt=True, tokenize=True,
                               return_dict=True, return_tensors="pt").to(model.device)
out = model.generate(**inp, max_new_tokens=32, do_sample=False)
print(proc.tokenizer.decode(out[0][inp["input_ids"].shape[1]:], skip_special_tokens=True))
# -> e.g. [0.912, 0.043, 0.958, 0.089]

Coordinates are normalized 0–1 (relative to image width/height). Take the box center as the click point.

Training

  • Method: LoRA (rank 32, Ξ± 64, dropout 0.05) on the language decoder only (model.language_model.*); vision encoder frozen.
  • Trainable params: ~210M (0.7% of the 30B model).
  • Data: ~160k GUI-grounding examples across ~40k unique screenshots, from the open OS-Atlas corpus (desktop + mobile domains).
  • Schedule: lr 5e-5, cosine, bf16, gradient checkpointing; best checkpoint at ~500 steps (early stopping β€” later steps overfit).

Limitations

  • Icons and dense/small targets remain the hardest (80% vs 94% for text).
  • Trained/evaluated on English UI screenshots.
  • Windows is the weakest platform (81%).
  • Scores are from our own eval harness (full 1,272-sample ScreenSpot-v2, standard center-in-box metric), not an officially verified leaderboard submission.
  • Requires transformers >= 5.15 (base model architecture requirement).

License & attribution

Released under Apache 2.0. This is a derivative adapter built on Meta's Muse-Glimmer-30B (Apache 2.0) and the open OS-Atlas dataset. Use is subject to the base model's Usage Policy. Credit to Meta for the base model.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for lemuralabs/Muse-Glimmer-30B-GUI-Grounding-Fast

Adapter
(6)
this model