WebBrain Compass Tiny v2 — experimental private BF16

Release naming correction: formerly webbrain-compass-v2. Model weights, tokenizer, configuration and benchmark results are unchanged. Historical run IDs and provenance retain their original names for reproducibility.

Full merged model weights, not an adapter. This experimental release was explicitly authorized after disclosure of a failed behavioral gate. It is NOT a release that passed every v4 gate. Do not deploy unattended browser actions on the strength of these small-suite results.

Training and representation

Base: OpenBMB MiniCPM5-2B, revision 3497c460c89e00520c3cfa2e73f49ab7647f1177. One epoch, 7,311 training examples, 213 validation examples, 457 optimizer steps. LoRA r16/alpha32 deltas were accumulated in FP32 and parameters cast once to BF16. Native nonpersistent rotary-position buffers remain FP32, as in stock Transformers loading. No optimizer, RNG state or training examples are included here.

Candidate-specific evaluation

Metric This merged BF16 Native adapter Historical Qwen3.8-27B
Structured first turn 94/100 93/100 99/100
Strict tool and arguments 16/89 15/89 17/89
Loose tool/name credit 41/89 (46.1%) 43/89 (48.3%) 39/89 (43.8%)

Eleven out-of-scope cases are skipped; all other cases, including technical errors, stay in the 89-case denominator. This BF16 run had one known anti-pattern, zero HTTP/runner errors or timeouts, and one malformed XML response. The parse failure was not repaired or regraded. The native-adapter run had one timeout, retained in its score.

Failed v4 gate: loose >=43/89; observed 41/89. Other aggregate v4 gates passed. The user accepted an experimental/private distribution with this limitation disclosed; neither the failed gate nor the original evidence was changed. This is separate from numerical weight/reload verification.

All 193 frozen input/code hashes and scenario references match between the native-adapter and merged-BF16 runs. GPU: RTX 5090; thinking disabled; seed 3407; action temperature 0.15, Ask temperature 0.3. No selective retries. These tests predict the next response; browser actions were not executed, so this is not end-to-end task success, general capability equivalence or a safety claim.

Qwen figures are historical results from the public routing comparison. Historical/current byte-identical prompts and tools have not been established. The small differences do not establish statistical superiority or parity with Qwen's broader capabilities. These are not controlled speed comparisons.

Numerical validation and preserved failures

All 294 adapted weight deltas were independently checked against the pinned raw base and adapter, with unchanged unadapted weights and finite parameters. Eight frozen calibration probes passed FP32 merged/unmerged comparisons (maximum absolute logit error <=0.001, relative L2 <=0.0001, identical greedy tokens). The saved/reloaded BF16 weight bits, config, tokenizer and template match; all eight reload logit comparisons had zero error, and corresponding KV-cache decode outputs matched.

This is not numerically identical to unmerged BF16 inference. Earlier v1/v2 absolute-logit parity gates failed and remain failed. An earlier v4 reload comparison also failed after whole-module casting rounded nonpersistent RoPE buffers. An independent diagnostic reproduced that discrepancy exactly by changing only those buffers. The frozen v4.2 source casts parameters only and preserves FP32 runtime buffers; stored model weight bits are unchanged from the earlier v4 candidate. A v4.1 startup attempt failed before inference due to Windows source-decoding differences; explicit UTF-8 restored exact frozen inputs. None of these failures was deleted or relabeled as a pass.

Native inference interface

Verified runtime: Transformers 5.16.1, PyTorch 2.13.0+cu130, stock LlamaForCausalLM, with the included tokenizer and chat template. Load with dtype=torch.bfloat16; do not cast the whole module afterward, which can round native FP32 runtime buffers.

Use enable_thinking=False and add_generation_prompt=True. Tool-call arguments in conversation history must be dictionaries, not JSON strings. Output uses native XML, for example <function name="..."><param name="...">...</param></function>. Do not decode using skip_special_tokens=True: it removes tool delimiters. Remove only terminal EOS token IDs 1 or 130073. Preserve raw outputs and parse complete XML; fail closed on malformed output without repairing arguments.

Access, attribution and restrictions

Private, experimental, noncommercial/research-only under project policy. The training package includes WebLINX (CC BY-NC-SA 4.0); preserve attribution, applicable share-alike requirements and all dataset source obligations. The base model is Apache-2.0. Private hosting is not permission for commercial use. See ATTRIBUTIONS.md and LICENSE-BASE-APACHE-2.0.txt.

The associated dataset is private. Release provenance, original failed-gate audit, numerical verification and explicit experimental authorization are in provenance/. ONNX requires separate export/runtime verification; these BF16 results must not be claimed as measured ONNX results.

Downloads last month
-
Safetensors
Model size
3B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for webbrain-one/webbrain-compass-tiny-v2

Finetuned
(38)
this model
Quantizations
1 model