File size: 5,753 Bytes
3c35bdf
 
05facf9
 
 
 
 
 
 
 
3c35bdf
05facf9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93c1ba6
05facf9
93c1ba6
05facf9
 
 
 
 
 
 
 
 
 
 
93c1ba6
 
 
05facf9
93c1ba6
05facf9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93c1ba6
 
05facf9
 
 
 
5a03cfe
05facf9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
---
license: cc-by-nc-sa-4.0
base_model: Qwen/Qwen3.5-9B
base_model_relation: adapter
tags:
  - multimodal
  - vision
  - decision-model
  - lora
  - qwen3_5
---

# Jolt-9B

![Jolt Logo](https://huggingface.co/mlengineer-ai/Jolt-9B/resolve/main/jolt.png)

Jolt-9B is a multimodal decision model. Given text or an image and a set of
candidate answers, it returns candidate probabilities, a truth estimate, or an
ordered score. It does not generate free-form answers.

## Model details

| Property | Value |
| --- | --- |
| Base model | [Qwen/Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B) |
| Base revision | `c202236235762e1c871ad0ccb60c8ee5ba337b9a` |
| Checkpoint | L2, seed 42, selected at update 3,600 |
| Development macro accuracy | 85.31% (checkpoint selection partition) |
| Training objective | Direct-composite loss |
| Training precision | BF16 base |
| Trainable weights | Rank-8 language LoRA and a linear candidate scorer |
| Input | Text, or text plus one decoded image |
| Limits | 2–128 candidates per question; 4,096-token inference limit |

The reported development score selected the checkpoint within its run. It is not
an independent test score. Test data were not used to select this checkpoint.

### Local evaluation results

| Held-out test lane | Dataset macro | Row weighted |
| --- | ---: | ---: |
| Text · 18 datasets | 85.81% | 86.55% |
| Images · 8 datasets | 84.88% | 97.51% |
| All · 26 datasets | 85.52% | 94.08% |

JevBench v1.2.2 public subset: **182/231** (78.79% pooled; 84.96% tier-balanced). The public subset contains 231 tasks; 303 official tasks were unavailable. This is a single checkpoint, seed 42, selected at update 3,600. Unit temperatures were used; no post-training temperature fit was applied.

### JevBench

![JevBench](https://huggingface.co/mlengineer-ai/Jolt-9B/resolve/main/jevbench.png)

### 18 text dataset benchmarks

![TextBench](https://huggingface.co/mlengineer-ai/Jolt-9B/resolve/main/text_bench.png)

### 8 image dataset benchmarks

![ImageBench](https://huggingface.co/mlengineer-ai/Jolt-9B/resolve/main/image_bench.png)

You can find a comprehensive model comparison report at: *model_comparison_dashboard.html*

## Use

This repository contains the compact Jolt adapter and inference source. It does
not duplicate Qwen's base weights: the runtime downloads the pinned public Qwen
revision on first use and caches it locally. The adapter format is Jolt's custom
decision-model format, so load it with the included runtime rather than
`AutoModel.from_pretrained`.

The runtime currently requires Python 3.12+, a CUDA-enabled PyTorch setup, and a
CUDA GPU. From a clone or downloaded copy of this repository:

```bash
python -m pip install -r requirements-cuda.txt
python -m pip install -e . --no-deps
```

Then:

```python
from jolt.predictor import Predictor

model = Predictor.from_checkpoint("mlengineer-ai/Jolt-9B")
result = model.predict(
    {"message": "I was charged twice. Please refund the duplicate."},
    {
        "route": {
            "type": "choice",
            "instructions": "Which team should handle this request?",
            "criteria": ["billing", "technical support", "sales"],
        },
        "refund": {
            "type": "noul",
            "instructions": "Is a refund requested?",
        },
    },
)

print(result["answers"]["route"]["choice"])
print(result["answers"]["refund"]["noul"])
```

For an image question, pass a decoded PIL image as `state["image"]`. This
example uses the `model` loaded above:

```python
from PIL import Image

image = Image.open("path/to/image.jpg").convert("RGB")
image_result = model.predict(
    {"image": image, "question": "Which animal is shown?"},
    {
        "animal": {
            "type": "choice",
            "instructions": "Identify the animal in the image.",
            "criteria": ["cat", "dog", "bird", "other"],
        }
    },
)

print(image_result["answers"]["animal"]["choice"])
```

## Training and data

Jolt follows the recipe based on the [Dohnuts](https://huggingface.co/PsiACE/Dohnuts-0.1.0-0.8B) project. These checkpoints start from the
Qwen3.5 base model listed above; they do not use Dohnuts model weights as their
base. Jolt trained rank-8 LoRA weights and a candidate scorer with the base
model frozen. Jolt's public-data task suite and split design are adapted from
Dohnuts. Its [data reference](https://github.com/PsiACE/dohnuts/blob/main/docs/data-and-evaluation.md)
lists source datasets and their known terms. The adapter metadata records
fingerprints for Jolt's training and development partitions. Training data are
not included here.

## Model variations

* https://huggingface.co/mlengineer-ai/Jolt-0.8B
* https://huggingface.co/mlengineer-ai/Jolt-2B
* https://huggingface.co/mlengineer-ai/Jolt-4B
* https://huggingface.co/mlengineer-ai/Jolt-9B

## Licensing

This release offers the adapter and decision-head weights under CC BY-NC-SA 4.0;
see `LICENSE`. For this prepared release, this conservative default follows the
original Dohnuts model release. It is not a legal determination that every source
dataset's terms necessarily apply to trained weights. The training mixture
includes sources with different terms, including
[ScienceQA](https://github.com/lupantech/ScienceQA/blob/main/README.md), whose
maintainers specify CC BY-NC-SA 4.0 for the dataset. The available records do
not establish commercial clearance for these trained weights; review the source
dataset terms before use.

The bundled inference source is adapted from Dohnuts and is licensed under
Apache-2.0; see `LICENSE-CODE` and `NOTICE-CODE`. The Qwen base model is
separately licensed by its publisher under Apache-2.0. Those licenses do not
replace or change the terms of training data.