File size: 7,227 Bytes
a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc a0e2b00 80a8efc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | ---
pipeline_tag: image-text-to-video
library_name: vllm-omni
license: other
license_name: minimax-h3-community-license-agreement
license_link: LICENSE
base_model: MiniMaxAI/MiniMax-H3
base_model_relation: quantized
tags:
- minimax-h3
- text-to-video
- image-to-video
- text-to-audio-video
- fp8
- modelopt
- mixed-precision
- vllm-omni
---
# MiniMax-H3 ModelOpt Mixed Dynamic FP8
This repository contains mixed BF16/FP8 derivatives of both MiniMax-H3 video
generation partitions:
- **FL2VA**, at the repository root, supports T2VA/FL2VA and targets an
effective precision of 9.0 bits.
- **Ref2VA**, under `Ref2VA/`, supports reference-conditioned video and audio
generation and targets an effective transformer precision of 9.25 bits.
The checkpoints target single-GPU vLLM-Omni serving. CPU component offload is
recommended on GPUs that cannot hold all resident components.
> **License:** these derivatives remain subject to the MiniMax H3 Community
> License Agreement in [LICENSE](LICENSE), including its territorial,
> redistribution, notice, and acceptable-use requirements. Review that license
> before using or redistributing this model.
## Runtime format
| Setting | Value |
|---|---|
| Weight format | FP8 E4M3 for selected Linear weights; BF16 otherwise |
| Weight scaling | Per-output-channel |
| Activation scaling | Dynamic per-token |
| ModelOpt algorithm | `FP8_PER_CHANNEL_PER_TOKEN` |
| Kernel | CUTLASS FP8 in vLLM-Omni |
“Mixed9” and “Mixed9.25” are parameter-weighted effective precisions. They do
not denote scalar 9-bit dtypes.
## FL2VA Mixed9
The root checkpoint was selected using BF16-vs-dynamic-FP8 relative MSE.
| Component | Achieved precision | FP8 groups | FP8 parameters | BF16 groups | BF16 parameters |
|---|---:|---:|---:|---:|---:|
| H3 transformer | 8.997527 bits | 203 | 28,988,080,128 | 63 | 4,129,456,128 |
| Qwen3-VL language encoder | 8.994409 bits | 166 | 21,349,007,360 | 34 | 3,030,384,640 |
### FL2VA transformer scope
Kept in BF16:
- `proj_in`, `audio_proj_in`, `context_embedder`, both timestep embedding
linears, `proj_out`, and `audio_proj_out`.
- Attention output projections in transformer blocks 29-48.
- FFN input/gate-up projections in blocks 28, 31, 32, 33, 41, 45, and 46.
- FFN output projections in blocks 5, 6, 8-10, 12-14, 19, 20, and 30-48.
- Biases, normalization parameters, RoPE buffers, and other non-linear state.
Quantized to dynamic FP8:
- All Q/K/V projections and AdaLN linears in transformer blocks 0-49.
- All Linear projections in both token-refiner blocks and `norm_out.linear`.
- Attention and FFN projections not listed in the BF16 sets above.
### Shared Qwen3-VL text encoder scope
Kept in BF16:
- Token embeddings, RMSNorms, rotary state, all non-linear parameters, and the
complete Qwen3-VL vision encoder.
- Attention `o_proj` in language layers 24, 25, 30, 31, 35, 37, 38, 40, and
42-49.
- MLP `down_proj` in language layers 17-19, 21-30, 34, 36, 46, 48, and 49.
Quantized to dynamic FP8:
- All Q/K/V and MLP gate/up projections in language layers 0-49.
- Every attention `o_proj` and MLP `down_proj` not listed above.
The video VAE, audio VAE, tokenizer, processor, embeddings, normalization
layers, and vision encoder remain unquantized.
Exact selections and sensitivity scores are stored in:
- `transformer/transformer_mixed_precision_config.json`
- `transformer/transformer_sensitivity_ranking.tsv`
- `text_encoder/text_encoder_mixed_precision_config.json`
- `text_encoder/text_encoder_sensitivity_ranking.tsv`
## Ref2VA GlobalGrad Mixed9.25
The Ref2VA transformer was independently selected from BF16 using an
output-probed global-gradient sensitivity score. This is a custom search
inspired by mixed-precision AutoQuant; it is not an NVIDIA ModelOpt AutoQuant
export. ModelOpt performs the dynamic FP8 conversion and export.
| Setting | Value |
|---|---:|
| Target effective precision | 9.25 bits |
| Achieved effective precision | **9.248862 bits** |
| FP8 groups / Linear modules | 212 / 296 |
| FP8 candidate parameters | 27,947,630,592 |
| BF16 groups / Linear modules | 54 / 74 |
| BF16 candidate parameters | 5,169,905,664 |
### Ref2VA transformer scope
| Projection family | Dynamic FP8 blocks | BF16 blocks |
|---|---|---|
| Q/K/V | 0, 2-40 | 1, 41-49 |
| Attention output | 0-4, 6-38 | 5, 39-49 |
| FFN input/gate-up | 1-38, 40 | 0, 39, 41-49 |
| FFN output | 0, 2-40 | 1, 41-49 |
| AdaLN Linear | 2-47 | 0-1, 48-49 |
Also quantized to dynamic FP8:
- All Q/K/V, attention-output, and FFN Linear projections in both token-refiner
blocks.
- `norm_out.linear`.
Always retained in BF16:
- `context_embedder`, `proj_in`, `audio_proj_in`, both timestep embedding
linears, `proj_out`, and `audio_proj_out`.
- Biases, normalization parameters, RoPE buffers, and all other non-linear
state.
Ref2VA reuses the Mixed9 Qwen3-VL text encoder described above. Its VAEs,
tokenizer, processor, embeddings, normalization layers, and vision encoder are
not quantized. The exact transformer decisions are stored in:
- `Ref2VA/transformer/transformer_mixed_precision_config.json`
- `Ref2VA/transformer/transformer_sensitivity_ranking.tsv`
## Similarity samples
These are deterministic short regression samples, not comprehensive
perceptual-quality benchmarks.
| Partition | Task | Resolution | Steps | Seed | Video SSIM vs BF16 | Video PSNR | Audio spectral cosine |
|---|---|---:|---:|---:|---:|---:|---:|
| FL2VA Mixed9 | T2VA | 672 x 384 | 10 | 1101 | **0.858496** | **24.7968 dB** | not measured |
| Ref2VA Mixed9.25 | Ref2VA | 672 x 384 | 10 | 3101 | **0.758005** | **22.234802 dB** | **0.996300151** |
For the Ref2VA sample, FP8 peak GPU memory was 84,842 MiB versus 131,308 MiB
for BF16, saving 46,466 MiB (35.39%). The request used the same extracted
reference frame/audio and saved BF16 baseline, produced 107 frames, and used a
4-second requested duration. Full machine-readable results are included in:
- `evaluation/t2va_bf16_similarity.json`
- `evaluation/ref2va_globalgrad9p25_bf16_similarity.json`
## vLLM-Omni serving
This checkpoint requires vLLM-Omni with MiniMax-H3 ModelOpt mixed-FP8 loading
support.
FL2VA/T2VA:
~~~bash
CUDA_VISIBLE_DEVICES=0 \
vllm-omni serve feizhai123/MiniMax-H3-ModelOpt-Mixed9-Dynamic-FP8 \
--omni \
--host 0.0.0.0 \
--port 8000 \
--trust-remote-code \
--enforce-eager \
--force-cutlass-fp8 \
--enable-cpu-offload \
--stage-init-timeout 1800 \
--init-timeout 2400
~~~
Ref2VA:
~~~bash
hf download feizhai123/MiniMax-H3-ModelOpt-Mixed9-Dynamic-FP8 \
--local-dir ./MiniMax-H3-ModelOpt-Mixed9-Dynamic-FP8
CUDA_VISIBLE_DEVICES=0 \
vllm-omni serve ./MiniMax-H3-ModelOpt-Mixed9-Dynamic-FP8/Ref2VA \
--omni \
--host 0.0.0.0 \
--port 8000 \
--trust-remote-code \
--enforce-eager \
--force-cutlass-fp8 \
--enable-cpu-offload \
--stage-init-timeout 1800 \
--init-timeout 2400
~~~
## Modification notice
Selected H3 transformer and Qwen3-VL language-model Linear weights were
modified from the original MiniMax-H3 checkpoints by mixed BF16/FP8
quantization. The VAEs, Qwen3-VL vision encoder, tokenizer, processor, and
other explicitly retained parameters remain in their original precision.
|