Alex1343543's picture
Standardize measured performance comparison
6395b69 verified
|
Raw
History Blame Contribute Delete
9.41 kB
---
language: en
tags:
- video-generation
- minimax-h3
- ref2va
- int8
- convrot
- input-major
- turbo
- h3ddle
- pulpcut
license: other
license_name: minimax-h3-community-license
license_link: https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/939557dc319dd91227e30195a763f272ba7f8765/LICENSE
base_model: MiniMaxAI/MiniMax-H3
pretty_name: PulpCut MiniMax H3 Ref2VA Turbo INT8 ConvRot
---
# MiniMax H3 Ref2VA Turbo · pruned INT8 ConvRot
## What this repository is
An optimized MiniMax H3 **Ref2VA** package centered on the omni-reference
diffusion transformer, which conditions generation on ordered reference
images. It has the lightx2v **turbo step-distillation merged into the weights**
and uses the same pruned **INT8 ConvRot** layout as the Comfy-Org release. The
primary transformer is a drop-in replacement for
`minimax_h3_ref2va_pruned_int8_convrot.safetensors` in any runtime that reads
the optimized INT8 layout — including
[H3ddle](https://github.com/AlexanderIstomin/h3ddle), the open-source native
macOS app it was built for.
The transformer is **not a standalone model**. It needs the rest of the optimized
package (Qwen3-VL-32B INT8 text encoder, video/audio VAEs, tokenizer) from
[Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3), and the
FL2VA transformer alongside it if you also want prompt-only and keyframe
generation.
## H3ddle full input-major checkpoint
`minimax_h3_ref2va_pruned_turbo_int8_convrot_input_major.safetensors` is the
H3ddle-optimized form of the primary transformer. All 200 quantized core
projections across 50 blocks are stored `[input, output]` instead of
`[output, input]`. No tensor is dequantized or numerically changed; scales,
ConvRot metadata, reference conditioning, and non-core tensors are preserved.
This layout is selected by a versioned marker and validated against every
projection shape before H3ddle runs it. It is **not** compatible with runtimes
that assume the original output-major Comfy layout. The original and full
input-major transformers remain in this repository for users and runtimes that
want exact Ref2VA weights.
## Measured performance versus the regular layout
On a 32 GiB M1 Pro, using the same prompt, reference, seed, 512x896 canvas,
eight passes, 50 blocks, and output settings:
| comparison | regular / baseline | optimized path | resulting gain |
|---|---:|---:|---:|
| transformer layout, matched eight-pass run | 541.2 s output-major | 515.3 s input-major | **4.8% (1.05x)** |
| complete generation, matched layout A/B | 631.4 s | 595.9 s | **5.6% (1.06x)** |
| regular Ref2VA INT8 vs Turbo Ref2VA INT8, matched quality run | 49.0 min / 20 passes | 20.2 min / 8 passes | **58.8% (2.43x)** |
The generated reference output remained good. Actual gains vary with canvas
size, memory pressure, and Mac.
## Compact H3ddle hybrid overlay
`minimax_h3_ref2va_pruned_int8_convrot_hybrid_adaln_25_49.safetensors` is a
43.55 MB optional overlay for H3ddle. It uses the complete FL2VA transformer as
the base and replaces only Ref2VA's compact AdaLN weight and bias in blocks
25–49. The overlay is 99.79% smaller than carrying a second 20.97 GB
transformer. Its bytes are identical whether extracted from the standard or
Turbo Ref2VA checkpoint, so the same file supports both FL2VA variants.
This is a storage and download optimization, not a denoising-speed
optimization. It intentionally produces a different sample than the full
Ref2VA transformer. A matched 512-square, eight-pass test on an M1 Pro found
good reference identity and image quality; transformer work remained the same
within run-to-run system variation. Starting with H3ddle 0.7.4, both managed
standard and Turbo + References packages download this overlay by default.
The full Turbo checkpoints above remain available here for manual use and
comparison, and the full standard checkpoint remains in Comfy-Org/MiniMax-H3.
## Why this merge was made and republished
Every published turbo LoRA for MiniMax H3 targets the **FL2VA** transformer.
Reference generation therefore had no fast path at all: on Apple silicon a
short reference clip costs roughly fifty minutes at the base model's twenty
denoising passes, with no distilled alternative to fall back on. Since the two
transformers are structurally identical — 932 tensors, identical names and
shapes — the FL2VA distillation can be merged into the Ref2VA weights, which
is what this file is.
## Does the distillation survive the transfer?
The adapter was distilled against FL2VA, and reference-identity transfer is
exactly the capability step distillation is most likely to damage, so this was
measured rather than assumed. Matched control on an M1 Pro — same prompt, same
reference image, same seed, 448², adapter as the only variable:
| comparison | regular / baseline | optimized path | resulting gain |
|---|---:|---:|---:|
| passes | 20 | 8 | 60% fewer |
| wall time | 49.0 min | 20.2 min | **58.8% (2.43x)** |
| identity vs reference (SSIM) | 0.426 | 0.476 | identity retained |
**2.4x faster with identity transfer intact.** The reference subject's
markings, build, and setting carry through; detail in fur and whiskers is
slightly sharper than the base at its full pass count. The SSIM difference is
modest and comes from a single prompt, so treat it as evidence that identity
transfer is *not degraded* rather than proof that it improves.
Recommended settings: 8 denoising passes, euler sampling, all 50 blocks.
## Known behavior and limitations
The pruned ComfyUI conversion of the turbo LoRA **drops all 51 AdaLN adapter
pairs** (the source targets AdaLN input dimension 2688, while pruned
"compact-curve" models use dimension 8), and its own metadata warns that
four-step distillation behaviour may therefore be degraded. We use 8 passes
rather than 4 for that reason. The same caveat applies to our FL2VA turbo
file; see
[ModelTC/Minimax-H3-Turbo#7](https://github.com/ModelTC/Minimax-H3-Turbo/issues/7).
## How the merge/quantization is done (high level)
For each of the 208 quantized projections, the BF16 pruned Ref2VA base weight
is merged with `strength × B·A` (rank-64, strength 1.0, `ema_pruned` variant),
rotated by the grouped 256-wide Hadamard transform used by the ConvRot runtime
kernels, and requantized with symmetric per-row absmax INT8 scales.
Token-refiner adapters merge losslessly in BF16. All other tensors are copied
byte-identical from the official INT8 file. The pipeline reproduces the
official quantizer exactly: run at strength 0 against the Ref2VA base it
regenerates the official file with all 3,046,400 scales identical and 1,711 of
19.27 billion int8 values differing (rounding ties).
## Source and attribution
- Original model: [MiniMaxAI/MiniMax-H3](https://huggingface.co/MiniMaxAI/MiniMax-H3)
- Pruned INT8 ConvRot base + shared package files: [Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3)
- Turbo distillation LoRA: [ModelTC/Minimax-H3-Turbo](https://github.com/ModelTC/Minimax-H3-Turbo) (lightx2v team)
- Pruned ComfyUI LoRA conversion: [drbaph/MiniMax-H3-Turbo-Lora-ComfyUI](https://huggingface.co/drbaph/MiniMax-H3-Turbo-Lora-ComfyUI)
## Licensing
Derivative of MiniMax H3 weights; the
[MiniMax H3 Community License Agreement](https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/939557dc319dd91227e30195a763f272ba7f8765/LICENSE)
applies. By downloading you agree to its terms.
## What these files are used for in H3ddle
H3ddle installs it in both managed reference-capable packages: the app verifies
the SHA-256 below and reuses the overlay and other shared package files it
already has via hardlinks. The Turbo package defaults to 8 passes; standard
keeps its regular generation profile. Published by
[PulpCut](https://huggingface.co/PulpCut), whose editor family shares the
local-first media generation stack that H3ddle implements in the open.
## Safety and intended use
Intended for local, personal video generation. The merge changes speed
characteristics, not the base model's content behavior; all usage restrictions
of the MiniMax H3 Community License apply unchanged.
## File inventory
| File | Bytes | SHA-256 |
|---|---|---|
| `minimax_h3_ref2va_pruned_turbo_int8_convrot.safetensors` | 20,970,379,854 | `e64cef63bc2785bcd72e6103c52aa78c6cd2c4f9870a7ce79675083fd65cf2e7` |
| `minimax_h3_ref2va_pruned_turbo_int8_convrot_input_major.safetensors` | 20,970,380,012 | `5ca6696fe1cd9a8f254594ac67ee541f151b2377735dea3557364bd868270463` |
| `minimax_h3_ref2va_pruned_int8_convrot_hybrid_adaln_25_49.safetensors` | 43,551,180 | `c3d80a9a2d17a30caf83e933262473cbf0b1ba7de4d29556646e9a92ab5f17aa` |
## Reproducibility references
The conversion is a single dependency-free Python script,
[`Scripts/convert-turbo-package.py`](https://github.com/AlexanderIstomin/h3ddle/blob/main/Scripts/convert-turbo-package.py)
in the H3ddle repository, including the strength-0 self-check used to validate
the pipeline against the official file.
The full optimized layout is reproducible with
[`Scripts/repack-h3-input-major.py`](https://github.com/AlexanderIstomin/h3ddle/blob/main/Scripts/repack-h3-input-major.py).
The compact overlay is reproducible with
[`Scripts/build-h3-hybrid-adaln.py`](https://github.com/AlexanderIstomin/h3ddle/blob/main/Scripts/build-h3-hybrid-adaln.py).
## Contact
Open an issue in the [H3ddle repository](https://github.com/AlexanderIstomin/h3ddle/issues).