A compressed-tensors NVFP4 W4A4 release of Blackfrost-AI/Qwen3.8-27B-ABLITERATED-BF16 with the original BF16 vision/video tower and all 15 native BF16 MTP tensors retained and runtime-validated on one RTX 5090.
Release artifact: this repository contains the converted nvfp4-pack-quantized checkpoint. The raw ModelOpt export was an intermediate artifact. Conversion to compressed-tensors is required for the tested Qwen3.8 multimodal + MTP vLLM path.
Quick start — RTX 5090 / Blackwell
Primary runtime: vLLM's Qwen3.8 CUDA 13 build. The packed NVFP4 weights, multimodal path, and native MTP drafter were validated with the pinned image below. Hugging Face may display an automatic 8-bit badge because two FP4 values are physically packed in each U8 storage element; the quantization is NVFP4 W4A4.
Allow roughly 23 GB for the release plus temporary/cache headroom.
Recommended text-only long-context profile — 192K
This is the practical RTX 5090 profile: FP8 KV, one sequence, chunked prefill, prefix caching, native MTP n=3, FlashInfer/CUTLASS NVFP4 GEMM, and the vision graph disabled to preserve KV capacity.
This is a single-concurrency capacity target. Add --enforce-eager when CUDA Graph capture or workspace overhead prevents startup; eager mode trades some performance for lower graph-memory pressure. Start with 192K for a stable operational profile.
Full image/video profile
The vision tower and encoder cache need additional VRAM. This pinned profile is the verified smoke-test configuration:
For multimodal capacity tuning, 32K is the conservative starting point, 64K–96K is the practical target range, and 128K is aggressive on 32 GB. Validate the chosen image/video limits and encoder-cache budget on your runtime before production.
Keep the GPU power limit at the operator-selected 400 W for sustained runs.
flashinfer-cutlass is the preferred NVFP4 GEMM backend on SM120; the validated runtime also logged FlashInferCutlassNvFp4LinearKernel.
FP8 KV is essential for 192K–262K capacity. BF16 KV roughly doubles KV memory.
max_num_seqs=1 reserves capacity for one very long conversation. Increase concurrency only after lowering context or measuring free KV blocks.
Chunked prefill controls peak scheduling pressure for long prompts; prefix caching accelerates repeated prefixes.
expandable_segments:True reduces allocator fragmentation during long-context and multimodal workloads.
Keep MTP at n=3 as the validated speed/acceptance point. Workload-specific acceptance determines the actual gain.
The pinned digest is the compatibility contract. A newer vLLM tag should be revalidated for Qwen3.8, compressed-tensors NVFP4, vision/video, MTP, tool parser, and long-context allocation.
The model card's throughput values come from 4K validation runs. 192K/262K settings are capacity profiles; long-prompt prefill throughput is workload-dependent.
333 tensors retained from the same upstream checkpoint, BF16
MTP head
15 tensors retained from the same upstream checkpoint, BF16
PTQ
NVIDIA Model Optimizer NVFP4 W4A4
Portable packaging
compressed-tensors ModelOptNvfp4Converter
Blackfrost weight-level abliterated/de-risked Qwen3.8-27B BF16 source. This release is an independently calibrated MTP-preserved compressed-tensors derivative and is not an official Blackfrost release.
Real PNG request → HTTP 200: A red square and a blue circle are positioned diagonally on a white background.
Real MP4 request → HTTP 200: A red square and a blue circle are positioned on a white background.
Native MTP drafter loaded; embeddings and LM head shared with target model
Measured single-stream results from 1024-token generations:
Metric
Result
Client-observed generation throughput with MTP
116.5 tok/s
Mean MTP acceptance length
2.55
Per-position acceptance
0.709/0.494/0.345
Average draft acceptance
51.6%
Runtime VRAM during multimodal request
~28,984 MiB
These are local measurements for the stated prompts/configuration. They are reproducibility evidence, not broad quality benchmarks or a guaranteed speedup over every non-MTP setup.
Use the pinned profiles in Quick start for production. The 192K text-only profile is the recommended RTX 5090 long-context setup; 262K is the aggressive single-sequence target. The compact command above remains a readable 32K multimodal example.
Reproduction outline
Load the full BF16 VLM with Qwen3_5ForConditionalGeneration using CPU/disk offload.
Quantize the language model with ModelOpt NVFP4_DEFAULT_CFG.
Calibrate on 20 CNN/DailyMail samples at sequence length 8192.
Keep lm_head, token embeddings, linear_attn.conv1d, visual.*, and mtp.* outside NVFP4.
Export the ModelOpt HF checkpoint.
Retain/graft the 15 MTP tensors from the same upstream source.
Convert ModelOpt tensor conventions to compressed-tensors using ModelOptNvfp4Converter:
weight → weight_packed
input_scale → reciprocal input_global_scale
weight_scale_2 → reciprocal weight_global_scale
Validate image, MP4, text, and MTP n=3 in the exact Qwen3.8 runtime above.
Blackfrost-AI/Qwen3.8-27B-ABLITERATED-NVFP4 — Blackfrost's own ModelOpt NVFP4 release, useful as an adjacent reference; this repository uses a separate calibration/export and preserves a validated BF16 MTP head
All upstream behavioral changes belong to their respective source authors. This repository contributes quantization, packaging, and RTX 5090 runtime validation. It does not claim authorship of Qwen3.8, Heretic/ARA, or Blackfrost's model modifications.