All credit for the quantisation itself goes to
huginnfork — an NVFP4A16 (W4A16) quantisation of
Qwen/Qwen3.8-27B, 28.8 GiB vs 51.7 GiB bf16, MLPs-only (192 modules), with
self_attn,
linear_attn (SSM), the vision tower,
lm_head and the MTP head kept in bf16.
The model weights here are byte-identical to the original. See the original repo for full quantisation methodology and measurements.
Everything else — weights, configs, chat template, preprocessor configs — is untouched.
With truncation disabled, over-length prompts are rejected explicitly by the serving stack (e.g. vLLM's --max-model-len check) instead of being silently truncated, which is the correct failure mode.
1from transformers import AutoTokenizer
2
3tok = AutoTokenizer.from_pretrained("Kritpawit/Qwen3.8-27B-NVFP4A16")
4print(tok.init_kwargs.get("max_length")) # -> None (original: 2048)
5print(tok.model_max_length) # -> 262144
6ids = tok("x " * 5000)["input_ids"]
7print(len(ids)) # -> full length, not capped at 2048