| --- |
| 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. |
|
|