hugging-apps/decider-2b-vision-demo

Space

decider-2b-vision

2

4 commits

1 linked in READMEs

updated Sep 18, 2026

See the code

README

decider-2b-vision

A Gradio demo for Mapika/decider-2b-vision.

The model does not generate text. It reads a state — an image, a text context, or both — plus a set of lettered options, and returns a calibrated probability over those options, read from the hidden state at one answer slot per question, in a single forward pass. No decoding, no parsing, no output outside the options you defined.

2B parameters on a Qwen/Qwen3.5-2B-Base vision-language backbone, bf16 (~4 GB), served on ZeroGPU.

How to use it

The textarea has two parts, separated by a line of ---:

<everything before the --- is the context the model is told it is not shown>

---

<one paragraph per question>
<first line = the question>
<each following line = one option>

Add as many question paragraphs as you like — they are all scored from the same forward pass. Options may carry a leading - , A) or 1. ; it is stripped.

Input mode switches between Image + text question (the image is prepended to the context) and Text only (which reproduces the text-only decider-2b v5 behaviour on the same weights).

Advanced settings holds the temperature applied to the letter logits before the softmax (1.0 is the calibrated setting — decider_config.json in the release ships no temperature) and how many option bars to print.

Examples

The three Mario frames are real Super Mario Bros level 1-1 frames from OpenGenGAME/super-mario-bros-rl-1-1 (CC-BY-4.0). Pong / Breakout / CliffWalking / MiniGrid / Super Mario Bros frames are exactly the training distribution of this checkpoint, and its decider/vision.py reference script is itself a Mario demo — the action-choice questions mirror the ones the authors score there.

What it is and is not

  • Calibrated: the top probability is a real confidence — the model was trained with a proper scoring rule, and the reported ECE is 0.02–0.07 across its image benchmarks.
  • Not a chat model. Ask it something open-ended and you get a distribution over your own options back, nothing more. A 2B model without reasoning: knowledge-heavy multiple choice barely improves over the base model, and questions needing several steps should be split into several questions.
  • It has no eyes on the context unless you give it one. In the reference prompt the Context: block is text the model is told it cannot see; the actual evidence is expected in the question and options. Put what matters into the questions.

Implementation notes

decider_ref.py is the authors' own inference path, vendored from decider/vision.py + decider/prompt.py in the model repo (github.com/Mapika/decider, Apache-2.0), with two changes: the checkpoint is loaded at module scope and moved to CUDA eagerly, and the letter logits are returned as CPU floats. The prompt layout, the answer-slot bookkeeping, the restriction of the answer logits to the ten option-letter tokens and the -inf masking of unused option slots are unmodified reference behaviour.

Model weights: Apache-2.0. Space code: Apache-2.0.

gradio
mcp-server

Contributors

multimodalart

4 commits

hugging-apps/decider-2b-vision-demo

Space

decider-2b-vision

2

4 commits

1 linked in READMEs

updated Sep 18, 2026

See the code

README

decider-2b-vision

A Gradio demo for Mapika/decider-2b-vision.

The model does not generate text. It reads a state — an image, a text context, or both — plus a set of lettered options, and returns a calibrated probability over those options, read from the hidden state at one answer slot per question, in a single forward pass. No decoding, no parsing, no output outside the options you defined.

2B parameters on a Qwen/Qwen3.5-2B-Base vision-language backbone, bf16 (~4 GB), served on ZeroGPU.

How to use it

The textarea has two parts, separated by a line of ---:

<everything before the --- is the context the model is told it is not shown>

---

<one paragraph per question>
<first line = the question>
<each following line = one option>

Add as many question paragraphs as you like — they are all scored from the same forward pass. Options may carry a leading - , A) or 1. ; it is stripped.

Input mode switches between Image + text question (the image is prepended to the context) and Text only (which reproduces the text-only decider-2b v5 behaviour on the same weights).

Advanced settings holds the temperature applied to the letter logits before the softmax (1.0 is the calibrated setting — decider_config.json in the release ships no temperature) and how many option bars to print.

Examples

The three Mario frames are real Super Mario Bros level 1-1 frames from OpenGenGAME/super-mario-bros-rl-1-1 (CC-BY-4.0). Pong / Breakout / CliffWalking / MiniGrid / Super Mario Bros frames are exactly the training distribution of this checkpoint, and its decider/vision.py reference script is itself a Mario demo — the action-choice questions mirror the ones the authors score there.

What it is and is not

  • Calibrated: the top probability is a real confidence — the model was trained with a proper scoring rule, and the reported ECE is 0.02–0.07 across its image benchmarks.
  • Not a chat model. Ask it something open-ended and you get a distribution over your own options back, nothing more. A 2B model without reasoning: knowledge-heavy multiple choice barely improves over the base model, and questions needing several steps should be split into several questions.
  • It has no eyes on the context unless you give it one. In the reference prompt the Context: block is text the model is told it cannot see; the actual evidence is expected in the question and options. Put what matters into the questions.

Implementation notes

decider_ref.py is the authors' own inference path, vendored from decider/vision.py + decider/prompt.py in the model repo (github.com/Mapika/decider, Apache-2.0), with two changes: the checkpoint is loaded at module scope and moved to CUDA eagerly, and the letter logits are returned as CPU floats. The prompt layout, the answer-slot bookkeeping, the restriction of the answer logits to the ten option-letter tokens and the -inf masking of unused option slots are unmodified reference behaviour.

Model weights: Apache-2.0. Space code: Apache-2.0.

gradio
mcp-server

Contributors

multimodalart

4 commits