Nodes/ComfyUI-MAINodes/H3 Fake Quant (A6: simulate NVFP4/FP8 activations per region, alpha)
ComfyUI Node

H3 Fake Quant (A6: simulate NVFP4/FP8 activations per region, alpha)

Pretend the activations are 4-bit, measure what breaks

By matlowai·Created 17 days ago·Updated about 17 hours ago· 112
H3 Fake Quant (A6: simulate NVFP4/FP8 activations per region, alpha)
  • model
  • MODEL
formatnvfp4
projectionsqkv,out,fc1,fc2
block_lo0
block_hi49
segments

H3 Fake Quant is not a speed node. Its own docstring says it outright: "Not a speed path." It's a measurement node - it simulates what would happen to H3's activations if you quantized them to NVFP4 or FP8, in chosen regions, so you can decide which layers can survive 4 bits before you commit to a real quantized build. Think of it as asking the model "where is the slack?" without actually changing anything.

It's part of the pack's VRAM Lab line of thinking: long H3 de-rope passes OOM 24 GB cards, and one lever is dropping activation precision. But precision loss is unevenly distributed - some blocks and some projections are far more tolerant than others. H3 Fake Quant's job is to fake-quant the layer input on a chosen set of projections, block range, and token segments, while the layer itself runs exactly as shipped. Same seed, sweep the regions, and you get a sensitivity map of where 4-bit activations are invisible and where they'd wreck a render.

The inputs

  • model - the model to patch (it clones it; nothing global).
  • format - nvfp4, nvfp4_had (the Hadamard-transform variant), or fp8.
  • projections - comma list of qkv,out,fc1,fc2. Default all four.
  • block_lo / block_hi - which block range gets the fake quant (default 0-49, i.e. all).
  • segments - which token segments: empty = all rows, or a comma list of video,text,audio,cond_video,cond_audio. H3 is omni-modal, so you can quantize only the video rows and leave text/audio alone - which is a very H3-specific knob and exactly the kind of per-region control that makes this node worth having.

Single output: the patched MODEL. It needs H3 Streamed Blocks downstream to isolate the projections - without it, the fake quant has nothing to attach to.

Who this is for

Honestly, not you, if you just want images. This is a researcher's tool: the A6 phase of the pack's precision work, built to run the same-seed sensitivity sweep that decides which layers can go to 4 bits. The companion H3 Precision Probe records the real activation error per (forward, block, projection, segment) and writes it out for analysis; Fake Quant is the controlled experiment on top of that data.

If you are in that boat - pushing a quantized H3 onto a small card and wanting evidence, not vibes, for which blocks to keep at 8 bits - this is a genuinely useful little instrument. It's alpha, the interface may move, and its value is entirely in the measurements it lets you collect. For everyone else: file it under "nice that someone is doing this research," and keep using the int8 path.

Installing it

Pure-Python pack, no pip deps:

cd ComfyUI/custom_nodes
git clone https://github.com/matlowai/ComfyUI-MAINodes

Restart, look under MAINodes/VRAM Lab. The example graphs want ComfyUI-KJNodes; the nodes themselves don't. And the H3 model underneath carries its community license - US, EU, UK and South Korea excluded - which matters more than usual if you're building a quantized distribution of it.

CategoryMAINodes/VRAM Lab

Inputs (6)

NameTypeDefaultDescription
modelMODEL
formatCOMBOnvfp43 options: nvfp4, nvfp4_had, fp8
projectionsSTRINGqkv,out,fc1,fc2comma list of qkv,out,fc1,fc2
block_loINT00–63
block_hiINT490–63
segmentsSTRINGempty = all rows; else comma list of video,text,audio,cond_video,cond_audio

Outputs (1)

NameTypeDescription
MODELMODEL