Corrector on a 32 GB card: step window, budget, and a swap loader
Corrector on a 32 GB card: step window, budget, and a swap loader
Local ComfyUI bench of s3_corrector.safetensors on Sulphur-3_Ref2VA-hybrid_mid_int8_convrot_keepB0-1-49. Not an official FusionCow result. Clips were 672Γ384, 124 frames, seed 60, unless noted. Sharpness is Laplacian variance of the frames. Higher is more edge energy, not a quality score. Face similarity was not measured.
What was held
The corrector is a separate 2.0B network, 7.44 GB, fp32. The stock Apply node registers it with the diffusion model for the whole sample, so both are resident together. On a 32 GB card the hybrid plus that file plus both forwards does not fit, and ComfyUI's dynamic offload starts paging.
A second apply node, Apply H3 Corrector (Tunable), can unload H3, run the corrector, and reload H3 before the next step. Same math. Peak VRAM then stayed in the same band as H3 alone: about 30.6β31.9 GB of 32.6 GB, including the corrector-off runs. Each corrected step costs the weight swap, roughly 3 seconds here. A 20-step corrector-off clip was about 50 s. Corrector on every step was about 110β120 s. Early-only was about 70 s.
The stock node was not used for the runs below. Strength 1.0 and budget fraction 0.5 are the node defaults.
20-step window
Sampler still 20 steps. The corrector was off, on for all 20, on for steps 0β8, or on for steps 9β19.
| Prompt | Off | All 20 | Early 0β8 | Late 9β19 |
|---|---|---|---|---|
| Kitchen, text | 425 | 324 | 469 | 302 |
| Fight, text | 83 | 23 | 42 | 50 |
| Fast action, text | 111 | 45 | 85 | 71 |
| Cowgirl, text | 463 | 408 | 563 | 312 |
| Water, text | 195 | 76 | 111 | 132 |
All-steps softened every prompt. Early beat both the baseline and the full pass on the kitchen clip and the cowgirl clip, and it was the least-soft corrector-on run on the fast-action clip. On the fight and water clips, corrector-off stayed sharper than early. Late was worse than early on kitchen, fast action, and cowgirl.
Budget and strength, early window only
Same cowgirl prompt, corrector only on steps 0β8.
| Setting | Sharpness | Same scene as corrector-off |
|---|---|---|
| Off | 463 | yes |
| Budget 0.25, strength 1.0 | 446 | yes |
| Budget 0.5, strength 1.0 | 563 | yes |
| Budget 1.0, strength 1.0 | 679 | no, different room and pose |
| Budget 0.5, strength 0.5 | 457 | yes, close to off |
| Budget 0.5, strength 1.5 | 669 | no, different room and pose |
| Budget 0.5, strength 1.0, per-frame cap | 540 | yes, a bit under the default |
Budget 1.0 and strength 1.5 are past the trained allowance. The high sharpness is the other video, not a sharper version of the same one. Strength 0.5 barely moves the clip. Per-frame cap stays in the scene and scores lower than one budget for the whole clip.
8-step turbo, reference, full versus early
LoRA pika_h3_flex_turbo_8step_hd_ref2va at strength 1, Euler, scheduler simple, 8 steps. Two reference crops from one character sheet. Strength 1.0, budget 0.5, virtual_steps 20 so each real step is described to the corrector as one step of a 20-step schedule (told_gap = real_gap Γ 8/20). Early on this schedule is steps 0β3. Steps 0β8 would be the entire run.
| Scene | Full, 8 steps | Early, steps 0β3 |
|---|---|---|
| Desk, seated | 87 s, 97 sharp, peak 30,878 MB | 42 s, 164 sharp, peak 31,599 MB |
| Spooning | 73 s, 59 sharp, peak 31,315 MB | 42 s, 95 sharp, peak 30,920 MB |
| Standing, one leg lifted | 76 s, 49 sharp, peak 30,824 MB | 42 s, 89 sharp, peak 30,599 MB |
Early was sharper on all three and about half the time. Watched against the full pass, early looked better.
What did not move
Naming anal entry, changing the camera from on-the-back to a low POV to a top-down POV, and starting the clip with the penis already inserted did not make the base model use the anus. The corrector only nudges a trajectory the diffusion model already chose. Reference versus text-to-video did not change that.
velocity_floor, strength_end, and fp32 forward were left at the defaults and not swept. virtual_steps matters for an 8-step schedule. It does nothing useful on a real 20-step schedule.
Operating point used after the bench
- 20 steps: corrector on steps 0β8 only, strength 1.0, budget 0.5, per-frame cap off, swap on.
- 8-step turbo: corrector on steps 0β3 only, same strength and budget,
virtual_steps20, swap on. - Do not raise budget above 0.5 or strength above 1.0 on this checkpoint.
The tunable node is a local copy. The stock Apply node is unchanged and still loads both networks. Happy to put the swap node up as a PR against the corrector package if that is useful. Clips are local and are not attached here.