--- library_name: transformers license: other license_name: lfm1.0 license_link: LICENSE pipeline_tag: image-text-to-text tags: - liquid - lfm3 - edge - decision - classification - extraction - calibration - system-one - multimodal - decision-model - custom_code language: - en - ar - zh - fr - de - it - ja - ko - pt - es - vi - th - id - hi - ru - pl ---
# d1-2B d1-2B is a **decision model for text, pictures, and video**, built on [LFM3-VL-2B](https://huggingface.co/LiquidAI/LFM3-VL-2B). It returns calibrated answers in one forward pass, without generating tokens. - **Best-in-class:** it leads the open d1 models on average and on our board of over a hundred decision benchmarks, ahead of d1-3B at under two thirds of its size. - **Beyond classification:** it also extracts text, numbers, and dates with their span, locates objects in pictures, and estimates quantities with an interval. - **Millisecond decisions:** 5.7 ms per decision on an NVIDIA H100 and 3.8 ms on an AMD MI325X, with any number of questions about one state in one call. Find more information about open d1 in [our release blog post](https://www.liquid.ai/blog/open-d1). ## Model details| Property | Specification |
|---|---|
| Checkpoint | Post-trained decision model, built on LFM3-VL-2B |
| Parameters | 1.92B |
| Architecture | LFM3 backbone, 24 layers: 13 gated short convolutions, 5 sliding-window attention, 6 global attention |
| Context length | 128K tokens |
| Vocabulary | 128,000 tokens |
| Input | A state (text or JSON), pictures or a video, and any number of named questions |
| Output | Typed answers with their probabilities, with no generated tokens |
| Languages | English, Arabic, Chinese, French, German, Italian, Japanese, Korean, Portuguese, Spanish, Vietnamese, Thai, Indonesian, Hindi, Russian, Polish |
| License | LFM Open License v1.0 |
| Call | What it does |
|---|---|
system_one(state, questions, media=None) |
Named questions over one state, in one pass. media lists pictures (PIL images or {"type": "image", "path": ...}) and videos as their frames ({"type": "video", "video": [PIL images], "fps": 24}). |
system_one_batch([(state, questions[, media]), ...]) |
Many requests in one call, batched. |
set_size= (either call) |
Questions read together after the state. The default is the model's trained size (16). Larger is faster and costs some accuracy on text. |
type |
Question | Answer |
|---|---|---|
noul |
Yes or no | noul: P(yes) |
choice |
One of the options criteria names ({name: description}) |
choice, confidence, probabilities |
choice with multiple: true |
Any of the options criteria names |
choices, probabilities (each option's own P(yes)) |
score |
One of 2 to 10 ordered levels, with criteria listing them lowest first |
score (the median level), confidence, probabilities, legend |
text, number, date |
A value to read from the state | The field of its type (a number with its unit, a date in ISO 8601), span, found |
number with range |
An estimate, step apart |
number (the median), interval (p10, p90) |
box, boxes |
One object, or every instance (16 at most, or max), in the one picture |
box (top, bottom, left, right as fractions of the picture), found, confidence, or boxes and count |
| Benchmark | d1 2B |
d1-omni 600M |
d1-Omni 2B |
d1 3B |
|---|---|---|---|---|
| Decisions | ||||
| Decision Index public suite (v0.3) | 51.1 | 18.3 | 49.0 | 49.0 |
| DecisionBench (Hanno Labs) v1 | 77.1 | 58.7 | 76.4 | 73.1 |
| Decision Bench (decisionbench.ai) v4 | 85.2 | 57.9 | 84.7 | 83.6 |
| Fast Decisions | 58.8 | – | 56.8 | 59.3 |
| JevBench v1.4.1 | 77.9 | 58.0 | 75.3 | 76.2 |
| ImajevBench v2.0-lite | 75.5 | 21.7 | 72.3 | 64.0 |
| WorkflowEvals | 81.6 | 48.8 | 77.1 | 74.4 |
| Typed Decisions | 61.3 | 57.5 | 63.1 | 65.0 |
| Our board (over a hundred public and private benchmarks) | 63.2 | – | 61.8 | 58.8 |
| Vision | ||||
| AI2D | 76.7 | 37.1 | 71.5 | 79.9 |
| BLINK | 66.2 | 37.7 | 63.5 | 59.2 |
| CountQA | 51.4 | 26.8 | 45.4 | 42.6 |
| CV-Bench | 86.1 | 40.8 | 84.0 | 82.1 |
| ERQA | 45.8 | 27.3 | 42.5 | 39.8 |
| HallusionBench | 72.1 | 52.6 | 67.5 | 65.3 |
| MMBench | 87.9 | 54.2 | 85.2 | 84.9 |
| MME | 85.4 | 61.0 | 83.9 | 82.1 |
| MMMU-Pro | 26.4 | 11.9 | 24.1 | 18.5 |
| MMRB2 | 54.2 | 48.3 | 52.6 | 49.5 |
| MMStar | 67.5 | 31.9 | 61.3 | 59.9 |
| MMVP | 82.7 | 54.0 | 81.3 | 77.0 |
| NaturalBench | 81.5 | 58.8 | 80.0 | 79.8 |
| POPE | 88.7 | 82.7 | 89.9 | 88.6 |
| V* | 76.4 | 35.6 | 76.4 | 73.8 |
| VisualPuzzles | 29.9 | 26.2 | 26.9 | 29.5 |
| VisualWebBench | 96.2 | 14.9 | 88.6 | 71.4 |
| VL-RewardBench | 69.3 | 48.1 | 68.8 | 65.0 |
| Average | 70.2 | 42.8 | 67.7 | 65.4 |
All four models are scored on the same items with the same scoring, so a few of d1-3B's and d1-omni-600M's numbers differ slightly from their own cards. d1-omni-600M has no Fast Decisions or board score. Average is the unweighted mean of the public benchmarks that all four models have, so it leaves out Fast Decisions and our board. Image benchmarks are read as decisions over each benchmark's options, on at most 1,000 rows each. Three of them are saturated: POPE, MME, and VisualWebBench.
| Hardware | One question | 3 questions | 5K-token state | 384 px picture | Box | Boxes | 64 states in one call |
|---|---|---|---|---|---|---|---|
| NVIDIA H100 PCIe | 5.7 ms | 7.6 ms | 52 ms | 12.3 ms | 16.1 ms | 24.4 ms | 1,132 / s |
| AMD MI325X | 3.8 ms | 5.6 ms | 44 ms | 8.7 ms | 11.2 ms | 16.5 ms | 1,699 / s |
Apple M5 Pro (mps) |
18.6 ms | 26.5 ms | 753 ms | 45.2 ms | 53.5 ms | 100 ms | 109 / s |