How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("image-text-to-text", model="Starw1/Qwen3.8-27B-absolute-heresy-W4A16")
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
            {"type": "text", "text": "What animal is on the candy?"}
        ]
    },
]
pipe(text=messages)
# Load model directly
from transformers import AutoProcessor, AutoModelForMultimodalLM

processor = AutoProcessor.from_pretrained("Starw1/Qwen3.8-27B-absolute-heresy-W4A16")
model = AutoModelForMultimodalLM.from_pretrained("Starw1/Qwen3.8-27B-absolute-heresy-W4A16", device_map="auto")
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"},
            {"type": "text", "text": "What animal is on the candy?"}
        ]
    },
]
inputs = processor.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=40)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

Qwen3.8-27B W4A16 (AutoRound)

A 4-bit weight-only quant of MuXodious/Qwen3.8-27B-absolute-heresy, packed in the compressed-tensors format and tuned for single-GPU inference on a 24 GB card (RTX 3090).

  • Parameters: ~28 B (27.99 B logical; base model is 27B-class)
  • On disk: 15.79 GB (14.71 GiB)
  • Weights in VRAM: ~14.71 GiB — leaving room for the KV cache, activations, and CUDA graphs on a 24 GB card

Quantized with the script in syv-ai/qwen38-27b-rtx3090 → single-user.

Quantization

  • Scheme: W4A16 — 4-bit integer weights, 16-bit activations
  • Method: AutoRound, symmetric, group_size=128, pack-quantized
  • Format: compressed-tensors (quant_method: compressed-tensors)
  • Vision tower: left in bf16 (visual blocks are in the quant ignore list), so image understanding is preserved

Serving with vLLM

This is a multimodal (text + image) model. It also ships MTP draft weights, so you can run multi-token prediction for speculative decoding.

Quick start

vllm serve Starw1/Qwen3.8-27B-absolute-heresy-W4A16 \
  --gpu-memory-utilization 0.97 \
  --max-model-len 140000 \
  --kv-cache-dtype fp8 \
  --speculative-config '{"method":"mtp","num_speculative_tokens":5}' \
  --limit-mm-per-prompt '{"image":4,"video":0}'

Full config (RTX 3090, 24 GB)

The config I actually run on my 3090: ~100 tokens/s single-stream and ~200 tokens/s across two concurrent streams, with 24 GB of host RAM caching evicted KV blocks to cut prompt reprocessing. It leans on fp8 KV cache, MTP speculative decoding, a hybrid Mamba cache, and prefix caching:

vllm serve Starw1/Qwen3.8-27B-absolute-heresy-W4A16 \
  --served-model-name qwen3.8-27b \
  --host 0.0.0.0 --port 8000 \
  --gpu-memory-utilization 0.97 \
  --max-model-len 140000 \
  --max-num-seqs 2 \
  --max-num-batched-tokens 2048 \
  --kv-cache-dtype fp8 \
  --enable-prefix-caching \
  --enable-cumem-allocator \
  --async-scheduling \
  --mamba-ssm-cache-dtype float16 \
  --mamba-cache-mode align \
  --limit-mm-per-prompt '{"image":4,"video":0}' \
  --speculative-config '{"method":"mtp","num_speculative_tokens":5,"draft_sample_method":"probabilistic"}' \
  --compilation-config '{"max_cudagraph_capture_size":32,"custom_ops":["+rms_norm","+silu_and_mul"]}' \
  --reasoning-parser qwen3 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --chat-template chat_template.jinja \
  --watermark 0.1 \
  --kv-transfer-config '{"kv_connector":"OffloadingConnector","kv_role":"kv_both","kv_load_failure_policy":"recompute","kv_connector_extra_config":{"cpu_bytes_to_use":25769803776}}'

Notes:

  • chat_template.jinja is bundled in this repo; vLLM also picks it up automatically, so the flag is only needed if you override it.
  • CPU KV-offload (OffloadingConnector, cpu_bytes_to_use ≈ 24 GiB) keeps evicted KV-cache blocks in host RAM, so a returning prompt prefix is loaded back from CPU instead of being recomputed — less prompt reprocessing / faster prefill on cache hits. It does not raise the maximum context length (that's set by --max-model-len and the GPU KV budget). Drop it if you're short on system RAM.
  • --kv-cache-dtype fp8 is what makes 140k context fit alongside the ~14.7 GiB of weights on a single 24 GB card.

Links

Quantized weights only — see the source model card for architecture, training, and license details.

Downloads last month
70
Safetensors
Model size
28B params
Tensor type
I32
·
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Starw1/Qwen3.8-27B-absolute-heresy-W4A16

Base model

Qwen/Qwen3.8-27B
Quantized
(5)
this model