webbrain-one commited on
Commit
9d7b87f
Β·
verified Β·
1 Parent(s): be6e007

Rename to WebBrain Compass VLD Tiny v5; attribution

Browse files
Files changed (1) hide show
  1. README.md +23 -19
README.md CHANGED
@@ -11,11 +11,13 @@ tags:
11
  - tool-calling
12
  - gui-grounding
13
  - decision-model
 
14
  ---
15
 
16
- # MiniCPM-V-4.7 WebBrain v2
17
 
18
- MiniCPM-V-4.7-1B fine-tuned in two rounds as one on-device model for WebBrain. It covers three jobs:
 
19
 
20
  - **page-state decisions:** 120/126 on d1 with 0 false completions, 0.94 s per request in the browser
21
  - **the local visual fallback:** better grounding than LFM2.5-VL-450M on WebBrain's VL-3 validation
@@ -23,10 +25,10 @@ MiniCPM-V-4.7-1B fine-tuned in two rounds as one on-device model for WebBrain. I
23
 
24
  This repository holds the **merged float32 weights**. Companion repositories:
25
 
26
- - [`webbrain-one/minicpmv47-webbrain-v2-lora`](https://huggingface.co/webbrain-one/minicpmv47-webbrain-v2-lora): the LoRA adapter and the merger weights.
27
- - [`webbrain-one/minicpmv47-webbrain-v2-onnx`](https://huggingface.co/webbrain-one/minicpmv47-webbrain-v2-onnx): the WebGPU ONNX bundle.
28
 
29
- The previous round is kept as `webbrain-one/minicpmv47-webbrain-v1`.
30
 
31
  ## Training
32
 
@@ -34,12 +36,12 @@ Two rounds on one RTX 5090 (about 20 hours in total).
34
  **Base:** `openbmb/MiniCPM-V-4.7-1B` (revision `379f120c2ff3588e6e06559ec6b9ec15cc05114e`): a SigLIP vision tower, a
35
  16x vision-to-language merger, and a Qwen3.5-0.8B-style language model (18 Gated DeltaNet + 6 attention layers).
36
 
37
- 1. **Round 1 (v1):** one pass over 344,139 samples: WebBrain-VL-4 (335,572 draws of VL-2/curated VL-3 observations,
38
  MolmoPoint GUI grounding, WebChain trajectories) plus the WebBrain Compass v3 maximal text release (8,583 rows).
39
  - Trainable: LoRA r = 64, alpha = 64 on all 186 language-model linear layers (43.3M parameters, fp32) and the
40
  full merger (26.0M, fp32). The vision tower is frozen.
41
  - AdamW with LoRA LR 1e-4 and merger LR 2e-5; 5,144 steps.
42
- 2. **Round 2 (v2, this model):** continues the v1 adapter and merger with a fresh optimizer (LoRA LR 5e-5, merger LR 1e-5;
43
  3% warmup, cosine to 10%; effective batch 64; 784 steps; 51,811 samples). The data:
44
  - **Decision data:** the d1 balanced-V3 **train** split rendered in WebBrain's decision protocol, repeated 6x.
45
  It has 1,206 samples (918 verify Yes/No continuations and 288 option readouts), token-exact with the extension's
@@ -51,7 +53,7 @@ Loss covers completion tokens only (per-sample mean), with thinking off and a 32
51
  The d1 validation split was used only for the eval loss and probe selection. The d1 final test split never fed
52
  training or selection.
53
 
54
- Final validation loss (full sets, v1 β†’ v2): VL 0.295 β†’ 0.288, Compass 1.138 β†’ 1.116. On d1 validation decision
55
  samples the loss fell from 4.00 (verify) / 2.32 (readout) at the start of round 2 (first 96 samples) to
56
  0.066 / 0.067 at the end (all 594).
57
 
@@ -64,19 +66,19 @@ its page state and its questions. The d1 final test split was never trained on.
64
 
65
  | Model | Correct | Completions found | False completions | Unknown recognized | Time per request |
66
  |---|---:|---:|---:|---:|---:|
67
- | **v2, WebGPU q8 + probe** | **120/126** | **24/24** | **0/48** | **24/24** | 0.94 s |
68
- | **v2, WebGPU q4 (lite) + probe** | **120/126** | 24/24 | 0/48 | 24/24 | 0.94 s |
69
- | v1, WebGPU q8 + probe | 103/126 | 22/24 | 11/48 | 13/24 | 0.85 s |
70
  | MiniCPM-V-4.7-1B untuned, WebGPU q8 + probe | 104/126 | 23/24 | 8/48 | 16/24 | n/a |
71
  | Bonsai 2 2B Vision + probe | 110/126 | 21/24 | 4/48 | 20/24 | 2.2 s |
72
  | d1-omni-600M | 92/126 | n/a | 1/48 | n/a | 0.75 s |
73
 
74
- - The probe is no longer needed. Without it, v2's raw Yes βˆ’ No verify margins score 121/126 in PyTorch and 120/126
75
  in WebGPU q8. In PyTorch the standard and conservative probes (fit on d1 train, chosen on validation) also score
76
  121/126, and the generated option readout alone scores 120/126.
77
- - A caution on scope: d1 is a synthetic benchmark. v2 was fine-tuned on d1's train families, which are disjoint from
78
  the test families but follow the same design. Bonsai's backbone was not trained on d1, only its probe was.
79
- Validate v2 on real extension decisions before relying on these margins.
80
 
81
  ### Visual fallback: WebBrain VL-3 frozen validation, same 1,022 rows
82
 
@@ -84,7 +86,7 @@ Greedy generation, scored with the VL-3 pipeline's own scorer. The rows are ever
84
  actionable inventory (first 20), the first 80 curated VL-3 rows and every 20th VL-2 row. LFM2.5-VL-450M (VL-3,
85
  step 3750) is WebBrain's current visual fallback.
86
 
87
- | Metric | v2 | v1 | LFM2.5-VL-450M |
88
  |---|---:|---:|---:|
89
  | Schema-valid outputs | **96.2%** | 95.8% | 92.7% |
90
  | Point within 0.05 (510 rows) | **65.5%** | 58.8% | 45.9% |
@@ -96,7 +98,7 @@ step 3750) is WebBrain's current visual fallback.
96
  | Six-section observation valid, VL-2 / VL-3 | 98.7% / **72.5%** | 99.4% / 65.0% | 97.5% / 38.8% |
97
  | Actionable inventory valid (first 20) | 25% | 30% | 10% |
98
 
99
- On intent β†’ point/box the mean point distance is still worse than LFM's (0.190 vs 0.132; v1 0.248), although more
100
  answers land within 0.05: a minority of far misses. Long inventory lists often do not terminate, for every model.
101
 
102
  ### Text and tool calls: WebBrain `test/llm` routing benchmark (compact tier)
@@ -106,8 +108,8 @@ Tiny v2.1 run: strict = `ideal`, loose = `ideal` + `ideal_name`.
106
 
107
  | Model | First-turn structured calls | Strict exact action | Loose tool family | Discouraged actions |
108
  |---|---:|---:|---:|---:|
109
- | **v2** (0.8B language model) | 95/100 | 9/89 | **48/89** | 3 |
110
- | v1 | 97/100 | 10/89 | 38/89 | 5 |
111
  | MiniCPM-V-4.7-1B, untuned | 98/100 | 3/89 | 30/89 | 2 |
112
  | Compass Tiny v2.1 (2.6B, WebGPU q4f16) | 98/100 | **15/89** | 43/89 | 3 |
113
 
@@ -118,7 +120,7 @@ import torch
118
  from PIL import Image
119
  from transformers import AutoModelForImageTextToText, AutoProcessor
120
 
121
- repo = "webbrain-one/minicpmv47-webbrain-v2"
122
  processor = AutoProcessor.from_pretrained(repo)
123
  model = AutoModelForImageTextToText.from_pretrained(repo, dtype=torch.bfloat16, device_map="cuda").eval()
124
 
@@ -142,3 +144,5 @@ example the WebLINX-derived Compass subset), so the fine-tuned weights are relea
142
  only** under the WebBrain noncommercial research restrictions. Private hosting does not expand those rights.
143
  Model output is never proof that a browser action succeeded. Keep WebBrain's schema validation, grounding checks and
144
  confirmations in front of any action.
 
 
 
11
  - tool-calling
12
  - gui-grounding
13
  - decision-model
14
+ - webbrain-compass
15
  ---
16
 
17
+ # WebBrain Compass VLD Tiny v5
18
 
19
+ `openbmb/MiniCPM-V-4.7-1B` fine-tuned in two rounds as one on-device model for WebBrain: Compass text and tool
20
+ calls, VL (the visual fallback) and D (decisions). It covers three jobs:
21
 
22
  - **page-state decisions:** 120/126 on d1 with 0 false completions, 0.94 s per request in the browser
23
  - **the local visual fallback:** better grounding than LFM2.5-VL-450M on WebBrain's VL-3 validation
 
25
 
26
  This repository holds the **merged float32 weights**. Companion repositories:
27
 
28
+ - [`webbrain-one/webbrain-compass-vld-tiny-v5-lora`](https://huggingface.co/webbrain-one/webbrain-compass-vld-tiny-v5-lora): the LoRA adapter and the merger weights.
29
+ - [`webbrain-one/webbrain-compass-vld-tiny-v5-onnx`](https://huggingface.co/webbrain-one/webbrain-compass-vld-tiny-v5-onnx): the WebGPU ONNX bundle.
30
 
31
+ Round 1 is kept as `webbrain-one/minicpmv47-webbrain-v1`.
32
 
33
  ## Training
34
 
 
36
  **Base:** `openbmb/MiniCPM-V-4.7-1B` (revision `379f120c2ff3588e6e06559ec6b9ec15cc05114e`): a SigLIP vision tower, a
37
  16x vision-to-language merger, and a Qwen3.5-0.8B-style language model (18 Gated DeltaNet + 6 attention layers).
38
 
39
+ 1. **Round 1** (`minicpmv47-webbrain-v1`): one pass over 344,139 samples: WebBrain-VL-4 (335,572 draws of VL-2/curated VL-3 observations,
40
  MolmoPoint GUI grounding, WebChain trajectories) plus the WebBrain Compass v3 maximal text release (8,583 rows).
41
  - Trainable: LoRA r = 64, alpha = 64 on all 186 language-model linear layers (43.3M parameters, fp32) and the
42
  full merger (26.0M, fp32). The vision tower is frozen.
43
  - AdamW with LoRA LR 1e-4 and merger LR 2e-5; 5,144 steps.
44
+ 2. **Round 2 (this model):** continues the round 1 adapter and merger with a fresh optimizer (LoRA LR 5e-5, merger LR 1e-5;
45
  3% warmup, cosine to 10%; effective batch 64; 784 steps; 51,811 samples). The data:
46
  - **Decision data:** the d1 balanced-V3 **train** split rendered in WebBrain's decision protocol, repeated 6x.
47
  It has 1,206 samples (918 verify Yes/No continuations and 288 option readouts), token-exact with the extension's
 
53
  The d1 validation split was used only for the eval loss and probe selection. The d1 final test split never fed
54
  training or selection.
55
 
56
+ Final validation loss (full sets, round 1 β†’ round 2): VL 0.295 β†’ 0.288, Compass 1.138 β†’ 1.116. On d1 validation decision
57
  samples the loss fell from 4.00 (verify) / 2.32 (readout) at the start of round 2 (first 96 samples) to
58
  0.066 / 0.067 at the end (all 594).
59
 
 
66
 
67
  | Model | Correct | Completions found | False completions | Unknown recognized | Time per request |
68
  |---|---:|---:|---:|---:|---:|
69
+ | **v5, WebGPU q8 + probe** | **120/126** | **24/24** | **0/48** | **24/24** | 0.94 s |
70
+ | **v5, WebGPU q4 (lite) + probe** | **120/126** | 24/24 | 0/48 | 24/24 | 0.94 s |
71
+ | Round 1, WebGPU q8 + probe | 103/126 | 22/24 | 11/48 | 13/24 | 0.85 s |
72
  | MiniCPM-V-4.7-1B untuned, WebGPU q8 + probe | 104/126 | 23/24 | 8/48 | 16/24 | n/a |
73
  | Bonsai 2 2B Vision + probe | 110/126 | 21/24 | 4/48 | 20/24 | 2.2 s |
74
  | d1-omni-600M | 92/126 | n/a | 1/48 | n/a | 0.75 s |
75
 
76
+ - The probe is no longer needed. Without it, v5's raw Yes βˆ’ No verify margins score 121/126 in PyTorch and 120/126
77
  in WebGPU q8. In PyTorch the standard and conservative probes (fit on d1 train, chosen on validation) also score
78
  121/126, and the generated option readout alone scores 120/126.
79
+ - A caution on scope: d1 is a synthetic benchmark. v5 was fine-tuned on d1's train families, which are disjoint from
80
  the test families but follow the same design. Bonsai's backbone was not trained on d1, only its probe was.
81
+ Validate v5 on real extension decisions before relying on these margins.
82
 
83
  ### Visual fallback: WebBrain VL-3 frozen validation, same 1,022 rows
84
 
 
86
  actionable inventory (first 20), the first 80 curated VL-3 rows and every 20th VL-2 row. LFM2.5-VL-450M (VL-3,
87
  step 3750) is WebBrain's current visual fallback.
88
 
89
+ | Metric | v5 | Round 1 | LFM2.5-VL-450M |
90
  |---|---:|---:|---:|
91
  | Schema-valid outputs | **96.2%** | 95.8% | 92.7% |
92
  | Point within 0.05 (510 rows) | **65.5%** | 58.8% | 45.9% |
 
98
  | Six-section observation valid, VL-2 / VL-3 | 98.7% / **72.5%** | 99.4% / 65.0% | 97.5% / 38.8% |
99
  | Actionable inventory valid (first 20) | 25% | 30% | 10% |
100
 
101
+ On intent β†’ point/box the mean point distance is still worse than LFM's (0.190 vs 0.132; round 1 0.248), although more
102
  answers land within 0.05: a minority of far misses. Long inventory lists often do not terminate, for every model.
103
 
104
  ### Text and tool calls: WebBrain `test/llm` routing benchmark (compact tier)
 
108
 
109
  | Model | First-turn structured calls | Strict exact action | Loose tool family | Discouraged actions |
110
  |---|---:|---:|---:|---:|
111
+ | **v5** (0.8B language model) | 95/100 | 9/89 | **48/89** | 3 |
112
+ | Round 1 | 97/100 | 10/89 | 38/89 | 5 |
113
  | MiniCPM-V-4.7-1B, untuned | 98/100 | 3/89 | 30/89 | 2 |
114
  | Compass Tiny v2.1 (2.6B, WebGPU q4f16) | 98/100 | **15/89** | 43/89 | 3 |
115
 
 
120
  from PIL import Image
121
  from transformers import AutoModelForImageTextToText, AutoProcessor
122
 
123
+ repo = "webbrain-one/webbrain-compass-vld-tiny-v5"
124
  processor = AutoProcessor.from_pretrained(repo)
125
  model = AutoModelForImageTextToText.from_pretrained(repo, dtype=torch.bfloat16, device_map="cuda").eval()
126
 
 
144
  only** under the WebBrain noncommercial research restrictions. Private hosting does not expand those rights.
145
  Model output is never proof that a browser action succeeded. Keep WebBrain's schema validation, grounding checks and
146
  confirmations in front of any action.
147
+
148
+ Training data includes WebChain v2 (`webagentlab/webchain`, WebChain Academic Research License v1.0): Fan, Sicheng, Rui Wan, Yifei Leng, Gaoning Liang, Li Ling, Yanyi Shang, and Dehan Kong. "WebChain: A Large-Scale Human-Annotated Dataset of Real-World Web Interaction Traces." arXiv:2603.05295, 2026. It also includes WebLINX (McGill-NLP, CC BY-NC-SA 4.0) and MolmoPoint-GUISyn (Ai2, ODC-BY).