H3 Depth Skip
Skip the transformer blocks that aren't pulling their weight
- model
- MODEL
- report
Not every transformer block in H3 earns its compute on every clip. Some bands of depth are measurably idle - on the released checkpoints, roughly blocks 3 through 17. H3 Depth Skip is the node that drops the named blocks from the forward pass, worth about 1.4× on that band, and it comes with an honest tooltip: read the block contributions off your own model before you trust anyone's band.
How it works
model passes through, patched, and comes back out alongside a report. The inputs:
- blocks - a string like
"3-17","3-17, 22"or"10". Ranges are inclusive. Empty changes nothing - an exact no-op, so it's safe to leave wired-but-blank. The README's guidance is to read them off MiniMax H3 Block Contribution rather than guess, and it notes the quiet band is identical across the fl2va and ref2va releases. - start_percent / end_percent - where the skip switches on and off (default 0 to 1, always-on). Ending early is the useful setting: skip the quiet band while structure is being decided, then run the full stack for refinement, where the dropped blocks may matter more than their average contribution suggests.
- mode -
attention_only(default) keeps the MLP;whole_blockdrops everything. The default is the better-evidenced choice: attention is ~83% of block time at these sequence lengths, soattention_onlycaptures most of the saving, and the MLP's gate varies only 8× across depth against attention's 68× - much less obviously idle in any band. Reach forwhole_blockonce an A/B says the band really is inert.
The report tells you which blocks were skipped, what fraction of the forward that removes, and what the number does and doesn't mean - worth a glance before you start trusting the speedup.
The honest take
This is a "confirm against your own output" node, not a set-and-forget one. The 3–17 band is a measured property of the released checkpoints, but it's still a hypothesis about your content. The safe recipe: run the A/B with attention_only first (keeps the MLP, so it degrades gracefully), and only switch to whole_block when the result is provably fine. It stacks with H3 Block Cache - different axes of the same save.
Install
Pack install: ComfyUI Manager → "Nynxz H3", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzH3
Restart. Pure Python, no dependencies, ComfyUI 0.30.0+.
The one-liner
"3-17", attention_only, and a start_percent/end_percent window that lets refinement run full. If your clip starts losing structure late, it's the skipped blocks talking - widen the window or drop the node before you blame the sampler.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | A MiniMax H3 model. | |
| blocks | STRING | Block indices to skip: '3-17', '3-17, 22', '10'. Ranges are inclusive. Empty changes nothing. Read them off MiniMax H3 Block Contribution rather than guessing — the quiet band is a property of the checkpoint, and it is identical across the fl2va and ref2va releases. | |
| start_percent | FLOAT | 0.000–1 | Where in the schedule the skip switches ON, as a fraction of sampling. 0 is the first step. |
| end_percent | FLOAT | 1.000–1 | Where it switches OFF. 1 runs to the last step; the default pair (0, 1) is always-on, which is the behaviour this node had before. Ending early is the useful setting: skip the quiet band while structure is being decided, then run the full stack for refinement, where the blocks you dropped may matter more than their average contribution suggests. |
| mode | COMBO | attention_only | attention_only keeps the MLP, which is the conservative choice and costs about a fifth of the saving — attention is ~83% of block time at these sequence lengths. It is also the better-evidenced one: the MLP's gate varies 8x across depth against attention's 68x, so the MLP is much less obviously idle in any band. whole_block drops everything and is the thing to reach for once an A/B says the band really is inert. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| report | STRING | Which blocks were skipped, what fraction of the forward that removes, and what the number does and does not mean. |