circuit-vl-4b

A System One decision model for images: a state that carries one or more images (video as sampled frames) plus optional text, typed questions in, calibrated probability distributions out, one forward pass, no text generation. It is the vision member of the circuit family behind decision-circuits; the text members are circuit-1.7b and circuit-8b.

circuit-vl-4b is a LoRA adapter on the language model of Qwen/Qwen3-VL-4B-Instruct (vision encoder frozen and untouched) plus the same pointer readout head as the text models. Each option is wrapped in delimiter tokens and the sequence ends with a decide token; the head scores every option's closing delimiter against the decide token and applies softmax. Trained with cross-entropy against outcome labels, so calibration is learned. No cap on the number of options, unlike letter-logit prompting.

Results

Vision generalization grid v2: rendered receipts, bar charts, tables, forms, and shape scenes with every label computed by the code that drew the image, plus real photographs from Open Images V7 validation (images CC BY 2.0 by their Flickr authors, labels CC BY 4.0) with questions labeled by the human-verified image labels: is there a dog, which of these is in the photo, is there no horse anywhere. 16 cells. 390 held-out items, accuracy / ECE (15 bins).

model all 390 real photos (86) ms per item, M-series laptop
Qwen3-VL-4B-Instruct, raw, letter logits 92.6% / 0.079 81.4% / 0.192 760
circuit-vl-4b 96.4% / 0.036 89.5% / 0.105 1,000

Rendered documents are at or near 100% in every cell (counting rows in a table 93%, counting shapes 90%). Photos are the hard part: 97% on "which of these is in the photo", 86% on presence and on negated presence, where the base sits at 76% to 89%. Open Images' verified labels are not exhaustive, so some of the remaining error is label noise on small or partly hidden objects.

Caveats. The grid is ours, so this is held-out items, not held-out structure; on the items made undecidable (a blurred or mostly blacked-out image) the model answers with mean confidence 0.88 where it should be near 0.5. As with the text models, calibration on ambiguity is the open problem, and it is why decision circuits put an uncertainty band around every threshold.

Training

  • Base: Qwen/Qwen3-VL-4B-Instruct (Apache 2.0), frozen. LoRA rank 16, alpha 32, on the language model's attention and MLP projections only (33M params). Pointer head: two 2560 x 256 linear maps.
  • Data: the vision grid v2 (python -m s1proto.data.vision_grid in the circuit repo), 1,408 train and 152 validation items across 16 cells: rendered documents labeled at render time, and 700 Open Images validation photos with human-verified labels (per-image attribution in the data manifest). About 8% made ambiguous with soft labels. No teacher-model outputs.
  • 2 epochs, batch 2, max 1,536 tokens, lr 1e-4 (LoRA) / 1e-3 (head), bf16, soft-target cross-entropy, early stopping on validation ECE (best at step 600: ECE 0.035, accuracy 96.7%). 85 minutes on an Apple laptop GPU.

Use

Score a JSONL of {"state": {"image": path, "text": ...}, "question": ...} items with the circuit repo's evaluator:

uv run python scripts/eval_vision.py data/vision/grid/eval.jsonl --lora runs/circuit-vl-4b --out results/vgrid.json

Files: adapter/ (PEFT LoRA, language-model targets), head.pt (pointer head, keys q.weight, k.weight), config.json (base, hidden size, head type, layout, modality, training args). The HTTP service in the repo serves the text models today; image states over POST /v1/systemone are the next step for this one.

Intended use and limits

Research and evaluation of calibrated decision models over documents, charts, forms, and photos. Not a production system for decisions that affect people. Documents in training are rendered, not photographed; expect a drop on photographs of real paperwork until those are in the mix. English only.

License

Adapter and head: Apache 2.0. Base model: Apache 2.0 (Qwen3-VL).

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

Model tree for jbarney/circuit-vl-4b

Adapter
(182)
this model