Views
No views yet
| Source weights | 58 GB BF16 (15 shards) |
| HLWQ Q5+INT4 weights | 18.3 GB (3.2× smaller) |
| Inference speed | 23 tok/s sustained |
| KV cache at 200 tok | 9.5 MB (HLWQ Q3) vs ~13 MB FP16 |
| Quality | 100% token-match vs FP16 baseline |
| MTP draft accuracy | 79.0% top-1 / 97.5% top-5 |
transformers main, BF16 path, SDPA attention.



Qwen3_5ForConditionalGeneration — hybrid linear+full attention, multimodal, MTP headlinear_attention + 16 full_attention (pattern [L,L,L,F]×16)head_dim=256, hidden_size=5120, GQA (24 Q heads / 4 KV heads)mtp_num_hidden_layers=1) for speculative decoding1BF16 weights (58 GB)
2 │
3 ▼
4HLWQ Q5: Hadamard rotation + Lloyd-Max 32-centroid quantization (block=128)
5 │
6 ▼
7Dequantize per-Linear → BF16
8 │
9 ▼
10torchao Int4WeightOnlyConfig(group_size=128) on aligned text Linears
11 │
12 ▼
13HLWQ Q3 KV cache during generation (bit-packed, head_dim=256)
14 │
15 ▼
16Generation at ~23 tok/s on consumer-class GPUpip install polarquant1import polarengine_vllm # auto-registers with transformers
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4REPO = "caiovicentino1/Qwopus3.6-27B-v2-HLWQ-Q5"
5tok = AutoTokenizer.from_pretrained(REPO)
6model = AutoModelForCausalLM.from_pretrained(REPO, device_map="auto", dtype="bfloat16")
7
8inputs = tok.apply_chat_template(
9 [{"role": "user", "content": "Explain quantum entanglement in two paragraphs."}],
10 add_generation_prompt=True, return_tensors="pt", return_dict=True,
11).to(model.device)
12
13out = model.generate(**inputs, max_new_tokens=300, do_sample=False)
14print(tok.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))| GPU | VRAM | Fits | Notes |
|---|---|---|---|
| RTX 6000 Pro Blackwell | 96 GB | ✅ | Validated at 23 tok/s |
| A100 80 GB | 80 GB | ✅ | Full speed expected |
| A100 40 GB | 40 GB | ✅ | Full speed expected |
| RTX 6000 Ada | 48 GB | ✅ | Full speed expected |
| RTX 4090 | 24 GB | ⚠️ | Tight, use HLWQ Q3 KV |
| RTX 3090 | 24 GB | ⚠️ | Tight, use HLWQ Q3 KV |
nn.Linear is rotated by a 128×128 Walsh-Hadamard matrix, scaled by √128, then assigned to the nearest of 32 Lloyd-Max centroids (computed for a unit Gaussian). Codes are bit-packed (5 bits → 0.625 byte/weight).model.language_model. to match the base model's safetensors key layout.