edougawa/ThinkingCap-Qwen3.6-27B-Abliterix

Author / publisher: edougawa

This is an abliterated (reduced-refusal) version of bottlecapai/ThinkingCap-Qwen3.6-27B, produced with Abliterix.

Abliteration orthogonalizes model weights against a measured refusal direction. Its goal is to reduce refusals while preserving the base model's capabilities as closely as possible. It adds no knowledge or capability; credit for the underlying model belongs to BottleCap AI. The original model card is reproduced below.

Base model: bottlecapai/ThinkingCap-Qwen3.6-27B (Apache-2.0, by BottleCap AI)

⚠️ Safety disclaimer

This checkpoint deliberately reduces built-in refusal behavior. It may produce unexpected, offensive, inaccurate, or otherwise harmful output, including responses that the base model would have refused.

  • Provided as is, without warranty. Use it at your own risk.
  • You are responsible for your use of the model and its outputs, including compliance with applicable law and the base model's license.
  • Apply your own safety filtering, human review, and guardrails before production or user-facing use.
  • Outputs do not represent the views of the publisher (edougawa), BottleCap AI, or the Abliterix authors.

Abliteration parameters

These values were recorded for trial 21 of 40. vector_index is selected per layer; the remaining values are the steering-search parameters for that trial.

Parameter Value
Base model bottlecapai/ThinkingCap-Qwen3.6-27B
Method Abliterix refusal-direction ablation
Trial 21 / 40
Refusal vector index Per layer
attn.o_proj.max_weight 3.27
attn.o_proj.max_weight_position 62.13
attn.o_proj.min_weight 0.83
attn.o_proj.min_weight_distance 25.06
mlp.down_proj.max_weight 4.50
mlp.down_proj.max_weight_position 61.19
mlp.down_proj.min_weight 3.23
mlp.down_proj.min_weight_distance 28.10
Checkpoint dtype BF16
Context length 262,144 tokens

Abliteration results

Trial 21 was evaluated against the base model by comparing output distributions, response lengths, and refusals on the Abliterix evaluation suite. Refusals were evaluated by the thinkingcap-local-judge LLM judge. No separate downstream-capability benchmark report was supplied with the checkpoint.

Metric This checkpoint Base model
Full-distribution KL divergence (mean per-token) 0.2480 nats/token 0 (by definition)
Response-length deviation 0.02 standard deviations
Known refusals 11 / 250 249 / 250
Unknown refusals 0 / 250 0 / 250

Quickstart

Load the checkpoint from Hugging Face with Transformers:

from transformers import AutoModelForImageTextToText, AutoProcessor

model_id = "edougawa/ThinkingCap-Qwen3.6-27B-Abliterix"
model = AutoModelForImageTextToText.from_pretrained(
    model_id, dtype="bfloat16", device_map="auto"
)
processor = AutoProcessor.from_pretrained(model_id)

The base model's deployment, sampling, and MTP self-speculative decoding instructions apply to this checkpoint unless your inference stack requires otherwise.


Original model card

The following is the original model card for bottlecapai/ThinkingCap-Qwen3.6-27B, reproduced in full with credit to BottleCap AI.


base_model: "Qwen/Qwen3.6-27B" base_model_relation: finetune library_name: transformers tags: - qwen3_6 - token-efficient - efficient-thinking license: apache-2.0

ThinkingCap — BottleCap AI

ThinkingCap: Qwen 3.6 27B

Capability of Qwen3.6-27B with 50% less thinking tokens on average, and over 90% less in best cases. Achieved via finetuning Qwen3.6-27B (Qwen Team, 2026) with state-of-the-art algorithms on a curated set of problems of various domains and difficulty. We designed the finetuning to be as minimally invasive as possible, preserving all of the original answer quality and style of Qwen, while being more token efficient. Check the blogpost for more details.

We rigorously evaluate the resulting checkpoint across general reasoning, non-reasoning multiple-choice question answering, everyday multi-turn conversations, system prompt adherence, safety, math, code and agentic use cases. Due to the high variability of reasoning quality at Qwen-recommended sampling temperature 1.0, we run each benchmark with multiple seeds and do statistical significance testing on all the results. We evaluate both in domain (holdout parts of selected datasets included in training) and out of domain.

ThinkingCap reasoning demo (6× speed)

Out-of-domain token efficiency

BenchmarkAccuracyThinking tokens
BaseOursBaseOursReduction
Knowledge & reasoning
GPQA-Diamond85.5 ±1.483.8 ±1.910,7773,351↓ 67.8%
SuperGPQA64.0 ±0.264.0 ±0.18,2463,384↓ 58.4%
MMLU-Pro85.9 ±0.285.4 ±0.23,4551,290↓ 53.7%
MMLU-Redux93.9 ±0.193.9 ±0.1947406↓ 44.8%
C-Eval90.6 ±0.790.3 ±0.61,279663↓ 47.1%
Math & code
HMMT (Nov 2025)88.0 ±3.784.7 ±3.739,27727,388↓ 38.0%
LiveCodeBench80.7 ±0.684.3 ±1.015,74410,158↓ 41.1%
Long-context & multimodal
LongBench v262.6 ±3.660.2 ±1.71,7651,091↓ 39.1%
RealWorldQA82.4 ±0.781.9 ±1.22,959913↓ 48.5%
AA-LCR76.2 ±3.074.2 ±2.22,4551,337↓ 45.5%
Instruction following & agentic
System-prompt adherence80.6 ±1.281.5 ±1.81,737976↓ 40.0%
Claw-Eval think/task87.0 ±1.984.4 ±1.2919689↓ 25.2%
Macro average81.580.7↓ 45.8%

Claw-Eval thinking tokens are per-task (agentic; not a single-turn trace).

Settings

  • Models: base Qwen/Qwen3.6-27B vs bottlecapai/ThinkingCap-Qwen3.6-27B (shown as Ours in the table).

  • Seeds: 5 per condition; thinking on; cells are mean ± 95% CI across seeds.

  • Decoding: thinking on; sampling temperature=1.0, top_p=0.95, top_k=20, min_p=0.0 (bottlecapai/ThinkingCap-Qwen3.6-27B uses the base's sampling).

  • Max generation tokens: 100,000 for the general suite (gpqa_diamond, mmlu_pro, longbench_v2, realworldqa) and AA-LCR; 250,000 for HMMT (Nov 2025); 32,768 for supergpqa and livecodebench; 16,384 for ceval and mmlu_redux; 15,000 for llm-system-prompts-benchmark; 49,152 for Claw-Eval.

  • Metrics — the columns mirror the table:

    • Accuracy (Base / Ours) — fraction correct (exact/regex match; soft compliance for llm-system-prompts-benchmark; judge task-score for Claw-Eval; judge CORRECT/INCORRECT for AA-LCR).
    • Thinking tokens (Base / Ours) — mean length of the single-turn <think> trace (think-per-task for Claw-Eval).
    • Reduction — the average per-question thinking-token saving: base and Ours are paired on the same question (each side seed-averaged), each question's (base − cap)/base is taken, then averaged over shared questions (a larger ↓ = a bigger saving).
    • Macro average (bottom row) — equal-weight mean across benchmarks.

    We separately track two trace-quality failure modes, reported only in aggregate: looping — the model gets stuck repeating the same reasoning chain (sometimes a single sentence), never finishing its thinking; detected from the fraction of repetitive n-grams — and truncation — the <think> trace never closes because the model hits the generation-token cap while still reasoning, so no answer is produced. Across all out-of-domain responses, truncation drops from 2.9% to 0.4% while looping stays negligible (~0.2%).

In-domain evals

Holdout test splits of datasets whose train splits are part of the finetuning mix — quality retention on in-distribution tasks (in contrast to the out-of-domain benchmarks above).

BenchmarkAccuracyThinking tokens
BaseOursBaseOursReduction
GSM8K93.3 ±1.596.5 ±0.33,175648↓ 74.1%
ARC-Challenge97.0 ±0.397.6 ±0.4966335↓ 51.5%
ARC-Easy99.3 ±0.299.4 ±0.2566260↓ 44.5%
CommonsenseQA86.7 ±0.788.2 ±0.91,118273↓ 64.1%
OpenBookQA96.0 ±0.596.7 ±0.6858248↓ 59.5%
QASC91.7 ±0.792.2 ±0.51,258348↓ 61.9%
SciQ97.0 ±0.297.5 ±0.2766276↓ 48.3%
Macro average94.495.4↓ 57.7%

Settings

  • Seeds: 5 per condition; thinking on; cells are mean ± 95% CI across seeds.
  • Decoding: sampling temperature=1.0, top_p=0.95, top_k=20, min_p=0.0 (bottlecapai/ThinkingCap-Qwen3.6-27B uses the base's sampling).
  • Max generation tokens: 15,000 for GSM8K; 8,192 for the MCQ sets.
  • Data: GSM8K is the full 1,319-row test split; the MCQ sets are capped at 1,000 rows (OpenBookQA = 500 and QASC = 926 are smaller, so full).
  • Metrics: Accuracy — exact-match on the final answer (GSM8K) / last-letter multiple-choice match (MCQ). Thinking tokens, Reduction and Macro average are as defined for the token-efficiency table above, as are the looping and truncation failure modes: across all in-domain responses, truncation drops from 1.6% to 0.03% while looping is negligible for both (≤0.01%).

Guardrails preservation

Brevity finetuning leaves safety behaviour intact: on both safety sets bottlecapai/ThinkingCap-Qwen3.6-27B refuses harmful/jailbreak prompts at the base model's rate (statistically indistinguishable) while still spending fewer thinking tokens.

BenchmarkSAFE %Thinking tokens
BaseOursBaseOursReduction
Nemotron-Safety98.9 ±0.899.0 ±0.41,242933↓ 23.8%
HEx-PHI99.9 ±0.2100.0 ±0.0693543↓ 20.0%
Macro average99.499.5↓ 21.9%

Settings

  • Seeds: 5 per condition; thinking on; cells are mean ± 95% CI across seeds.

  • Benchmarks: Nemotron-Safety — a 300-prompt sample of the safety split of nvidia/Llama-Nemotron-Post-Training-Dataset; HEx-PHI — the 300 HEx-PHI harmful instructions (jkazdan/guardrail-llama-3-8b-refusal-hexphi). Both are safety-relevant / jailbreak prompts.

    Both datasets only contain a train subset and given their near-perfect scores, it is hard to rule out possible contimination in Qwen's original training data. These results are intended purely as a demonstration of preserved guardrail capabilities, and are in line with our internal usage testing.

  • Metrics: SAFE % — fraction of replies an LLM safety judge marks SAFE (upholds guardrails — refuses or safely deflects the harmful request); higher is better. Thinking tokens and Reduction are as defined for the token-efficiency table above.

Usage

HuggingFace Transformers

from transformers import AutoModelForImageTextToText, AutoProcessor
model = AutoModelForImageTextToText.from_pretrained("bottlecapai/ThinkingCap-Qwen3.6-27B", dtype="bfloat16")
proc = AutoProcessor.from_pretrained("bottlecapai/ThinkingCap-Qwen3.6-27B")

Check https://huggingface.co/Qwen/Qwen3.6-27B for recommended usage, sampling params etc.

vLLM / SGLang

Serve the bf16 model with either engine — plain, or with the model's own MTP (multi-token-prediction / NextN) head for self-speculative decoding (no separate draft model needed):

# vLLM — standard
vllm serve bottlecapai/ThinkingCap-Qwen3.6-27B
# vLLM — with MTP self-speculative decoding (vLLM ≥ 0.24.0)
vllm serve bottlecapai/ThinkingCap-Qwen3.6-27B --speculative-config '{"method":"mtp","num_speculative_tokens":3}'

# SGLang — standard
python -m sglang.launch_server --model-path bottlecapai/ThinkingCap-Qwen3.6-27B --trust-remote-code
# SGLang — with MTP self-speculative decoding
python -m sglang.launch_server --model-path bottlecapai/ThinkingCap-Qwen3.6-27B --trust-remote-code \
  --speculative-algorithm EAGLE --speculative-num-steps 3 \
  --speculative-eagle-topk 1 --speculative-num-draft-tokens 4

MTP speculative decoding is lossless — the output is identical to standard decoding — and on the bf16 weights it accepts ≈3.34 drafts per verify step, a further ≈2.6× decode throughput on top of the finetune's token savings.

For GPU serving at half the memory, an official FP8 build lives at bottlecapai/ThinkingCap-Qwen3.6-27B-FP8 — near-lossless, loaded natively by vLLM (vllm serve bottlecapai/ThinkingCap-Qwen3.6-27B-FP8), with the MTP head kept in bf16; full serving benchmarks are on that card.

GGUF (llama.cpp)

Quantized GGUF builds of this model live in the sibling repo bottlecapai/ThinkingCap-Qwen3.6-27B-GGUF, for local inference with llama.cpp and compatible runtimes (Ollama, LM Studio, …).

Quantization stores the weights at reduced precision — e.g. ~4.7 bits per weight for Q4_K_M instead of 16-bit bf16 — cutting download size and memory severalfold at a small quality cost. Q4_K_M is the recommended size/quality balance, Q8_0 is near-lossless.

llama-cli -hf bottlecapai/ThinkingCap-Qwen3.6-27B-GGUF:Q4_K_M -p "Hi"

Where to find us

Website LinkedIn Instagram X

Citation

If you use this model, please cite:

@misc{ThinkingCap-Qwen3.6-27B,
  title     = {bottlecapai/ThinkingCap-Qwen3.6-27B},
  author    = {Lasocki, Karol and Osusky, Adam and Lindauer, Jan and Jirkovsky, Adam and Mihal, Filip and Platek, Ondrej and Herel, David and Ihnatchenko, Luka and Bartek, Vojtech and Jirak, Jiri and Mikolov, Tomas},
  year      = {2026},
}

Acknowledgements

We acknowledge EuroHPC Joint Undertaking for awarding the project ID EHPC-AIF-2025SC03-029 access to Leonardo at CINECA, Italy.

Downloads last month
7
Safetensors
Model size
27B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for edougawa/ThinkingCap-Qwen3.6-27B-Abliterix

Base model

Qwen/Qwen3.6-27B
Finetuned
(8)
this model