Views
No views yet
comfy_quant format,
intended for use as a Qwen3-VL text encoder wherever one is needed.This model is a decensored derivative of the official Qwen/Qwen3-VL-8B-Instruct, modified using Heretic.
Vision kept in FP16: ComfyUI's qwen3vl text-encoder does run the vision tower in image/multimodal workflows (sd1_clip.process_tokens→Qwen3VL.preprocess_embed→self.visual), and the vision tower is small but image-quality-sensitive, so leaving it in FP16 preserves visual conditioning fidelity at a modest size cost. This matches the stock Qwen3-VL-8B NVFP4 baseline, which also ships vision in bf16.
convert_to_quant v1.2.6 (comfy_kitchen CUDA NVFP4 kernels)comfy_quant mixed precision
float8_e4m3fn, tensorwise, RTN) — embed_tokens and lm_headbfloat16) — model.norm, all norms/biases, pos_embed,
patch_embed, and the entire vision encoder (blocks, merger,
deepstack_merger_list)input_scale: ComfyUI quantizes activations dynamically at runtime
(per-tensor amax via the NVFP4 layout), so a baked-in activation scale is not
required. This matches the stock Qwen3-VL NVFP4 baseline.| Tier | Layers | Count |
|---|---|---|
| FP16 (bf16) | model.norm, all norms/biases, pos_embed, patch_embed, entire vision encoder | kept lossless |
| FP8 (e4m3fn, tensorwise) | embed_tokens, lm_head | 2 weights |
| NVFP4 (E2M1, block=16) | all text blocks 0–35 projections | 252 weights |
pick_operations gates each
format on the device capability):| GPU (SM) | NVFP4 layers | FP8 layers |
|---|---|---|
| RTX 5090 / Blackwell (12.0) | native FP4 tensor cores (fast) | native FP8 |
| RTX 4090 / Ada (8.9) | dequantized to bf16 (size only, no speedup) | native FP8 |
comfy_kitchen's
TensorCoreNVFP4Layout GEMM (FP4 weight × dynamically-quantized FP8 activation).
On non-Blackwell GPUs the format is emulated via dequantization, so you get the
smaller footprint but not the FP4 speedup.qwen3_vl_8b_nvfp4_full.safetensors in ComfyUI/models/text_encoders/.CLIPLoader node using type qwen3vl_8b, and use it anywhere a
Qwen3-VL text encoder is needed.Found quantization metadata version 1) and selects MixedPrecisionOps. The vision weights are included
(unquantized) so detect_te_model() identifies the file as QWEN3VL_8B and
routes to qwen3vl.te() correctly.