Downloads · 30 days
2K
30% of all-time downloads
Avesed/Qwen3.8-27B-INT4-W4A16
Qwen3.8-27B-INT4-W4A16 is a image-text-to-text model from Avesed. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
INT4 weight-only (W4A16) quantization of Qwen/Qwen3.8-27B — a dense hybrid model (GatedDeltaNet linear-attention + periodic full-attention) with a native vision tower and an MTP head.
Downloads · 30 days
2K
30% of all-time downloads
All-time downloads
6.7K
Public
Parameters
27.4B
20.6 GB on disk
Likes
3
Public
Click a slice to open those files.
.safetensors20.6 GB · 100%
How the weights are stored.
I3224.3B · 89%
From the Hugging Face model README
INT4 weight-only (W4A16) quantization of Qwen/Qwen3.8-27B — a dense hybrid model (GatedDeltaNet linear-attention + periodic full-attention) with a native vision tower and an MTP head.
At BF16 the base model needs ~56 GB and does not fit two 24 GB cards. This checkpoint is ~20 GB, so the weights fit on a single 24 GB GPU and leave room for a large KV cache at tensor-parallel 2.
self_attn, and the GatedDeltaNet out_proj.in_proj_a/in_proj_b, lm_head, embeddings, vision tower, MTP head.compressed-tensors (pack-quantized). Full recipe: recipe.yaml.The MTP head is included (mtp.safetensors, bf16) and is listed in quantization_config.ignore, so vLLM loads it unquantized and speculative decoding works out of the box. Quantizers silently drop this head — if you re-quantize the base yourself, graft it back or spec-decode will accept 0 %.
Served with vLLM tensor-parallel 2 on 2 × RTX 3090 and exercised over the OpenAI API:
reasoning_effort (low / xhigh) and enable_thinking pass through correctly.GSM8K: 96.4 % (241/250). Served with vLLM tp2 and scored over the OpenAI API — thinking
enabled, the base model's recommended sampling (temperature=1.0, top_p=0.95, top_k=20), default
reasoning_effort, max_tokens=24576, and the question suffixed with "Put your final numeric
answer inside \boxed{}". The same protocol scores the INT8-W8A8 build of this model at 96.8 %
(242/250), i.e. the two are indistinguishable at this sample size.
Note the protocol matters more than it looks: without the \boxed{} instruction this model often
states the answer in bold and then keeps talking, so a "last number in the answer" extractor scores
many correct answers wrong (the same 250 questions land at ~90 % that way). MMLU-Pro has not been
run on this checkpoint.
2 × RTX 3090, tensor-parallel 2, single stream, prefix caching disabled, no speculative decoding:
| Context | W4A16 decode | W4A16 prefill | W4A8 prefill |
|---|---|---|---|
| 4k | 69.5 tok/s | 2390 tok/s | 3963 tok/s |
| 16k | 66.5 tok/s | 2331 tok/s | 3801 tok/s |
| 32k | 63.4 tok/s | 2197 tok/s | 3436 tok/s |
Decode is int4-weight bandwidth-bound and is the same for W4A16 and W4A8; the int8 activation path buys +61 % … +70 % prefill.
# W4A16 — int4 weights, fp16 activations
vllm serve Avesed/Qwen3.8-27B-INT4-W4A16 \
--tensor-parallel-size 2 --trust-remote-code --reasoning-parser qwen3
On Ampere the same checkpoint can be served as W4A8 (int4 weights + int8 dynamic activations — faster prefill and batched serving) with the vllm-ampere-optimized fork:
vllm serve Avesed/Qwen3.8-27B-INT4-W4A16 \
--tensor-parallel-size 2 --marlin-input-dtype int8 --trust-remote-code --reasoning-parser qwen3
Add --speculative-config '{"method":"mtp","num_speculative_tokens":2}' to use the MTP head.
Sampling follows the base model: thinking temperature=1.0, top_p=0.95, top_k=20; non-thinking temperature=0.7, top_p=0.80, top_k=20, presence_penalty=1.5.
Quantized with vllm-ampere-optimized/quantize.