--- license: apache-2.0 base_model: Qwen/Qwen3.5-9B pipeline_tag: text-generation tags: - nvfp4 - rtn - quantization - compressed-tensors - vllm --- # Qwen3.5-9B-NVFP4-RTN RTN(+act-calib) NVFP4 quantization of Qwen/Qwen3.5-9B in vLLM compressed-tensors `nvfp4-pack-quantized` format, **full W4A4 schema** (static input-activation scales included; default load serves W4A4 on SM100+). The weights are byte-exact RTN — no training step was taken. 9B companion of [Qwen3.5-27B-NVFP4-RTN](https://huggingface.co/weili-0234/Qwen3.5-27B-NVFP4-RTN), produced by the identical recipe. ## How this checkpoint was produced — exact reproduction | | | |---|---| | Producing repo | [tonyzhang-together/QATFactory](https://github.com/tonyzhang-together/QATFactory) @ `096f2ae` | | Base model | [Qwen/Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B) (dense `qwen3_5`, bf16) | | Weights | **RTN, no training**: base bf16 weights rounded to the NVFP4 lattice by the same exporter used for all QAD checkpoints in this series (verified byte-identical to llm-compressor `model_free_ptq` at 9B) | | Activation scales | Forward-only single-GPU calibration (`nvfp4_rtn_act_calib.py`): the training stack's own input-scale lifecycle (apply_fake_quant -> running amax -> commit at 20 step boundaries -> finalize) over 640 sequences (20x32) of the md5-pinned train corpus `openperfectblend_100k_Qwen3.5-9B_think_train.jsonl` (md5 `0406bb3a7a482352360716a1bc5e9e04`), max_seq 8192 | | Export | `scripts/export_nvfp4_vllm.py --source --model-assets Qwen3.5-9B` (a4schema) | | Hardware | 1xB200 (jbom-03), 2026-07-27 | | Role | Weak-PTQ baseline row of the Qwen3.5-9B standardized campaign; results filed in [qatfactory-experiments](https://github.com/Weili-0234/qatfactory-experiments) `qwen3.5-9b/` | ## Inference `vllm >= 0.25.1` serves this checkpoint W4A4 by default on SM100+ (B200): ```bash vllm serve weili-0234/Qwen3.5-9B-NVFP4-RTN --max-model-len 33024 ```