Downloads · 30 days
189
10% of all-time downloads
TelperionAI/Huihui-Qwen3.8-27B-abliterated-NVFP4
Huihui-Qwen3.8-27B-abliterated-NVFP4 is a image-text-to-text model from TelperionAI. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as apache-2.0.
Mixed-precision NVFP4 quantization of huihui-ai/Huihui-Qwen3.8-27B-abliterated, built with llm-compressor.
Downloads · 30 days
189
10% of all-time downloads
All-time downloads
1.9K
Public
Parameters
20.3B
24.7 GB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors24.7 GB · 100%
How the weights are stored.
F8_E4M39.4B · 46%
From the Hugging Face model README
Mixed-precision NVFP4 quantization of
huihui-ai/Huihui-Qwen3.8-27B-abliterated,
built with llm-compressor.
24.7 GB. Calibrated on text generated by this abliterated model itself, not by stock Qwen — see below, it matters.
| component | precision |
|---|---|
mlp.{gate,up,down}_proj, layers 0–55 | NVFP4 (4-bit, group-16, FP8-e4m3 scales) |
mlp.{gate,up,down}_proj, layers 56–63 | FP8 e4m3 |
self_attn.{q,k,v,o}_proj | FP8 e4m3 |
linear_attn.{in_proj_qkv,in_proj_z,out_proj} (GDN) | FP8 e4m3 |
lm_head, embed_tokens, norms, GDN state params, vision tower | BF16 |
AWQ per-input-channel scaling, then AutoRound (SignSGD, block-wise loss, 200 iters) on the NVFP4 MLPs and GPTQ on the 8-bit modules. Requires Blackwell for native NVFP4.
Calibration: self-distilled from the abliterated model on a balanced Nemotron-v2 prompt blend (25% code, 25% math, 20% STEM, 20% chat, 10% multilingual).
Measured against the abliterated BF16 model as its own reference — not stock Qwen — so the numbers reflect quantization damage only, not the effect of abliteration. 142,727 tokens plus 200 free greedy generations. vLLM 0.27.1, TP=2, 2×B300.
| build | size ↓ | top-1 ↑ | near-tie ↓ | moderate ↓ | confident ↓ | certain ↓ | divmed ↑ | tok/s ↑ |
|---|---|---|---|---|---|---|---|---|
| this model (NVFP4 AWQ+AutoRound) | 24.7 GB | 92.98% | 34.02% | 9.83% | 1.80% | 0.20% | 27 | 10702 |
| INT4 sibling (AWQ+GPTQ) | 25.1 GB | 96.45% | 21.76% | 2.92% | 0.88% | 0.12% | 41 | 4551 |
| earlier build (base-model calibration) | 24.7 GB | 91.79% | 37.58% | 11.21% | 3.54% | 0.21% | 20 | 10685 |
Sizes are on-disk tensor bytes and include the ~0.85 GB BF16 MTP head.
Columns. top-1 is raw argmax agreement with the BF16 abliterated model. The bucket
columns are disagreement rates split by how confident the reference was at that position
(top1−top2 logprob margin): near-tie <0.5, moderate 0.5–2, confident 2–5, certain >5.
Only confident and certain are real damage. divmed is the median token index at
which free greedy generation first diverges.
Perplexity is excluded — on this model family it is anti-correlated with quality.
An earlier build of this model used the stock-Qwen calibration set and a weaker recipe, and landed at 3.54% confident damage. Regenerating the calibration from the abliterated model itself brings that to 1.80%.
That also answers a question worth stating plainly: abliterated weights are not intrinsically harder to quantize. With matched recipe and self-distilled calibration this model reaches 1.80% confident damage, against 1.85% for the same recipe on stock Qwen3.8-27B. The earlier gap was the calibration and recipe, not the abliteration.
The INT4 sibling
is more faithful (confident 0.88% vs 1.80%) but decodes at 4551 tok/s against 10702 here.
This build is the throughput choice on Blackwell; the INT4 one is the fidelity choice, and the
only option on Ampere/Ada where FP4 does not exist.
from vllm import LLM
llm = LLM("TelperionAI/Huihui-Qwen3.8-27B-abliterated-NVFP4", tensor_parallel_size=2)
The MTP head is included, in BF16, grafted from the abliterated base (not stock Qwen):
llm = LLM("TelperionAI/Huihui-Qwen3.8-27B-abliterated-NVFP4", tensor_parallel_size=2,
speculative_config={"method": "mtp", "num_speculative_tokens": 2})
Qwen3_5ForConditionalGeneration does not carry mtp.* in its state dict, so
llm-compressor silently drops it even though config.json declares
mtp_num_hidden_layers: 1. It is excluded from quantization via re:.*mtp.*.
Acceptance rate has not been measured; the head is verified to load and generate.