Nodes/Krea 2 SVDQuant/Krea2 SVDQuant Capture Start
ComfyUI Node

Krea2 SVDQuant Capture Start

Teach the quantizer where your Krea 2 actually spends its activations

By alperktt·Created 2 months ago·Updated 25 days ago· 13
Krea2 SVDQuant Capture Start
  • model
  • model
  • status
resettrue

The short version

This is half of a two-node calibration rig. Krea2 SVDQuant Capture Start goes between your model loader and the KSampler; it installs hooks on all 224 quantized linears and records the RMS of each one's inputs while you sample. Krea2 SVDQuant Capture Save (downstream of the KSampler) writes those statistics to a file. Feed that file to the Krea2 SVDQuant Quantize node's act_stats input, and your low-rank branch gets fitted against measured per-channel activation energy instead of assuming every input channel is equally important.

Why bother? The default quantization objective treats all input channels as carrying the same activation energy. They don't - a channel the model drives hard deserves more of the branch's capacity than one that's usually near zero. The pack measured this as its largest single fidelity gain (LPIPS to BF16 drops from 0.3378 to 0.2825), and it costs nothing at inference: same shapes, same format, same kernels, only different values inside the branch.

The inputs that matter

  • model - your Krea 2 model, BF16 ideally. Statistics taken from a quantized model describe the quantized model's activations, which is the thing being corrected - but for a calibration pass you want the clean BF16 signal. Wire this output to the KSampler.
  • reset - default true. Clears anything gathered so far. Leave it off to accumulate across several prompts, which is the entire point of calibrating - you want a handful of prompts in one file, not one.

Outputs: model (wire it to your KSampler) and status (a string reporting how many layers are being watched - expect 224 if it found the right model).

How to install

cd ComfyUI/custom_nodes && git clone https://github.com/alperktt/Krea-2-SVDQuant-ComfyUI krea-2-svdquant

No Python dependencies. Use workflows/krea2_quantize_calibrated.json if you want the capture and quantize wired together in one queue press - the wire from Capture Save's act_stats_path into the Quantize node is also what guarantees calibration runs first.

How to use it

  1. Put Capture Start between the loader and the KSampler, reset=true.
  2. Put Capture Save after the KSampler, wired to its LATENT output (that's what forces it to run after denoising).
  3. Leave keep_capturing on for every prompt but the last, so several prompts accumulate into one file under ComfyUI/output/.
  4. Use prompts that are not the ones you plan to judge the checkpoint with.
  5. Pass the file to the Quantize node's act_stats (or --act-stats in the CLI).

One rule the README is emphatic about: you only need to capture your own statistics for weights the stock files don't describe - a finetune, a merge, anything that isn't the released checkpoint. The pack ships pre-made krea2_act_stats_turbo.safetensors / base calibration files (6.67 MB from the calibration/ folder on Hugging Face). Sharing an architecture isn't enough: Turbo's file loads into a base build without complaint and then describes the wrong model. If your weights are stock, just use the pre-made file. If they're not, this node is how you measure.

CategoryKrea2/SVDQuant

Inputs (2)

NameTypeDefaultDescription
modelMODELThe BF16 model, ideally. Statistics taken from a quantized model describe the quantized model's activations, which is the thing being corrected.
resetBOOLEANtrueClear anything gathered so far. Leave it off to accumulate across several prompts, which is the point of calibrating.

Outputs (2)

NameTypeDescription
modelMODELWire this to the KSampler.
statusSTRINGHow many layers are being watched.