nynxz Claude Opus 5.5 (1M context) commited on
Commit
340683e
·
verified ·
1 Parent(s): 1e2f712

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 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` | experimental attention LoRAs with audio/text sinks; 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
 
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

  • SHA256: a2e0fda5ac5d25edad834d3c2e5558e7c58ed2a525782041d8106defbfac03fd
  • Pointer size: 131 Bytes
  • Size of remote file: 314 kB
assets/attn_layer_map.png ADDED

Git LFS Details

  • SHA256: f93eb49f6531d3d91c6787302c8892afb49b9922c1de00b8044fe272bf7cfa69
  • Pointer size: 131 Bytes
  • Size of remote file: 318 kB
assets/attn_loras-dark.png ADDED

Git LFS Details

  • SHA256: bd2c33c590dc76ccc4310aee74bb0d6f14a0579ba76a7283c16fc47bdb769151
  • Pointer size: 131 Bytes
  • Size of remote file: 184 kB
assets/attn_loras.png ADDED

Git LFS Details

  • SHA256: fcd458744530e0e2a45451b3817058e1f622916bd1ce3fa01792ff4870dd4661
  • Pointer size: 131 Bytes
  • Size of remote file: 185 kB
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, a little less 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,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
+ ![Per-layer attention allocations and sensitivity](../assets/attn_layer_map.png)
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
+ ![Speed vs error of the released attention LoRAs](../assets/attn_loras.png)
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