| --- |
| license: apache-2.0 |
| base_model: krea/Krea-2-Turbo |
| tags: |
| - comfyui |
| - quantization |
| - int4 |
| - w4a4 |
| - convrot |
| - krea2 |
| --- |
| |
| # Krea-2 Turbo β INT4 tensorwise W4A4 (+ConvRot, mixed int8 fallback) |
|
|
| **W4A4** quantization of [Krea-2 Turbo](https://huggingface.co/krea/Krea-2-Turbo) |
| (bf16 source: [Comfy-Org/Krea-2](https://huggingface.co/Comfy-Org/Krea-2)): |
| packed signed INT4 weights with group-256 regular-Hadamard **ConvRot** rotation |
| (arXiv [2512.03673](https://arxiv.org/abs/2512.03673)), activations rotated online |
| and dynamically quantized inside the kernel. Calibration-free. |
|
|
| Mixed recipe: 224 block Linears = **128 INT4 + 96 int8_tensorwise fallback**, |
| selected by measured per-layer sensitivity: each layer was swapped alone to |
| W4A4 on real sampling inputs, ranked by final-output drift, then chosen by |
| impact-per-byte at a fixed size budget (all `wv`/`wk`, 27/28 `wo`, the most |
| sensitive `mlp.down`/`gate`/`wq` layers). +0.95 dB over the class-heuristic |
| recipe at identical size and speed. The shared modulation projector `tproj` |
| and the text-fusion transformer stay bf16. |
| |
| ## Samples |
| |
|  |
| |
| Same seed/prompt, BF16 top vs INT4-mixed bottom. Few-step turbo sampling amplifies trajectory divergence (composition shifts) while style, detail and lighting stay at parity β no quantization artifacts. |
| |
| ## β οΈ Runtime requirement |
| |
| Needs the `int4_tensorwise` runtime, which is **not in any released ComfyUI / |
| comfy-kitchen yet**. In-flight: |
| [comfy-kitchen PR #63](https://github.com/Comfy-Org/comfy-kitchen/pull/63) |
| (kernels + layout) and the |
| [ComfyUI loader branch](https://github.com/HK416-TYPED/ComfyUI/tree/feat/int4-tensorwise-loader) |
| β to try this checkpoint today, run that ComfyUI branch with the PR's |
| comfy-kitchen branch on `PYTHONPATH` (or installed). On a stock release it |
| fails with a clear "format not available" error. |
| |
| ## Measurements (NVIDIA L4 / SM 8.9, 1024x1024, 8 steps, cfg 1.0, 3 prompts) |
| |
| | checkpoint | per image | |
| | --- | --- | |
| | **this model (int4 mixed)** | **18 s** | |
| | bf16 | 24 s | |
|
|
| Weights: **9.25 GB** vs 28 GB bf16 (β67%) β fits a 24 GB card with headroom where |
| bf16 needs weight streaming. PSNR vs bf16 (same seed): 17.7 dB (min 14.5) β few-step turbo models amplify trajectory divergence; visual inspection shows style/quality parity with composition shifts, no quantization artifacts. |
|
|
| ## Reproduce |
|
|
| ```bash |
| comfy-quants export-model-int4-tensorwise \ |
| --config configs/krea2_int4_tensorwise_mixed.yaml \ |
| --source krea2_turbo_bf16.safetensors \ |
| --out krea2_turbo_int4_tensorwise_mixed.safetensors |
| ``` |
|
|
| Produced by [comfy-quants](https://github.com/Comfy-Org/comfy-quants) |
| (branch `feat/int4-tensorwise`). Use with `text_encoders/qwen3vl_4b` + |
| `vae/qwen_image_vae` from Comfy-Org/Krea-2. |
|
|