Image-Text-to-Text
Transformers
Safetensors
qwen3_5
thinklite
reasoning
efficient-reasoning
qwen3.8
conversational
Instructions to use Sparset/Thinklite-27B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Sparset/Thinklite-27B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Sparset/Thinklite-27B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("Sparset/Thinklite-27B") model = AutoModelForMultimodalLM.from_pretrained("Sparset/Thinklite-27B", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Sparset/Thinklite-27B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Sparset/Thinklite-27B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Sparset/Thinklite-27B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/Sparset/Thinklite-27B
- SGLang
How to use Sparset/Thinklite-27B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Sparset/Thinklite-27B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Sparset/Thinklite-27B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Sparset/Thinklite-27B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Sparset/Thinklite-27B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use Sparset/Thinklite-27B with Docker Model Runner:
docker model run hf.co/Sparset/Thinklite-27B
File size: 18,943 Bytes
734144a 9d24c4d 734144a 0232d2d 734144a 226dbcd 9d24c4d 0232d2d 2aa8161 734144a e8a2e4a 734144a e8a2e4a 734144a e8a2e4a 734144a 80c5962 dc813cc 80c5962 734144a 80c5962 734144a | 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 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | ---
license: apache-2.0
base_model: Qwen/Qwen3.8-27B
pipeline_tag: image-text-to-text
library_name: transformers
tags:
- thinklite
- reasoning
- efficient-reasoning
- qwen3.8
---
<img src="thinklite-banner.png?v=2" alt="Thinklite-27B: Qwen 3.8 27B made efficient" style="width:100%;max-width:100%;height:auto;display:block;margin-bottom:1em;" />
> [!NOTE]
> **Qwen3.8-27B that thinks with half the tokens and keeps 99.6% of its accuracy.** At
> `reasoning_effort="xhigh"`, Thinklite-27B uses 47% less reasoning than Qwen3.8-27B on average over six benchmarks and
> writes half as many output tokens, so its time-to-final-output (TTFO) is about 2x shorter, while it keeps 99.6% of
> the base model's average accuracy (89.8 against 90.2). At `reasoning_effort="low"` it uses 28% less reasoning and
> keeps 97.5% of the base model's accuracy (2.2 points below).
> Check out the official [Thinklite-27B-GGUF](https://huggingface.co/Sparset/Thinklite-27B-GGUF), a 16.5 GB Q4_K_M
> for llama.cpp and Ollama that uses 48% less reasoning than Qwen3.8-27B quantized the same way at 99.3% of its
> accuracy.
<style>
.tl-table { display:table !important; width:100% !important; table-layout:fixed !important; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid rgba(246,246,243,0.16); border-radius:0; background:#090909; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; font-size:13px; color:rgba(246,246,243,0.80); }
.tl-table th { padding:10px 6px; text-align:center; font-weight:600; color:rgba(246,246,243,0.55); background:#101010; border-right:1px solid rgba(246,246,243,0.16); border-bottom:1px solid rgba(246,246,243,0.16); }
.tl-table td { padding:10px 6px; text-align:center; color:rgba(246,246,243,0.80); background:#090909; border-right:1px solid rgba(246,246,243,0.16); border-bottom:1px solid rgba(246,246,243,0.16); vertical-align:middle; font-variant-numeric:tabular-nums; }
.tl-table tr > :last-child { border-right:0; }
.tl-table tbody tr:last-child td { border-bottom:0; }
.tl-table .group { color:#F6F6F3; font-weight:700; border-bottom:2px solid #3E61EB; }
.tl-table .name { padding-left:16px; text-align:left; color:#F6F6F3; font-weight:600; }
.tl-table .tl { background:rgba(62,97,235,0.16); }
.tl-table th.tl { color:#8DA2F5; }
.tl-table td.tl strong, .tl-table td.tl { color:#F6F6F3; }
.tl-table strong { color:#F6F6F3; }
.tl-table .up { color:#8DA2F5; font-weight:700; }
.tl-table .section { padding:10px 16px; text-align:left; color:#8DA2F5; background:#101010; font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:12px; }
.tl-table .avg td { border-top:2px solid #3E61EB; font-weight:700; }
@media (max-width: 640px) {
.tl-table { display:block !important; overflow-x:auto !important; table-layout:auto !important; }
.tl-table th, .tl-table td { min-width:92px; }
.tl-table th:first-child, .tl-table td:first-child { min-width:140px; }
}
.model-card-content blockquote.note, blockquote.note { border-width:0 !important; box-shadow:inset 4px 0 0 #3E61EB !important; background:rgba(62,97,235,0.14) !important; border-radius:0 !important; padding:12px 18px 12px 22px !important; }
blockquote.note p { margin:0 !important; font-style:normal !important; }
/* Plain blockquotes (no [!NOTE]) render as a grey card, used for the pointer to the GGUF release. */
.model-card-content blockquote:not(.note), blockquote:not(.note) { border-width:0 !important; box-shadow:inset 4px 0 0 rgba(246,246,243,0.35) !important; background:rgba(246,246,243,0.07) !important; border-radius:0 !important; padding:12px 18px 12px 22px !important; color:rgba(246,246,243,0.85) !important; }
blockquote:not(.note) p { margin:0 !important; font-style:normal !important; quotes:none !important; }
</style>
<table class="tl-table">
<thead>
<tr><th rowspan="2" style="text-align:left;padding-left:16px;vertical-align:bottom;">Model</th><th class="group" colspan="2">reasoning_effort = xhigh</th><th class="group" colspan="2">reasoning_effort = low</th></tr>
<tr><th>Reasoning vs base</th><th>TTFO speed-up</th><th>Reasoning vs base</th><th>TTFO speed-up</th></tr>
</thead>
<tbody>
<tr><td class="name tl">Thinklite-27B</td><td class="tl"><strong>↓ 47.0%</strong></td><td class="tl"><strong>2.0x</strong></td><td class="tl"><strong>↓ 28.0%</strong></td><td class="tl"><strong>1.3x</strong></td></tr>
<tr><td class="name">ThinkingCap-Qwen3.8-27B</td><td>↓ 45.8%</td><td>1.7x</td><td>↓ 16.4%</td><td>1.2x</td></tr>
<tr><td class="name">Swift-1.5-Qwen3.8-27b</td><td>↓ 35.6%</td><td>1.6x</td><td>↓ 12.7%</td><td>1.1x</td></tr>
</tbody>
</table>
- *Reasoning vs base*: the change in mean reasoning tokens per answer against Qwen3.8-27B at the same effort,
averaged over the six benchmarks below.
- *TTFO speed-up*: TTFO (time-to-final-output) is how long a user waits until the model's complete final
output is there, thinking included. The speed-up is Qwen3.8-27B's TTFO divided by the model's, over all 4,291
requests for one user. All four models share the Qwen3.8-27B architecture and decode at the same speed
(Thinklite-27B 26.3 vs base 26.2 tokens/s for a single user on the same GPU), and the prompts are identical, so
TTFO falls in proportion to the tokens a model writes.
## Side-by-side comparisons
### Debugging
<video src="https://huggingface.co/Sparset/Thinklite-27B/resolve/main/thinklite-side-by-side.mp4" controls autoplay muted loop playsinline style="width:100%;height:auto;display:block;"></video>
Qwen3.8-27B and Thinklite-27B get the same debugging prompt (retry code plus two logs: find the duplicate charges to
refund and the fix) with the same seed, each model on one NVIDIA RTX PRO 6000 serving 20 requests at once. Both answer correctly; Thinklite-27B is done
in 2:36.9 with 3,381 tokens, the base model in 11:04.9 with 14,313 tokens (4.2x). The video plays at 22x speed and the
clocks show the measured time. This is the largest speed-up of 20 paired runs of this prompt. Thinklite-27B was correct in 19 of the 20
runs and the base model in all 20; over the 19 correct runs the median speed-up was 2.7x.
### Building a 3D physics lab
<video src="https://huggingface.co/Sparset/Thinklite-27B/resolve/main/thinklite-physics-lab-side-by-side.mp4" controls autoplay muted loop playsinline style="width:100%;height:auto;display:block;"></video>
Both models get the same objective: build an interactive 3D science lab as a single HTML file in which everything has
to follow realistic physics. Objects have real sizes and masses and fall under real gravity (9.81 m/s²): a hinged door
swings with its momentum and stops at its frame, glassware tips over when bumped and shatters when it hits something
hard, a rubber ball bounces high while a heavy steel ball barely bounces, a block tower topples and a pendulum swings.
Both models run at `reasoning_effort="xhigh"` on the same NVIDIA RTX PRO 6000. The numbers are the total tokens and
generation time each model needed to reach a working version of the lab: Thinklite-27B 87,134 tokens in 56.7 min, the
base model 127,661 tokens in 87.6 min (1.5x). The video shows one working game per model; it is not a measure of how
often each model succeeds.
## How it works
Reasoning models spend much of their output on thinking that does not change the answer: restating the question,
repeating a step, re-checking a result that was already checked. Thinklite-27B is fine-tuned from Qwen3.8-27B on its
own verified-correct answers to reach the same answers by a shorter route. Only the thinking gets shorter; the visible
answer keeps its full length and format. It is a drop-in replacement for Qwen3.8-27B with the same chat template,
tokenizer and `reasoning_effort` control.
## Benchmarks
**Setup:**
- We ran all four models ourselves on one frozen suite: identical prompts, chat template, sampling, token caps and
scoring. Compared models, both also built on Qwen3.8-27B and run in bf16:
[bottlecapai/ThinkingCap-Qwen3.8-27B](https://huggingface.co/bottlecapai/ThinkingCap-Qwen3.8-27B) (revision `7891e03`)
and [ukisai/Swift-1.5-Qwen3.8-27b](https://huggingface.co/ukisai/Swift-1.5-Qwen3.8-27b) (revision `b4c84d42`).
- vLLM 0.30.0, bf16 weights, FP8 KV cache, temperature 1.0, top_p 0.95, top_k 20, 64 concurrent requests, one NVIDIA
RTX PRO 6000 Blackwell (96 GB). All answers were scored together on one machine.
- One sample per question (two on AIME 2025). Answers that hit their cap were rerun once with a 131,072-token cap;
truncated or unparseable answers count as incorrect.
- **GSM8K**: 1,319 problems
- **AIME 2025**: 30 problems x 2 samples, avg@2
- **MMLU-Pro**: 1,000-question stratified subset
- **IFEval**: 541 prompts, prompt-level strict
- **LiveCodeBench v6 (LCB)**: 131 problems (2025-02 to 2025-04), pass@1
- **BFCL v4**: 1,240 non-live function-calling cases
### `reasoning_effort="xhigh"`
<table class="tl-table">
<thead>
<tr><th style="width:26%;text-align:left;padding-left:16px;">Model</th><th>GSM8K</th><th>AIME 2025</th><th>MMLU-Pro</th><th>IFEval</th><th>LCB v6</th><th>BFCL v4</th><th>Average</th></tr>
</thead>
<tbody>
<tr><td class="section" colspan="8">Accuracy (%)</td></tr>
<tr><td class="name tl">Thinklite-27B</td><td class="tl">96.8</td><td class="tl">95.0</td><td class="tl">84.4</td><td class="tl">89.1</td><td class="tl"><strong>84.7</strong></td><td class="tl">88.9</td><td class="tl">89.82</td></tr>
<tr><td class="name">ThinkingCap-Qwen3.8-27B</td><td>97.0</td><td><strong>100.0</strong></td><td>86.5</td><td>90.9</td><td><strong>84.7</strong></td><td><strong>89.0</strong></td><td>91.37</td></tr>
<tr><td class="name">Swift-1.5-Qwen3.8-27b</td><td>96.9</td><td><strong>100.0</strong></td><td><strong>86.6</strong></td><td>90.9</td><td><strong>84.7</strong></td><td>87.6</td><td>91.12</td></tr>
<tr><td class="name">Qwen3.8-27B</td><td><strong>97.2</strong></td><td>93.3</td><td>86.3</td><td><strong>91.5</strong></td><td>84.0</td><td>88.7</td><td>90.17</td></tr>
<tr><td class="section" colspan="8">Reasoning tokens vs Qwen3.8-27B</td></tr>
<tr><td class="name tl">Thinklite-27B</td><td class="tl">↓ 63%</td><td class="tl"><strong>↓ 43%</strong></td><td class="tl"><strong>↓ 69%</strong></td><td class="tl">↓ 41%</td><td class="tl"><strong>↓ 38%</strong></td><td class="tl">↓ 28%</td><td class="tl">↓ 47.0%</td></tr>
<tr><td class="name">ThinkingCap-Qwen3.8-27B</td><td><strong>↓ 68%</strong></td><td>↓ 33%</td><td>↓ 58%</td><td><strong>↓ 51%</strong></td><td>↓ 20%</td><td><strong>↓ 44%</strong></td><td>↓ 45.8%</td></tr>
<tr><td class="name">Swift-1.5-Qwen3.8-27b</td><td>↓ 40%</td><td>↓ 34%</td><td>↓ 44%</td><td>↓ 44%</td><td>↓ 32%</td><td>↓ 20%</td><td>↓ 35.6%</td></tr>
</tbody>
</table>
<details>
<summary>Mean reasoning tokens per answer</summary>
| Benchmark | Thinklite-27B | ThinkingCap-Qwen3.8-27B | Swift-1.5-Qwen3.8-27b | Qwen3.8-27B |
|---|---|---|---|---|
| GSM8K | 163 (-63%) | 141 (-68%) | 267 (-40%) | 443 |
| AIME 2025 | 11,236 (-43%) | 13,228 (-33%) | 12,961 (-34%) | 19,642 |
| MMLU-Pro | 1,343 (-69%) | 1,785 (-58%) | 2,404 (-44%) | 4,295 |
| IFEval | 1,082 (-41%) | 891 (-51%) | 1,031 (-44%) | 1,830 |
| LiveCodeBench v6 | 17,079 (-38%) | 21,936 (-20%) | 18,770 (-32%) | 27,589 |
| BFCL v4 | 143 (-28%) | 113 (-44%) | 159 (-20%) | 200 |
| **Average change** | **-47.0%** | **-45.8%** | **-35.6%** | - |
| **All output tokens, 4,291 requests** | **5,822,599 (-50%)** | **6,724,080 (-42%)** | **7,319,314 (-37%)** | **11,533,518** |
</details>
### `reasoning_effort="low"`
<table class="tl-table">
<thead>
<tr><th style="width:26%;text-align:left;padding-left:16px;">Model</th><th>GSM8K</th><th>AIME 2025</th><th>MMLU-Pro</th><th>IFEval</th><th>LCB v6</th><th>BFCL v4</th><th>Average</th></tr>
</thead>
<tbody>
<tr><td class="section" colspan="8">Accuracy (%)</td></tr>
<tr><td class="name tl">Thinklite-27B</td><td class="tl">96.7</td><td class="tl">81.7</td><td class="tl">83.3</td><td class="tl">84.3</td><td class="tl">71.0</td><td class="tl">91.2</td><td class="tl">84.70</td></tr>
<tr><td class="name">ThinkingCap-Qwen3.8-27B</td><td>97.2</td><td>86.7</td><td><strong>84.8</strong></td><td>85.8</td><td>72.5</td><td><strong>91.5</strong></td><td>86.40</td></tr>
<tr><td class="name">Swift-1.5-Qwen3.8-27b</td><td>97.1</td><td><strong>90.0</strong></td><td>84.7</td><td>86.0</td><td><strong>73.3</strong></td><td>91.2</td><td>87.04</td></tr>
<tr><td class="name">Qwen3.8-27B</td><td><strong>97.4</strong></td><td><strong>90.0</strong></td><td>84.4</td><td><strong>86.1</strong></td><td>72.5</td><td>90.8</td><td>86.88</td></tr>
<tr><td class="section" colspan="8">Reasoning tokens vs Qwen3.8-27B</td></tr>
<tr><td class="name tl">Thinklite-27B</td><td class="tl"><strong>↓ 21%</strong></td><td class="tl"><strong>↓ 46%</strong></td><td class="tl"><strong>↓ 23%</strong></td><td class="tl"><strong>↓ 41%</strong></td><td class="tl"><strong>↓ 17%</strong></td><td class="tl"><strong>↓ 19%</strong></td><td class="tl">↓ 28.0%</td></tr>
<tr><td class="name">ThinkingCap-Qwen3.8-27B</td><td>↓ 12%</td><td>↓ 23%</td><td>↓ 18%</td><td>↓ 19%</td><td>↓ 15%</td><td>↓ 12%</td><td>↓ 16.4%</td></tr>
<tr><td class="name">Swift-1.5-Qwen3.8-27b</td><td>↓ 5%</td><td>↓ 22%</td><td>↓ 13%</td><td>↓ 15%</td><td>↓ 13%</td><td>↓ 7%</td><td>↓ 12.7%</td></tr>
</tbody>
</table>
<details>
<summary>Mean reasoning tokens per answer</summary>
| Benchmark | Thinklite-27B | ThinkingCap-Qwen3.8-27B | Swift-1.5-Qwen3.8-27b | Qwen3.8-27B |
|---|---|---|---|---|
| GSM8K | 144 (-21%) | 160 (-12%) | 173 (-5%) | 183 |
| AIME 2025 | 6,521 (-46%) | 9,324 (-23%) | 9,416 (-22%) | 12,125 |
| MMLU-Pro | 854 (-23%) | 908 (-18%) | 963 (-13%) | 1,103 |
| IFEval | 386 (-41%) | 537 (-19%) | 557 (-15%) | 659 |
| LiveCodeBench v6 | 8,882 (-17%) | 9,183 (-15%) | 9,341 (-13%) | 10,741 |
| BFCL v4 | 78 (-19%) | 85 (-12%) | 90 (-7%) | 96 |
| **Average change** | **-28.0%** | **-16.4%** | **-12.7%** | - |
| **All output tokens, 4,291 requests** | **3,748,880 (-23%)** | **4,121,634 (-16%)** | **4,303,835 (-12%)** | **4,896,249** |
</details>
## Image understanding
Thinklite-27B accepts images like Qwen3.8-27B. Its training data was text only and its vision encoder is
byte-for-byte the base model's, so we checked that the fine-tuned language model still reads what it sees: 88 questions
from six public image datasets, each answerable only from the picture (a chart, a scanned document, an infographic, a
math figure, an exam diagram or a photo). Both models got the same image and question at `reasoning_effort="low"`,
with the same seeds and sampling as the benchmarks above.
<table class="tl-table">
<thead>
<tr><th style="width:26%;text-align:left;padding-left:16px;">Model</th><th>ChartQA</th><th>DocVQA</th><th>InfoVQA</th><th>MathVista</th><th>MMMU</th><th>A-OKVQA</th><th>Average</th></tr>
</thead>
<tbody>
<tr><td class="section" colspan="8">Score (%)</td></tr>
<tr><td class="name tl">Thinklite-27B</td><td class="tl">100.0</td><td class="tl">100.0</td><td class="tl"><strong>91.1</strong></td><td class="tl">87.5</td><td class="tl">100.0</td><td class="tl">87.5</td><td class="tl"><strong>94.35</strong></td></tr>
<tr><td class="name">Qwen3.8-27B</td><td>100.0</td><td>100.0</td><td>88.1</td><td>87.5</td><td>100.0</td><td>87.5</td><td>93.85</td></tr>
<tr><td class="section" colspan="8">Reasoning tokens vs Qwen3.8-27B</td></tr>
<tr><td class="name tl">Thinklite-27B</td><td class="tl">↓ 15%</td><td class="tl">↓ 15%</td><td class="tl">↓ 32%</td><td class="tl">↓ 36%</td><td class="tl">↓ 30%</td><td class="tl">↓ 15%</td><td class="tl">↓ 24.0%</td></tr>
</tbody>
</table>
- 16 questions per dataset (12 for InfographicVQA and MMMU), a seeded random sample of each validation or testmini
split. Scores: ChartQA relaxed accuracy (numbers within 5%), DocVQA and InfographicVQA ANLS, multiple-choice or exact
accuracy for MathVista, MMMU and A-OKVQA. No answer was cut off or unparseable.
- Both models answered the same 83 of 88 questions correctly; the only score difference is partial ANLS credit on one
InfographicVQA answer.
- 18 of the questions (3 per dataset) also ran at `reasoning_effort="xhigh"`: Thinklite-27B answered 17 correctly
and Qwen3.8-27B 16, with 52% less reasoning per answer (758 vs 1,565 tokens).
- This is a check, not a full benchmark: one question moves a dataset's score by 6 to 8 points. It shows that image
understanding is kept, not that it improved.
## Usage
**vLLM**
```bash
vllm serve Sparset/Thinklite-27B --reasoning-parser qwen3 --max-model-len 135168 --kv-cache-dtype fp8
```
```python
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="-")
reply = client.chat.completions.create(
model="Sparset/Thinklite-27B",
messages=[{"role": "user", "content": "How many primes are there below 100?"}],
temperature=1.0, top_p=0.95,
extra_body={"top_k": 20, "chat_template_kwargs": {"enable_thinking": True, "reasoning_effort": "xhigh"}},
)
print(reply.choices[0].message.content)
```
Set `reasoning_effort` to `"low"`, `"medium"` or `"xhigh"`, exactly as with Qwen3.8-27B. The benchmarks used
temperature 1.0, top_p 0.95 and top_k 20, as recommended for the base model.
**Transformers**
```python
from transformers import AutoModelForImageTextToText, AutoProcessor
model = AutoModelForImageTextToText.from_pretrained("Sparset/Thinklite-27B", dtype="auto", device_map="auto")
processor = AutoProcessor.from_pretrained("Sparset/Thinklite-27B")
```
## Files
Merged bf16 safetensors with the tokenizer, chat template and processor files of Qwen3.8-27B.
## Limitations
- One benchmark run per effort; the small benchmarks (AIME 2025 with 60 answers, LiveCodeBench with 131) carry wide
confidence intervals.
- At xhigh, accuracy is below the base model on IFEval (89.1 vs 91.5) and MMLU-Pro (84.4 vs 86.3).
- At low effort, the average accuracy is 2.2 points below the base model, mostly from AIME 2025 (81.7 vs 90.0).
- Long single-answer code was less reliable than the base model's: in the game test above, 1 of 5 games fully worked
against 3 of 5.
- The vision encoder is unchanged from Qwen3.8-27B and training data was text only; image understanding was checked
on 88 questions, not a full vision benchmark.
- No safety tuning beyond the base model's. Check the model on your own tasks before relying on it.
## License
Apache-2.0, the license of the base model [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B).
|