Model
Darwin-35B-ZTC-Vision is a vision decision model. It does not generate text. Given one or more images, a state and a typed question, it returns a calibrated probability for every option in one forward pass: yes or no (noul), one of several options (choice), or a level on an ordered scale (score). It handles up to four images per request, for example "which of the two photos has the higher quality" or "is there a defect on this part".
It is a 35B mixture-of-experts model (about 3B active parameters per token) built on Darwin-35B-A3B-Opus with the Darwin ZTC decision readout. It is the vision member of the ZTC series; the text member is Darwin-27B-ZTC-v9.
All 20 required vision benchmarks complete (the optional Box tasks are not supported), zero failed decisions. Merged by the maintainer on 2026-10-19 (PR #76). At submission it ranked first (Borda 91.00) on the published vision results of 2026-10-17 (16 complete models) with this model added, recomputed with the leaderboard's own Borda method; that table is below. More models have entered since: on the published results of 2026-10-19 (32 complete models) the same recomputation places it fifth with 81.80. The live vision leaderboard is authoritative.
| Rank (2026-10-17 data) | Model | Borda score | Mean baseline-adjusted score |
|---|---|---|---|
| 1 | Darwin-35B-ZTC-Vision | 91.00 | 73.98 |
| 2 | Jev 1.14 (Preview) | 90.00 | 74.64 |
| 3 | Perplexity Decider Flash 1.2 | 77.50 | 67.35 |
| 4 | Imajev 4B | 67.83 | 69.29 |
| 5 | Clef-Flash | 63.50 | 63.70 |
| Benchmark | Darwin-35B-ZTC-Vision | Jev 1.14 (Preview) |
|---|---|---|
| tallyqa-score (counting) | 0.720 | 0.546 |
| visa-noul (anomaly detection) | 0.603 | 0.467 |
| koniq-score (image quality) | 0.196 | 0.143 |
| cvbench-relation-choice | 0.965 | 0.944 |
| pope-noul (object hallucination) | 0.793 | 0.767 |
| nights-choice (perceptual similarity, 3 images) | 0.886 | 0.866 |
| vsr-noul (spatial relations) | 0.775 | 0.768 |
| generalization-vision-easy-choice | 0.976 | 0.967 |
Full-weight fine-tuning with a decision readout on public train splits and our own synthetic data:
No S1MB question text was used for training.
Python 3.12, a CUDA GPU with about 75 GB of free memory (BF16 weights), and the code shipped in this repository (autojev/).
import sys
from pathlib import Path
from huggingface_hub import snapshot_download
path = Path(snapshot_download("FINAL-Bench/Darwin-35B-ZTC-Vision"))
sys.path.insert(0, str(path))
from autojev.model import DecisionModel, answer
model = DecisionModel(checkpoint=path).eval()
question = {
"type": "noul",
"instructions": "Determine whether image_1 shows a defect such as a scratch, crack, hole or stain.",
"criteria": {"true": "A defect is present", "false": "The surface is normal"},
}
row = {"state": {"images": ["image_1"]}, "images": ["part.jpg"], "question": question}
print(answer(question, model.predict([row])[0]))
decide_server.py serves POST /v1/systemone (images as data URLs, up to four per request):
ZTC_MODEL=/path/to/snapshot PORT=8410 python decide_server.py
s1mb_adapter/ztc_http.py is the S1MB evaluator adapter we used to measure the results above against this server.
Apache-2.0 for the weights and code in this repository. Training images keep their own licenses (COCO: per-image Flickr licenses and CC BY 4.0 annotations; VisA: CC BY 4.0).