← models

Uncensored Models · released 2026-05-21

Qwen3.6-40B Deckard Uncensored

W4A16 AWQ quant of DavidAU's 40B Opus-distilled Deckard checkpoint, sized for 2× V100, plus a Hermes-calibrated tool-use build.

gsm8k
0.99 gsm8kn=100; factual recall 1.0
τ-bench retail
0.783 τ-bench retail90/115, zero infra errors
refused
13/15 refusedfabricated-entity prompts (confab 0.133)
tok/s
18 / 60 / 80 tok/sat concurrency 1 / 4 / 16 on 2× V100

This was the first uncensored model I shipped. The uncensoring is not mine: the base is DavidAU's Qwen3.6-40B Deckard, a dense 40B that was already Heretic-abliterated and distilled against Claude Opus on top of a layer-expanded Qwen3.6. What I did was make it serve on a pair of 32 GB V100s, which meant quantizing it to 4-bit without losing the behavior that makes it worth running.

The published build is W4A16 AWQ in compressed-tensors: 4-bit asymmetric weights at group 128 with an MSE observer, the MTP head kept in high precision for speculative decoding. There are two repos. The base quant is calibrated on ultrachat; a second build is calibrated on a Hermes function-calling set, which is the one I serve for tool-use and the one the agentic numbers below were measured on. Both run on upstream 1Cat-vLLM, tensor-parallel across two cards.

I spent most of the effort proving the 4-bit quant did not quietly degrade the model, and checking whether a MoE or an FP8 build would be a better fit for the same two cards. The quant holds: gsm8k 0.99, factual 1.0, and a τ-bench retail agentic score of 0.783, all judged by grok-4.3 on a locked harness. The dead ends are written up below.

runs on
2× V100Tesla V100 32GB
engine
1Cat-vLLM (SM70) · 1Cat-vLLM 1.5.1 (latest upstream release)
stack
  • llm-compressor (AWQ W4A16)
  • 1Cat-vLLM (SM70)
  • MTP speculative decoding
  • FP8 E5M2 KV cache
  • GatedDeltaNet (base-intrinsic)

01

Research log

  1. First W4A16 quant published

    Quantized DavidAU's 40B Deckard checkpoint to W4A16 AWQ, asym g128 with an MSE observer, MTP head kept high-precision, and published it. First uncensored model I shipped, and the start of the V100 track.

  2. Recipe sweep

    Worked through the 4-bit recipe space: group 32 vs 128, GPTQ vs AWQ, SpinQuant, mixed precision, and several calibration corpora. MSE-observer AWQ at group 128 won on served behavior and became the production recipe.

  3. Quant-degradation check

    Ran a weight-space diff against BF16. It flagged q/k/v at about 5.5 dB SNR with o_proj pristine, but gsm8k 0.99 and factual 1.0 confirmed behavior intact. Logged the lesson: raw-weight SNR does not predict behavioral harm under AWQ.

  4. Hermes-calibrated build

    Re-calibrated on a Hermes function-calling set to sharpen tool-use and published it as the agentic build. This is the one I serve.

  5. gsm8k budget trap

    gsm8k scored 0.40 until I realized the default generation budget was truncating the model's chain of thought. Raised max_gen_toks to 3072 and it jumped to 0.99. The model was never wrong; the harness was cutting it off.

  6. Agentic harness fixed and locked

    Standardized the τ-bench user-sim on grok-4.3, then chased two bugs: a 120 s timeout turning long thinking into false failures, and the user-sim stopping instead of confirming writes. With a 1200 s timeout and a patched user-sim, locked the harness and re-ran the full 115-task retail set.

  7. Agentic final and MoE comparison

    Deckard W4A16 landed at τ-bench 0.783 (90/115), zero infra errors. A 4-bit MoE comparison hallucinated less and ran ~2× faster but lost on reasoning and agentic, and was a different lineage, so it is a serving choice rather than a clean quant comparison.

  8. FP8 explored, 4-bit kept

    An FP8+MTP build of the lineage served on V100 and beat 4-bit throughput at concurrency 16, at equal quality, but its larger footprint cannot hold the KV and GatedDeltaNet state at production concurrency and gives up context. Confirmed 4-bit plus MTP as the right fit for two cards.

built on the work of

  • DavidAU for the Qwen3.6-40B Deckard checkpoint: the Opus distillation, the Heretic abliteration, and the layer expansion are all theirs.
  • The Qwen team for the Qwen3.6 base under it.
  • p-e-w for Heretic, used upstream in the base checkpoint's abliteration.
  • The llm-compressor project for the AWQ W4A16 path.
  • Nous Research for the Hermes function-calling data behind the tool-use calibration.
  • 1CatAI for 1Cat-vLLM and its SM70 V100 serving paths.
  • Sierra Research for τ-bench, the agentic harness.

02

Get it running

you'll need

  • 2× V100 32GB, tensor-parallel 2. The W4A16 weights are about 38 GB, roughly 19 GB per card, which leaves room for the KV cache and the GatedDeltaNet runtime state.
  • fp8_e5m2 KV cache and MTP speculative decoding are part of the served config.
  • Also runs on stock vLLM on Ampere and newer.
  1. 1

    Pick a build

    Use the Hermes-calibrated repo for tool-use and agentic work; it is the one I serve and the one the agentic numbers were measured on. The base ultrachat-calibrated repo is the plain quant. Both are the same 4-bit recipe and the same size.

  2. 2

    Download the weights

    About 38 GB. Point the server at the local directory.

    shell
    hf download philbert440/Qwen3.6-40B-DeckardUncensored-OpusDistilled-HermesCalibrated-W4A16-AWQ --local-dir ./deckard-40b-hermes

    Hermes-calibrated build (Hugging Face)Base quant

  3. 3

    Install the engine

    Install the current upstream 1Cat-vLLM release (1.5.1). No fork is needed; the SM70 FLASH_ATTN_V100 attention and the TurboMind W4A16 path are in the stock wheel. On Ampere or newer it also runs on stock vLLM.

    1Cat-vLLM releases

  4. 4

    Serve on 2× V100

    Tensor-parallel 2 with FLASH_ATTN_V100, TurboMind W4A16, fp8_e5m2 KV, and MTP speculative decoding. One thing to know for benchmarks: this is a thinking model, so give it room. gsm8k needs max_gen_toks of at least 3072; truncating the chain of thought at 2048 drops the score to 0.40 as an artifact, not a real regression.

    shell
    export VLLM_SM70_FLASH_ATTN_V100=1 VLLM_SM70_QUANT_BACKEND=turbomind
    python -m vllm.entrypoints.openai.api_server \
      --model philbert440/Qwen3.6-40B-DeckardUncensored-OpusDistilled-HermesCalibrated-W4A16-AWQ --trust-remote-code --dtype half \
      --attention-backend FLASH_ATTN_V100 --tensor-parallel-size 2 \
      --kv-cache-dtype fp8_e5m2 --max-num-seqs 6 \
      --speculative-config '{"method":"mtp","num_speculative_tokens":4,"attention_backend":"FLASH_ATTN_V100","draft_sample_method":"greedy"}' \
      --compilation-config '{"cudagraph_mode":"full_and_piecewise","cudagraph_capture_sizes":[1,2,4,8]}'

    Model card: serve

03

Downloads

VariantFormatRuns onSizeDL / 30d
Hermes-calibrated — the tool-use / agentic build
philbert440/Qwen3.6-40B-DeckardUncensored-OpusDistilled-HermesCalibrated-W4A16-AWQ
W4A16 AWQ (compressed-tensors), asym g1282× V10037.7 GB96
Base quant — ultrachat calibration
philbert440/Qwen3.6-40B-DeckardUncensored-OpusDistilled-W4A16-AWQ
W4A16 AWQ (compressed-tensors), asym g1282× V10037.7 GB73

04

Inference stack

Runs on upstream 1Cat-vLLM, no fork. Serve with the SM70 FLASH_ATTN_V100 backend and the TurboMind W4A16 path.

The base checkpoint's GatedDeltaNet layers are kept as-is: there is no better SM70 kernel for them, and swapping them out would be a different model and lose the long-context behavior.

Benchmarks were run under 1Cat-vLLM on 2× V100; the current upstream release is 1.5.1.

05

Recipe

5.1What came from the base checkpoint

The uncensoring, the Opus distillation, and the layer expansion are all in DavidAU's checkpoint, not mine. It is a dense 40B: a Qwen3.6 base expanded in depth and then Opus-distill-trained across the whole network, Heretic-abliterated, with a thinking mode and GatedDeltaNet layers. I treat it as the source and credit it as such.

My job was to get it onto two V100s without losing that. So the recipe here is a quantization recipe, not an uncensoring one.

5.2Quantization (AWQ W4A16)

llm-compressor AWQModifier, 4-bit asymmetric, group size 128, MSE observer. I searched the recipe space fairly widely before settling: group size 32 against 128, GPTQ against AWQ, SpinQuant, mixed precision, and several calibration corpora. MSE-observer AWQ at group 128 won on served behavior.

Only the attention projections and the MLP are quantized; the GatedDeltaNet layers, the vision tower, and the MTP head are kept in high precision. A weight-space diff against BF16 flagged the q/k/v projections as the worst hit at around 5.5 dB SNR, with o_proj essentially pristine — but the served behavior is intact, which is the point: AWQ's smoothing games raw-weight SNR, so weight-space error does not predict behavioral harm here.

The base quant is calibrated on ultrachat. The Hermes build re-calibrates on a Hermes function-calling set to sharpen tool-use, and it is the one I serve and benchmark for agentic work.

5.3Serve

Served through 1Cat-vLLM on the SM70 FLASH_ATTN_V100 backend with the TurboMind W4A16 path, tensor-parallel across both cards, an fp8_e5m2 KV cache, and MTP speculative decoding. The 4-bit footprint of about 19 GB per card is what lets it serve at concurrency 16; that footprint, not quality, is why 4-bit beat the alternatives for this hardware.

06

Results

Served quality

W4A16 quant, served on the V100 pair, all axes judged by grok-4.3 on a locked HF-free harness. gsm8k is 5-shot n=100 and needs max_gen_toks ≥ 3072. Confabulation and factual sets are 15 prompts each.

AxisScoreNote
gsm8k (5-shot, n=100)0.990.40 at max_gen_toks 2048 is a truncation artifact
Factual recall (n=15)1.00 wrong
Confabulation (n=15) ↓0.133refused 13/15; 2 fabricated
Agentic τ-bench retail (n=115)0.78390/115, 0 infra errors

measured on: 2× V100 32GB, 1Cat-vLLM (SM70), grok-4.3 judge

τ-bench retail by task type

Breakdown of the 0.783 agentic run. Strong on mechanics; it degrades on compound and must-calculate tasks.

Task typePass rate
Read-only / lookup9/9 (1.00)
Return19/21 (0.90)
Exchange20/25 (0.80)
Modify25/34 (0.74)
Cancel5/8 (0.62)
Numeric-output (refund totals)0.72 vs 0.81 on others

measured on: 2× V100 32GB, 1Cat-vLLM (SM70), grok-4.3 user-sim, 115 retail tasks

Throughput on the V100 pair

Output tokens per second, random 512-in / 256-out, by concurrency.

ConcurrencyOutput tok/sNote
118TTFT ~0.6 s
460saturates around 4-8 streams
1680TTFT ~10 s

measured on: 2× V100 32GB, 1Cat-vLLM (SM70), W4A16 + MTP

07

Findings

  • The W4A16 quant is not noticeably degraded against BF16. gsm8k 0.99 and factual 1.0 settle it; the weight-space SNR scare on q/k/v did not translate into behavioral harm because AWQ smoothing games exactly that metric.
  • The gsm8k 0.40 I first saw was a harness artifact, not the model. This is a thinking model, and the default generation budget truncated its chain of thought. Raising max_gen_toks to 3072 gave 0.99. The same class of trap hit later FP8 runs where a short generation budget or an early stop token read as a wrong answer.
  • The agentic harness needed two fixes before the number meant anything. A 120 s request timeout was turning the model's long multi-turn thinking into false reward-zero failures, and the grok-4.3 user-sim was emitting a stop token when the model asked for the confirmation that retail policy requires, instead of answering yes. With a 1200 s timeout and a patched user-sim, the clean run came in at 0.783.
  • Where it actually fails on τ-bench: compound and conflicting multi-operation tasks, and tasks that require computing and reporting an exact refund total. It nails authentication, lookups, single writes, and confirmation; it drops precision and completeness on the hard compound cases.
  • An FP8 build of the same lineage with MTP turned out to serve on V100 after the fork added a dense SM70 FP8 path, and at concurrency 16 it beat the 4-bit prod throughput (about 112 against 80 tok/s) at equal quality. But FP8's ~43 GB footprint leaves too little room for KV and the GatedDeltaNet state at production concurrency, and it cannot reach the context the 4-bit build serves. 4-bit plus MTP stays the right fit for two cards.
  • A MoE alternative at the same 4-bit (a community Qwen3.6-35B-A3B) hallucinated less (confab 0.067) and ran roughly twice as fast, but scored lower on reasoning and agentic (gsm8k 0.95, τ-bench 0.687). It is a different checkpoint and lineage, so it answers which to serve, not dense-versus-MoE in isolation.
  • Dense FP8 without MTP, 8-bit on V100 generally, and a per-channel compressed-tensors FP8 build were all dead ends on this hardware: no SM70 kernel, or the quant scheme is gated above compute capability 70. That is the wall that makes 4-bit the move.
  • The quant inherits one deterministic quirk from the base: a reproducible typo on a narrow internal-vocabulary identifier that survives every calibration and stack change, so it is intrinsic to the model, not the quant. A LoRA fix was scoped but not shipped, so it is not in these numbers.