Zero-Shot Classification
Transformers
Safetensors
qwen3_5
feature-extraction
decision-model
classification
system-one
multimodal
vision
video
custom_code
Eval Results
Instructions to use vllm-sr/d3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use vllm-sr/d3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("zero-shot-classification", model="vllm-sr/d3", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModel processor = AutoProcessor.from_pretrained("vllm-sr/d3", trust_remote_code=True) model = AutoModel.from_pretrained("vllm-sr/d3", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Card: official Jev Decision Index 0.3.2 results and serving performance
Browse files- .gitattributes +1 -0
- MODEL_MANIFEST.json +8 -6
- README.md +63 -11
- assets/index-areas.png +2 -2
- assets/index-pareto.png +2 -2
- assets/serving-throughput.png +3 -0
.gitattributes
CHANGED
|
@@ -37,3 +37,4 @@ assets/banner.png filter=lfs diff=lfs merge=lfs -text
|
|
| 37 |
assets/index-areas.png filter=lfs diff=lfs merge=lfs -text
|
| 38 |
assets/index-pareto.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 37 |
assets/index-areas.png filter=lfs diff=lfs merge=lfs -text
|
| 38 |
assets/index-pareto.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
assets/serving-throughput.png filter=lfs diff=lfs merge=lfs -text
|
MODEL_MANIFEST.json
CHANGED
|
@@ -592,12 +592,13 @@
|
|
| 592 |
"files_sha256": {
|
| 593 |
"LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
|
| 594 |
"NOTICE": "61f4ea488e1fed0c3fce97171506a23152c2591116442f78f15827fb9e6af469",
|
| 595 |
-
"README.md": "
|
| 596 |
"assets/banner.png": "eb7ecc949232e1de544247899dd55ee629a36cfe276042d5795f65178b9c64c5",
|
| 597 |
"assets/example-receipt.png": "b9dbb8b103bacd45f1de824d844a3c07b81d57cb1a7466712ef060ad7dcb3926",
|
| 598 |
"assets/example-video.mp4": "f4968ef89d07e97f20df4fd8047510a7a8e9df5c2d07c35e363a97927f164ab9",
|
| 599 |
-
"assets/index-areas.png": "
|
| 600 |
-
"assets/index-pareto.png": "
|
|
|
|
| 601 |
"chat_template.jinja": "c3cf9e34abf4f9e36c2d72165aa9c132d3e2a725b6c2586aaa3a8af9d7a81041",
|
| 602 |
"config.json": "7e16284fafd2d54b73c10073c0391bfd6804886ceaf2cbe37fdb62d4c6813dea",
|
| 603 |
"d3_engine.py": "086238942762df45047a32cd9a8e2bedd9b63167eb40be260c776de567979f53",
|
|
@@ -633,12 +634,13 @@
|
|
| 633 |
"files_bytes": {
|
| 634 |
"LICENSE": 11357,
|
| 635 |
"NOTICE": 100,
|
| 636 |
-
"README.md":
|
| 637 |
"assets/banner.png": 2233137,
|
| 638 |
"assets/example-receipt.png": 65918,
|
| 639 |
"assets/example-video.mp4": 26300,
|
| 640 |
-
"assets/index-areas.png":
|
| 641 |
-
"assets/index-pareto.png":
|
|
|
|
| 642 |
"chat_template.jinja": 8952,
|
| 643 |
"config.json": 3949,
|
| 644 |
"d3_engine.py": 4413,
|
|
|
|
| 592 |
"files_sha256": {
|
| 593 |
"LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
|
| 594 |
"NOTICE": "61f4ea488e1fed0c3fce97171506a23152c2591116442f78f15827fb9e6af469",
|
| 595 |
+
"README.md": "73fa509f65e93551aaf26fd062843ca2f50fa5167b95efacb6c31e85f1875685",
|
| 596 |
"assets/banner.png": "eb7ecc949232e1de544247899dd55ee629a36cfe276042d5795f65178b9c64c5",
|
| 597 |
"assets/example-receipt.png": "b9dbb8b103bacd45f1de824d844a3c07b81d57cb1a7466712ef060ad7dcb3926",
|
| 598 |
"assets/example-video.mp4": "f4968ef89d07e97f20df4fd8047510a7a8e9df5c2d07c35e363a97927f164ab9",
|
| 599 |
+
"assets/index-areas.png": "7e3421ab0890be77b4212ffc5ba36d65ea0be725c0eb2315d54db61cccbc3273",
|
| 600 |
+
"assets/index-pareto.png": "22827a6293301dd024791678d6cd7d6d3d6d9352bd9422b591c443e9d08afacb",
|
| 601 |
+
"assets/serving-throughput.png": "c6f001dc732b62fd8aca49b496376a3dfa585295dcbbb9f63c93887542a1fd34",
|
| 602 |
"chat_template.jinja": "c3cf9e34abf4f9e36c2d72165aa9c132d3e2a725b6c2586aaa3a8af9d7a81041",
|
| 603 |
"config.json": "7e16284fafd2d54b73c10073c0391bfd6804886ceaf2cbe37fdb62d4c6813dea",
|
| 604 |
"d3_engine.py": "086238942762df45047a32cd9a8e2bedd9b63167eb40be260c776de567979f53",
|
|
|
|
| 634 |
"files_bytes": {
|
| 635 |
"LICENSE": 11357,
|
| 636 |
"NOTICE": 100,
|
| 637 |
+
"README.md": 16492,
|
| 638 |
"assets/banner.png": 2233137,
|
| 639 |
"assets/example-receipt.png": 65918,
|
| 640 |
"assets/example-video.mp4": 26300,
|
| 641 |
+
"assets/index-areas.png": 128871,
|
| 642 |
+
"assets/index-pareto.png": 207822,
|
| 643 |
+
"assets/serving-throughput.png": 193419,
|
| 644 |
"chat_template.jinja": 8952,
|
| 645 |
"config.json": 3949,
|
| 646 |
"d3_engine.py": 4413,
|
README.md
CHANGED
|
@@ -29,11 +29,12 @@ tags:
|
|
| 29 |
|
| 30 |
## Highlights
|
| 31 |
|
| 32 |
-
- **Jev Decision Index 0.3, public suite
|
| 33 |
-
- **+
|
| 34 |
- **Reads images:** multiple images per request (PNG, JPEG or WebP), given as paths, URLs, PIL images or base64 data URLs; every question of the request sees all of them.
|
| 35 |
- **Reads videos:** multiple videos per request (MP4, WebM, MOV or MKV), given as paths, URLs, base64 data URLs or frame arrays, read at 2 frames per second; **Perception Test (multiple-choice video QA): 77.4** (internal evaluation).
|
| 36 |
-
- **Speed:** text requests take a median of
|
|
|
|
| 37 |
- **Many questions, one call:** Choice, Yes / No and Score questions about the same input are answered together, each from its own forward pass over the input, with a probability for every option.
|
| 38 |
|
| 39 |
## Quickstart
|
|
@@ -199,32 +200,83 @@ EOF
|
|
| 199 |
|
| 200 |
`vllm-sr stop` stops it. See [Router and Engine modes](https://github.com/vllm-project/semantic-router/blob/main/src/vllm-sr/INSTANCE_MODES.md#ask-about-images-and-videos) for limits and options.
|
| 201 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 202 |
## Evaluation
|
| 203 |
|
| 204 |
-
### Text: Jev Decision Index 0.3.
|
| 205 |
|
| 206 |
| Model | Jev Decision Index ↑ | Public ↑ | Same-skill tests ↑ | New-domain tasks ↑ |
|
| 207 |
| --- | ---: | ---: | ---: | ---: |
|
| 208 |
-
| **d3** | **
|
|
|
|
| 209 |
| Perplexity Decider v1.1 (27B) | 62.8 | 62.3 | 61.1 | 55.6 |
|
| 210 |
-
|
|
| 211 |
-
|
|
| 212 |
-
| Torchcast Decision 27B | 59.9 | 65.1 | 58.1 | 50.8 |
|
| 213 |
| Decision 2.0 (27B) | 55.9 | 57.0 | 55.7 | 47.9 |
|
| 214 |
|
|
|
|
|
|
|
| 215 |

|
| 216 |
|
| 217 |

|
| 218 |
|
| 219 |
-
### Images: Jev Decision Index vision board 0.3.
|
| 220 |
|
| 221 |
| Model | Vision Index ↑ | Public ↑ | Private ↑ |
|
| 222 |
| --- | ---: | ---: | ---: |
|
| 223 |
-
| **d3** | **71.
|
| 224 |
| Perplexity Decider v1.1 (27B) | 70.6 | 73.2 | 67.9 |
|
| 225 |
| JEV-27B-VL | 69.6 | 72.8 | 66.4 |
|
| 226 |
| Solomon v1.1 (27B) | 66.8 | 69.9 | 63.8 |
|
| 227 |
|
|
|
|
|
|
|
| 228 |
d3 on the public vision benchmarks († approximate rebuild):
|
| 229 |
|
| 230 |
| Benchmark | d3 |
|
|
@@ -253,7 +305,7 @@ d3 on the public vision benchmarks († approximate rebuild):
|
|
| 253 |
|
| 254 |
Multiple-choice video question answering (three options per question, chance 33.3): top-1 accuracy (%), videos read with the defaults above.
|
| 255 |
|
| 256 |
-
<sub>
|
| 257 |
|
| 258 |
## License
|
| 259 |
|
|
|
|
| 29 |
|
| 30 |
## Highlights
|
| 31 |
|
| 32 |
+
- **Jev Decision Index 0.3.2: 66.3, first on the official text board** and on its Pareto frontier; public suite 65.45, measured with the official 0.3 kit on the released weights: all 140,178 public requests answered, none unsupported.
|
| 33 |
+
- **+10.4 over Decision 2.0** (its 27B model: 55.9 on the official board): +8.5 on the public suite, ahead in all five of its areas, and +7.1 and +12.6 on the private same-skill tests and new-domain tasks.
|
| 34 |
- **Reads images:** multiple images per request (PNG, JPEG or WebP), given as paths, URLs, PIL images or base64 data URLs; every question of the request sees all of them.
|
| 35 |
- **Reads videos:** multiple videos per request (MP4, WebM, MOV or MKV), given as paths, URLs, base64 data URLs or frame arrays, read at 2 frames per second; **Perception Test (multiple-choice video QA): 77.4** (internal evaluation).
|
| 36 |
+
- **Speed:** text requests take a median of 54.4 ms, requests with an image a median of 290 ms, and requests with a 10-second video a median of 500 ms, on one AMD Instinct MI325X, one request at a time with AutoModel.
|
| 37 |
+
- **Serving:** 27 requests/s with p99 under 1 s on one AMD Instinct MI325X with vLLM Semantic Router, 1.5× AutoModel (one-question text, `batching` profile); the default `exact` profile gives AutoModel's answers byte for byte when both use the same kernel settings ([Serving performance](#serving-performance)).
|
| 38 |
- **Many questions, one call:** Choice, Yes / No and Score questions about the same input are answered together, each from its own forward pass over the input, with a probability for every option.
|
| 39 |
|
| 40 |
## Quickstart
|
|
|
|
| 200 |
|
| 201 |
`vllm-sr stop` stops it. See [Router and Engine modes](https://github.com/vllm-project/semantic-router/blob/main/src/vllm-sr/INSTANCE_MODES.md#ask-about-images-and-videos) for limits and options.
|
| 202 |
|
| 203 |
+
### Serving performance
|
| 204 |
+
|
| 205 |
+
**On one AMD Instinct MI325X, vLLM Semantic Router serves d3 at 27 requests/s with p99 under 1 s, 1.5× AutoModel** (one-question text, `batching` profile), and its default `exact` profile gives AutoModel's answers byte for byte when both use the same kernel settings.
|
| 206 |
+
|
| 207 |
+

|
| 208 |
+
|
| 209 |
+
AutoModel runs in your own process, one call at a time (the Quickstart code); the package server is its `python d3_server.py`; Engine mode is `vllm-sr serve -e` with its default `exact` profile, or with `--runtime-profile batching`.
|
| 210 |
+
|
| 211 |
+
Where Engine mode helps, and what it costs:
|
| 212 |
+
|
| 213 |
+
- **Throughput:** 1.5× AutoModel's requests per second on one-question text, 1.3× on 8-question images and 1.8× on 10-second videos, with the better Engine profile of each row (8-question images: highest rates, since no side keeps p99 under 1 s there).
|
| 214 |
+
- **Start-up:** the first answer comes 19.4 s after launch (20.4 s with `batching`) with empty kernel caches, against 38.4 s for AutoModel, whose first image then takes another 6.20 s, and 80.8 s for the package server.
|
| 215 |
+
- **Many questions and long inputs:** one request at a time, Engine mode (`exact`) answers 16 text questions in 548 ms (AutoModel: 572 ms), 8 questions about one image in 1.87 s (1.95 s) and a 32k-token text in 4.21 s (4.23 s); `batching` runs the 8 image questions together in 1.56 s, 20 % less than AutoModel.
|
| 216 |
+
- **GPU memory:** 65.4 GiB per replica at peak with `exact`, about the same as the package server's 65.2 GiB, and 62.1 GiB with `batching`; AutoModel, serving one request at a time, peaked at 61.8 GiB. Engine mode keeps up to 2 GiB of image features cached.
|
| 217 |
+
- **Answers:** Engine mode (`exact`) returned answers byte-identical to AutoModel's on all 7 request types (text with 1, 4 or 16 questions, an image with 1 or 8, the video and a 32k-token text) when AutoModel used the same kernel settings: 135 Engine replies and 21 AutoModel calls compared. With the kernel autotuning AutoModel runs in each new process, 5 of the 7 were byte-identical and no decision changed (largest probability difference 0.005). `batching` changed 0.048 % of decisions on a 4,000-request sample of the public suite (14 of 29,339 questions, near-ties), with gold accuracy 92.109 → 92.126 %.
|
| 218 |
+
|
| 219 |
+
A single short request is fastest in your own process: AutoModel answers one text question 0.9 ms sooner than Engine mode and one new image 22 ms sooner, the cost of going through the router to the model worker and its media path. Engine mode's gains come from serving many requests at once.
|
| 220 |
+
|
| 221 |
+
<details>
|
| 222 |
+
<summary>Single-request latency and the numbers behind the chart</summary>
|
| 223 |
+
|
| 224 |
+
One request at a time, warm (p50 / p90, ms):
|
| 225 |
+
|
| 226 |
+
| Request | AutoModel | Package server | Engine, `exact` | Engine, `batching` |
|
| 227 |
+
| --- | ---: | ---: | ---: | ---: |
|
| 228 |
+
| Text, 1 question | 54.4 / 54.6 | 55.0 / 55.3 | 55.3 / 55.6 | 57.2 / 57.9 |
|
| 229 |
+
| Text, 16 questions | 572 / 574 | 571 / 572 | 548 / 549 | 548 / 549 |
|
| 230 |
+
| Image (1.6 MP), 1 question | 290 / 292 | 295 / 297 | 312 / 314 | 315 / 316 |
|
| 231 |
+
| Image (1.6 MP), 8 questions | 1.95 s / 1.95 s | 1.95 s / 1.97 s | 1.87 s / 1.88 s | 1.56 s / 1.57 s |
|
| 232 |
+
| Video (10 s, 1080p), 1 question | 500 / 518 | 509 / 523 | 551 / 579 | 533 / 548 |
|
| 233 |
+
| 32k-token text, 1 question | 4.23 s / 4.24 s | 4.30 s / 4.30 s | 4.21 s / 4.23 s | 4.22 s / 4.23 s |
|
| 234 |
+
|
| 235 |
+
Requests per second on one GPU, closed loop with up to 64 clients (p99 under 1 s, except *):
|
| 236 |
+
|
| 237 |
+
| | AutoModel † | Package server | Engine, `exact` | Engine, `batching` |
|
| 238 |
+
| --- | ---: | ---: | ---: | ---: |
|
| 239 |
+
| Text, 1 question | 18.4 | 17.7 | 18.1 | 27 |
|
| 240 |
+
| Image (1.6 MP), 8 questions | 0.51 * | 0.53 * | 0.53 * | 0.67 * |
|
| 241 |
+
| Video (10 s, 1080p), 1 question | 2.0 | 2.8 | 3.7 | 3.7 |
|
| 242 |
+
| Text, 1 question, saturation | 18.4 | 17.7 | 18.1 | 29 |
|
| 243 |
+
|
| 244 |
+
† Back-to-back calls in one process (1,000 / mean latency). * p99 over 1 s at every load; the highest rate is shown.
|
| 245 |
+
|
| 246 |
+
</details>
|
| 247 |
+
|
| 248 |
+
<sub>Measured on 2026-10-13, one AMD Instinct MI325X per replica and each side alone on the GPU: ROCm 7.2 with PyTorch 2.12; AutoModel and the package server with Transformers 5.17.0; vLLM Semantic Router Engine mode built from source, with serving optimizations that are newer than its published images. Requests: a support ticket of about 330 tokens with 1, 4 or 16 questions; a 1,456 × 1,092 PNG (1.6 MP) with 1 or 8 questions; a 10-second 1080p MP4, read at 2 frames per second; a 32k-token text; every image and video request carries new bytes. One request at a time: 3 warm-up calls, then up to 20 timed calls. Under load: 1, 2, 4, … 64 closed-loop clients, each level warmed up and then counted for 15 to 60 s; Engine mode admits 32 requests in flight per worker and answers the rest at once with 503. Start-up: model files on local disk; Engine mode from the start of its router process, without the CLI's image pull.</sub>
|
| 249 |
+
|
| 250 |
## Evaluation
|
| 251 |
|
| 252 |
+
### Text: Jev Decision Index 0.3.2
|
| 253 |
|
| 254 |
| Model | Jev Decision Index ↑ | Public ↑ | Same-skill tests ↑ | New-domain tasks ↑ |
|
| 255 |
| --- | ---: | ---: | ---: | ---: |
|
| 256 |
+
| **d3** | **66.3** | **65.5** | **62.8** | **60.5** |
|
| 257 |
+
| Decider 31B | 64.6 | 64.3 | 61.8 | 58.3 |
|
| 258 |
| Perplexity Decider v1.1 (27B) | 62.8 | 62.3 | 61.1 | 55.6 |
|
| 259 |
+
| Darwin-27B-ZTC | 62.5 | 62.6 | 58.7 | 57.7 |
|
| 260 |
+
| AnyJev L0 · Gemma-4-31B | 60.2 | 59.8 | 59.1 | 53.0 |
|
|
|
|
| 261 |
| Decision 2.0 (27B) | 55.9 | 57.0 | 55.7 | 47.9 |
|
| 262 |
|
| 263 |
+
d3 ranks first of the 149 entries on the official text board and is on its Pareto frontier: no entry with as many parameters or fewer scores higher. Five of the six Decision 3.0 models are on that frontier; d3-edge, second among the entries of its size, is not.
|
| 264 |
+
|
| 265 |

|
| 266 |
|
| 267 |

|
| 268 |
|
| 269 |
+
### Images: Jev Decision Index vision board 0.3.2
|
| 270 |
|
| 271 |
| Model | Vision Index ↑ | Public ↑ | Private ↑ |
|
| 272 |
| --- | ---: | ---: | ---: |
|
| 273 |
+
| **d3** | **71.3** | **74.1** | **68.5** |
|
| 274 |
| Perplexity Decider v1.1 (27B) | 70.6 | 73.2 | 67.9 |
|
| 275 |
| JEV-27B-VL | 69.6 | 72.8 | 66.4 |
|
| 276 |
| Solomon v1.1 (27B) | 66.8 | 69.9 | 63.8 |
|
| 277 |
|
| 278 |
+
On the official vision board, the six Decision 3.0 models form the whole Pareto frontier: no other entry is on it. d3 ranks first of the 33 entries.
|
| 279 |
+
|
| 280 |
d3 on the public vision benchmarks († approximate rebuild):
|
| 281 |
|
| 282 |
| Benchmark | d3 |
|
|
|
|
| 305 |
|
| 306 |
Multiple-choice video question answering (three options per question, chance 33.3): top-1 accuracy (%), videos read with the defaults above.
|
| 307 |
|
| 308 |
+
<sub>Jev Decision Index: official leaderboard, text and vision boards 0.3.2, 2026-10-12; the boards evaluated v3.1.0, which has the same weights as this version. Size bands and the Pareto frontier use the parameter counts listed by the boards. d3 on the public vision benchmarks and the Perception Test: internal evaluation.</sub>
|
| 309 |
|
| 310 |
## License
|
| 311 |
|
assets/index-areas.png
CHANGED
|
Git LFS Details
|
|
Git LFS Details
|
assets/index-pareto.png
CHANGED
|
Git LFS Details
|
|
Git LFS Details
|
assets/serving-throughput.png
ADDED
|
Git LFS Details
|