Huihui-Qwopus3.5-27B-v3-abliterated-NVFP4

NVFP4 quantized version of huihui-ai/Huihui-Qwopus3.5-27B-v3-abliterated — an abliterated Qwen 3.5 27B distilled from Claude Opus reasoning patterns (Jackrong/Qwopus3.5-27B-v3).

~51 GB → 19.8 GB. Single NVIDIA Blackwell GPU.

What Makes This Different

Qwopus = Qwen 3.5 + Opus-style reasoning. The base model was trained to produce stable, structured reasoning even at short output lengths — where vanilla Qwen3.5 needs more tokens to reach peak quality.

Characteristic Vanilla Qwen3.5 Qwopus
Short responses (64-256 tok) Quality ramps up slowly Stable from the start
Long responses (2048+ tok) Slightly higher peak Marginally lower peak
Reasoning style Variable Structured "thinking process" chains
Best for Long-form analysis Agents, tool calls, code generation

This makes Qwopus especially suited for agentic workflows where each tool call or code snippet needs to be precise in a short response.

Key Specs

Base model huihui-ai/Huihui-Qwopus3.5-27B-v3-abliterated
Architecture Qwen 3.5 Dense — 27B parameters, 64 layers
Quantization NVFP4 W4A4 (weights FP4, activations FP4, scales FP8)
Format compressed-tensors (native vLLM support)
Tool vllm-project/llm-compressor (main)
Calibration 512 samples, neuralmagic/calibration, seq_len=4096
Size 19.8 GB
Max context 262,144 tokens
MTP Not available (removed during fine-tuning)
Requires NVIDIA Blackwell GPU (SM 120), vLLM nightly (cu130)

Quickstart

vLLM

vllm serve Lna-Lab/Huihui-Qwopus3.5-27B-v3-abliterated-NVFP4 \
    --max-model-len 32768 \
    --reasoning-parser qwen3

With tool calling

vllm serve Lna-Lab/Huihui-Qwopus3.5-27B-v3-abliterated-NVFP4 \
    --max-model-len 32768 \
    --reasoning-parser qwen3 \
    --enable-auto-tool-choice \
    --tool-call-parser qwen3_xml

Docker

docker run --gpus '"device=0"' -p 8016:8016 \
    -v /path/to/model:/models/current:ro \
    --shm-size 16gb \
    vllm/vllm-openai:cu130-nightly \
    vllm serve /models/current --port 8016 --max-model-len 32768 \
    --reasoning-parser qwen3

Benchmark

Single NVIDIA RTX PRO 6000 Blackwell (96 GB VRAM).

Test Tokens Speed Result
Short (derivative) 64 57.7 tok/s PASS — structured reasoning even at 64 tokens
Short (CAP theorem) 128 58.5 tok/s PASS
Mid (LRU cache) 512 57.6 tok/s PASS
Long (architecture analysis) 1710 59.2 tok/s PASS
Container burst 256 61.1 tok/s PASS — 3 runs stable

Sustained: ~59-61 tok/s (single GPU).

Quantization Details

Recipe

recipe = QuantizationModifier(
    targets=["Linear"],
    ignore=["lm_head", "re:.*visual.*", "re:.*in_proj_a$", "re:.*in_proj_b$"],
    scheme="NVFP4",
)

Calibration

Reproduction

from transformers import Qwen3_5ForConditionalGeneration, AutoProcessor, AutoTokenizer
from datasets import load_dataset
from llmcompressor import oneshot
from llmcompressor.modifiers.quantization import QuantizationModifier
import torch

MODEL_ID = "huihui-ai/Huihui-Qwopus3.5-27B-v3-abliterated"
OUTPUT = "Huihui-Qwopus3.5-27B-v3-abliterated-NVFP4"

model = Qwen3_5ForConditionalGeneration.from_pretrained(MODEL_ID, dtype="auto", trust_remote_code=True)
processor = AutoProcessor.from_pretrained(MODEL_ID, trust_remote_code=True)

recipe = QuantizationModifier(
    targets=["Linear"],
    ignore=["lm_head", "re:.*visual.*", "re:.*in_proj_a$", "re:.*in_proj_b$"],
    scheme="NVFP4",
)

ds = load_dataset("neuralmagic/calibration", name="LLM", split="train[:512]")

def preprocess(example):
    messages = [
        {"role": m["role"], "content": [{"type": "text", "text": m["content"]}]}
        for m in example["messages"]
    ]
    return processor.apply_chat_template(
        messages, return_tensors="pt", padding=False, truncation=True,
        max_length=4096, tokenize=True, add_special_tokens=False,
        return_dict=True, add_generation_prompt=False,
    )

ds = ds.map(preprocess, batched=False, remove_columns=ds.column_names)

def data_collator(batch):
    assert len(batch) == 1
    return {
        key: (torch.tensor(value) if key != "pixel_values"
              else torch.tensor(value, dtype=torch.bfloat16).squeeze(0))
        for key, value in batch[0].items()
    }

oneshot(
    model=model, recipe=recipe, dataset=ds,
    max_seq_length=4096, num_calibration_samples=512,
    data_collator=data_collator,
)

model.save_pretrained(OUTPUT, save_compressed=True)
processor.save_pretrained(OUTPUT)

Note: No save_mtp_tensors_to_checkpoint needed — Qwopus does not have MTP head (removed during fine-tuning).

Environment

Package Version
torch 2.11.0+cu130
transformers 5.5.4
llmcompressor 0.1.dev (main @ 3084520)
compressed-tensors 0.15.1a20260414
CUDA 13.0

Requirements

  • GPU: NVIDIA Blackwell (SM 120)
  • VRAM: ~20 GB minimum
  • Software: vLLM nightly (cu130)

Notes

  • Abliterated (uncensored). Use responsibly.
  • Vision tower preserved in BF16.
  • No MTP head — speculative decoding not available for this variant.
  • NVFP4 is Blackwell-specific. Will not work on Ampere/Hopper.

Credits

Support the Base Model Author

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

Model tree for sakamakismile/Huihui-Qwopus3.5-27B-v3-abliterated-NVFP4