--- 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 --- Thinklite-27B: Qwen 3.8 27B made efficient > [!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.
Modelreasoning_effort = xhighreasoning_effort = low
Reasoning vs baseTTFO speed-upReasoning vs baseTTFO speed-up
Thinklite-27B↓ 47.0%2.0x↓ 28.0%1.3x
ThinkingCap-Qwen3.8-27B↓ 45.8%1.7x↓ 16.4%1.2x
Swift-1.5-Qwen3.8-27b↓ 35.6%1.6x↓ 12.7%1.1x
- *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 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 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"`
ModelGSM8KAIME 2025MMLU-ProIFEvalLCB v6BFCL v4Average
Accuracy (%)
Thinklite-27B96.895.084.489.184.788.989.82
ThinkingCap-Qwen3.8-27B97.0100.086.590.984.789.091.37
Swift-1.5-Qwen3.8-27b96.9100.086.690.984.787.691.12
Qwen3.8-27B97.293.386.391.584.088.790.17
Reasoning tokens vs Qwen3.8-27B
Thinklite-27B↓ 63%↓ 43%↓ 69%↓ 41%↓ 38%↓ 28%↓ 47.0%
ThinkingCap-Qwen3.8-27B↓ 68%↓ 33%↓ 58%↓ 51%↓ 20%↓ 44%↓ 45.8%
Swift-1.5-Qwen3.8-27b↓ 40%↓ 34%↓ 44%↓ 44%↓ 32%↓ 20%↓ 35.6%
Mean reasoning tokens per answer | 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** |
### `reasoning_effort="low"`
ModelGSM8KAIME 2025MMLU-ProIFEvalLCB v6BFCL v4Average
Accuracy (%)
Thinklite-27B96.781.783.384.371.091.284.70
ThinkingCap-Qwen3.8-27B97.286.784.885.872.591.586.40
Swift-1.5-Qwen3.8-27b97.190.084.786.073.391.287.04
Qwen3.8-27B97.490.084.486.172.590.886.88
Reasoning tokens vs Qwen3.8-27B
Thinklite-27B↓ 21%↓ 46%↓ 23%↓ 41%↓ 17%↓ 19%↓ 28.0%
ThinkingCap-Qwen3.8-27B↓ 12%↓ 23%↓ 18%↓ 19%↓ 15%↓ 12%↓ 16.4%
Swift-1.5-Qwen3.8-27b↓ 5%↓ 22%↓ 13%↓ 15%↓ 13%↓ 7%↓ 12.7%
Mean reasoning tokens per answer | 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** |
## 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.
ModelChartQADocVQAInfoVQAMathVistaMMMUA-OKVQAAverage
Score (%)
Thinklite-27B100.0100.091.187.5100.087.594.35
Qwen3.8-27B100.0100.088.187.5100.087.593.85
Reasoning tokens vs Qwen3.8-27B
Thinklite-27B↓ 15%↓ 15%↓ 32%↓ 36%↓ 30%↓ 15%↓ 24.0%
- 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).