Attention page: ref2va 768x1344 sink LoRAs (quality, balanced, x6), all released LoRAs re-measured together, SMD 8-step transfer, layer map and speed-vs-error charts
Browse files- README.md +1 -1
- assets/attn_layer_map-dark.png +3 -0
- assets/attn_layer_map.png +3 -0
- assets/attn_loras-dark.png +3 -0
- assets/attn_loras.png +3 -0
- docs/attention.md +71 -1
- loras/sinks/minimax_h3_attn_sinks_balanced_ref2va_hires.safetensors +3 -0
- loras/sinks/minimax_h3_attn_sinks_quality_ref2va_hires.safetensors +3 -0
- loras/sinks/minimax_h3_attn_sinks_x6_ref2va_hires.safetensors +3 -0
README.md
CHANGED
|
@@ -66,7 +66,7 @@ LoRA's own error is measured separately on the [attention page](docs/attention.m
|
|
| 66 |
| `loras/minimax_h3_attn_balanced.safetensors` | attention config LoRA: reference speed, less error | ~10 KB |
|
| 67 |
| `loras/minimax_h3_attn_quality.safetensors` | attention config LoRA: ~4% slower, clearly less error | ~10 KB |
|
| 68 |
| `loras/minimax_h3_attn_fast_dmad4step.safetensors` | attention config LoRA for the dmad 4-step stack | ~10 KB |
|
| 69 |
-
| `loras/sinks/*.safetensors` |
|
| 70 |
|
| 71 |
**Checkpoint:** put it in `models/diffusion_models/` and pick it in the H3 template's **Load Diffusion Model** node;
|
| 72 |
keep the usual H3 text encoder and VAEs. "Pruned" means the 13B AdaLN parameters are replaced by an equivalent
|
|
|
|
| 66 |
| `loras/minimax_h3_attn_balanced.safetensors` | attention config LoRA: reference speed, less error | ~10 KB |
|
| 67 |
| `loras/minimax_h3_attn_quality.safetensors` | attention config LoRA: ~4% slower, clearly less error | ~10 KB |
|
| 68 |
| `loras/minimax_h3_attn_fast_dmad4step.safetensors` | attention config LoRA for the dmad 4-step stack | ~10 KB |
|
| 69 |
+
| `loras/sinks/*.safetensors` | attention LoRAs with audio/text sinks, including ref2va 768×1344 ones that also suit the SMD 8-step LoRA (x6: ~2.8× faster sampling); need the ComfyUI PR in [Attention](docs/attention.md) | ~10 KB |
|
| 70 |
|
| 71 |
**Checkpoint:** put it in `models/diffusion_models/` and pick it in the H3 template's **Load Diffusion Model** node;
|
| 72 |
keep the usual H3 text encoder and VAEs. "Pruned" means the 13B AdaLN parameters are replaced by an equivalent
|
assets/attn_layer_map-dark.png
ADDED
|
Git LFS Details
|
assets/attn_layer_map.png
ADDED
|
Git LFS Details
|
assets/attn_loras-dark.png
ADDED
|
Git LFS Details
|
assets/attn_loras.png
ADDED
|
Git LFS Details
|
docs/attention.md
CHANGED
|
@@ -75,7 +75,7 @@ the **fast** allocation is only worth it on the 4-step stack.
|
|
| 75 |
|---|---|---|
|
| 76 |
| `loras/minimax_h3_attn_balanced.safetensors` | same speed as the reference, less error | any INT8/NVFP4 H3 stack, 4 or 20 steps |
|
| 77 |
| `loras/minimax_h3_attn_quality.safetensors` | ~4% slower, clearly less error | any INT8/NVFP4 H3 stack |
|
| 78 |
-
| `loras/minimax_h3_attn_fast_dmad4step.safetensors` | slightly faster than the reference,
|
| 79 |
|
| 80 |
Load with **Load LoRA (Model Only)** at strength 1.0, after any weight LoRA. They hold no weights, so they also keep a
|
| 81 |
calibrated NVFP4 checkpoint's scales. Disable attention-override nodes, or the configs are ignored.
|
|
@@ -133,3 +133,73 @@ in busy scenes (broken motion without sinks) and fine detail (hands, fabric nois
|
|
| 133 |
|
| 134 |
On stock ComfyUI these load and run, but the sink keys are ignored and the error is the "sinks removed" figures above:
|
| 135 |
use the LoRAs in the table further up instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|---|---|---|
|
| 76 |
| `loras/minimax_h3_attn_balanced.safetensors` | same speed as the reference, less error | any INT8/NVFP4 H3 stack, 4 or 20 steps |
|
| 77 |
| `loras/minimax_h3_attn_quality.safetensors` | ~4% slower, clearly less error | any INT8/NVFP4 H3 stack |
|
| 78 |
+
| `loras/minimax_h3_attn_fast_dmad4step.safetensors` | slightly faster than the reference, less audio error, about the same video error | INT8 ConvRot + dmad 4-step |
|
| 79 |
|
| 80 |
Load with **Load LoRA (Model Only)** at strength 1.0, after any weight LoRA. They hold no weights, so they also keep a
|
| 81 |
calibrated NVFP4 checkpoint's scales. Disable attention-override nodes, or the configs are ignored.
|
|
|
|
| 133 |
|
| 134 |
On stock ComfyUI these load and run, but the sink keys are ignored and the error is the "sinks removed" figures above:
|
| 135 |
use the LoRAs in the table further up instead.
|
| 136 |
+
|
| 137 |
+
## Ref2VA at 768×1344, 124 frames (sinks; needs the PR above)
|
| 138 |
+
|
| 139 |
+
Tuned on the ref2va pruned INT8 ConvRot transformer + dmad 4-step full-critic LoRA, `dpmpp_sde_gpu` / beta, 8 steps,
|
| 140 |
+
one reference image. At this size dense attention is ~78% of each model call, so faster allocations pay off more than
|
| 141 |
+
at 960×544. All files measured in one run (2 held-out prompts, same seed; DiT time per clip on an RTX 5090 with
|
| 142 |
+
DynamicVRAM, as in a ComfyUI server):
|
| 143 |
+
|
| 144 |
+
| Attention LoRA | Time per clip | Speed-up | Video error | Audio error |
|
| 145 |
+
|---|---|---|---|---|
|
| 146 |
+
| none (dense) | 198 s | 1.00× | – | – |
|
| 147 |
+
| comfyanonymous test LoRA | 91 s | 2.19× | 16.4% | 24.6% |
|
| 148 |
+
| **quality** (ref2va) | 97 s | 2.05× | 9.2% | 10.2% |
|
| 149 |
+
| **balanced** (ref2va) | 90 s | 2.20× | 11.1% | 11.3% |
|
| 150 |
+
| sinks fast (dmad 4-step, 960×544 tune) | 83 s | 2.40× | 14.4% | 14.7% |
|
| 151 |
+
| **x6** (ref2va) | 72 s | 2.75× | 22.2% | 19.3% |
|
| 152 |
+
|
| 153 |
+
At the reference LoRA's speed, **balanced** has a third less video error and half the audio error. Blind tests on two
|
| 154 |
+
prompts: dense, fast, balanced and quality could not be told apart; between fast, x6 and an 8× allocation, only the 8×
|
| 155 |
+
one was picked out as different, in both clips. Past ~6× the rest of the model dominates the step, so x6 is the fast
|
| 156 |
+
end.
|
| 157 |
+
|
| 158 |
+
### The same LoRAs on the SMD 8-step LoRA
|
| 159 |
+
|
| 160 |
+
[SMD Ref2VA 8-step](https://huggingface.co/zjwfufu/SMD-MiniMax-H3-Ref2VA-8step-ComfyUI) at its own settings (euler,
|
| 161 |
+
its ManualSigmas, shift 12/3, 1344×768, two references) gives a different stack: different LoRA, sampler, schedule and
|
| 162 |
+
reference count. We tuned it from scratch and compared:
|
| 163 |
+
|
| 164 |
+

|
| 165 |
+
|
| 166 |
+
Which layers tolerate sparse attention barely changes between the two stacks (rank correlation 0.93–0.98 per kernel),
|
| 167 |
+
so a fresh SMD tune found nothing better than **x6** as published: at the same speed it measured 63.9% / 23.8% final
|
| 168 |
+
video / audio error against 67.2% / 26.3% for the SMD tune (2 prompts). Use the ref2va LoRAs on SMD as they are. Measured on SMD,
|
| 169 |
+
DiT time per clip:
|
| 170 |
+
|
| 171 |
+
| Attention LoRA | Time per clip | Speed-up |
|
| 172 |
+
|---|---|---|
|
| 173 |
+
| none (dense) | 102 s | 1.00× |
|
| 174 |
+
| **x6** (ref2va) | 36 s | 2.81× |
|
| 175 |
+
|
| 176 |
+
"Final error" is how far the finished latent lands from dense attention on the same seed. A few-step sampler turns
|
| 177 |
+
small early differences into a different but equally valid sample, so these numbers are large for every attention
|
| 178 |
+
LoRA. They separate allocations far apart in speed, but not ones at a similar speed (see below); they are not a
|
| 179 |
+
quality scale.
|
| 180 |
+
|
| 181 |
+
| File | Allocation |
|
| 182 |
+
|---|---|
|
| 183 |
+
| `loras/sinks/minimax_h3_attn_sinks_x6_ref2va_hires.safetensors` | ~6× attention, ~2.8× per clip: the fast end |
|
| 184 |
+
| `loras/sinks/minimax_h3_attn_sinks_balanced_ref2va_hires.safetensors` | 3.5× attention |
|
| 185 |
+
| `loras/sinks/minimax_h3_attn_sinks_quality_ref2va_hires.safetensors` | 3× attention, least error |
|
| 186 |
+
|
| 187 |
+
Load after the dmad or SMD LoRA, at strength 1.0. They were tuned at 768×1344 × 124 frames and work at other sizes,
|
| 188 |
+
but there they are not the measured best.
|
| 189 |
+
|
| 190 |
+
## All released LoRAs, measured together
|
| 191 |
+
|
| 192 |
+
Every file above re-measured in one run per stack, from the released files themselves: measured speed-up per clip
|
| 193 |
+
against one-step error (2 held-out prompts, RTX 5090, DynamicVRAM).
|
| 194 |
+
|
| 195 |
+

|
| 196 |
+
|
| 197 |
+
At 960×544 × 4 steps the non-attention part of the model is a large share of the step, so every LoRA lands at
|
| 198 |
+
1.7–1.9× per clip; the sink LoRAs are the clear wins there. This run's margins over the reference are smaller than
|
| 199 |
+
in the first table on this page (different prompts and loader): **balanced** has 9% less video and 25% less audio
|
| 200 |
+
error at the same speed, and the non-sink **fast** is no better than the reference on video. The ranking of the sink
|
| 201 |
+
LoRAs holds.
|
| 202 |
+
|
| 203 |
+
Final-latent error did not rank these LoRAs: at 960×544 the reference ended closer to dense (55%) than our non-sink
|
| 204 |
+
LoRAs (67–73%) despite more one-step error. Between LoRAs of similar speed it is dominated by how a few-step sampler
|
| 205 |
+
amplifies any difference, so judge those by eye and ear.
|
loras/sinks/minimax_h3_attn_sinks_balanced_ref2va_hires.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a03d3f070d0a9f4a9b196f85b216dc0ac84ac049c9c5f8f01749a2f4195980a9
|
| 3 |
+
size 10080
|
loras/sinks/minimax_h3_attn_sinks_quality_ref2va_hires.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ca0557c0302d609a23562f5a82810e5f4b596311a0e198ced6aba202f6f49303
|
| 3 |
+
size 9297
|
loras/sinks/minimax_h3_attn_sinks_x6_ref2va_hires.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a73c302617ccb77cd6e5e914fdd6f57b019fe279133a18216e65082c0b3f3c9e
|
| 3 |
+
size 11145
|