FastH3, rank-16 AdaLN

Superseded. FastVideo has since released FastH3 Preview v1, and this checkpoint is built on the earlier v0.2. It is left up for reproducibility and is no longer maintained. Use KyleNeverGivesUp/FastH3-4-step-Preview-v1-r16 instead, which applies the same conversion to v1 and measures identically on one GB10.

FastH3 Preview v0.2 with the AdaLN modulation projections factorized down to rank 16. FastH3 is FastVideo's DMD2-distilled MiniMax-H3, so this keeps the four-forward denoising ladder and drops 37% of the parameters.

FastH3 Preview v0.2 this
parameters 35.05B 22.09B
DiT weights on disk 70 GB 42 GB
DiT forwards per video 4 4

The factorization is near-exact rather than lossy. AdaLN's input is always silu(time_embedder(time_proj(t))) for a scalar timestep, so the modulation a layer can ever produce traces a one-dimensional curve, and rank 16 reconstructs it to 6.7e-09 worst case, several orders of magnitude below what bf16 can represent.

rank basis residual worst-case modulation error
8 8.645e-05 5.442e-04
16 1.495e-09 6.712e-09
32 4.850e-15 8.059e-15

Measured on one NVIDIA GB10

One DGX Spark, 121 GiB unified memory, one GPU, text-to-video with synchronized stereo audio, VSA-H3 attention on the Triton kernel, five sigma-grid points which is four DiT forwards on this distilled checkpoint.

frames duration resolution peak allocated time
124 5.17 s 768x1344 61.7 GiB 1587 s
226 9.42 s 768x1344 75.4 GiB 1674 s
277 11.54 s 768x1344 82.6 GiB 2270 s
345 14.38 s 768x1344 83.7 GiB 3202 s

345 frames is the longest MiniMax-H3 generates, MINIMAX_H3_MAX_DURATION is 15 s at 24 fps and the frame count must satisfy 17n + 5. The output was checked with ffprobe rather than taken from the log: 1344x768, 345 video frames, 451 audio frames, 14.375 s.

The unmodified FastH3 does not load on this machine at all. Its four components sum to 124.0 GiB against the device's 121 GiB.

Use

python examples/inference/basic/basic_minimax_h3_t2v.py \
    --model-path <this repo> \
    --num-gpus 1 --steps 5 --height 768 --width 1344 --num-frames 345 \
    --prompt "A red fox walking through a snowy forest at dawn, cinematic"

--steps 5 counts sigma-grid points, which is four DiT forwards on a distilled checkpoint, not five denoising steps.

FP8 is not a flag on this example. Pass it through the API instead:

from fastvideo import VideoGenerator
from fastvideo.layers.quantization import get_quantization_config

generator = VideoGenerator.from_pretrained(
    "<this repo>",
    num_gpus=1,
    transformer_quant=get_quantization_config("FP8")(),
)

Reaching the longest rows above needs two changes that are not on FastVideo's main branch yet. --lazy-module-load loads each component on first use and frees it after its last stage, and comes from #1761. FP8 covers the feed-forward stack only after #1780; before it, FP8 quantizes 8.01B of the 22.09B parameters and the 345-frame run is killed. Until both land, use those branches or a machine with more memory. Everything up to 226 frames works on main today.

Limits

Inference only. FastVideo refuses to train a checkpoint carrying adaln_rank, because the factorization is fitted to the base model's timestep embedding and gradient updates would invalidate it.

Requires the VSA-H3 attention backend, inherited from FastH3. The trained to_gate_compress weights are present and the DiT only builds that layer under that backend.

Attribution

Derived from FastVideo/FastVideo-Minimax-FastH3-Preview-v0.2, itself derived from MiniMaxAI/MiniMax-H3, and distributed under the MiniMax H3 Community License Agreement. All of the model's capabilities are MiniMax's.

These weights come from FastVideo's rank-reduced AdaLN converter, applied unmodified. The converter was added in #1699 and moved into scripts/checkpoint_conversion in #1712. What is new here is only the target: the distilled checkpoint rather than the official one. For the same treatment of official MiniMax-H3 at 50 steps, see noctuashap/MiniMax-H3-pruned-r16.

Only transformer/ differs from the base checkpoint. The other components are byte-identical copies of FastH3 Preview v0.2, carried here because FastVideo requires every component directory to be present in the repository.

Downloads last month
-
Safetensors
Model size
22B params
Tensor type
BF16
·
F16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for KyleNeverGivesUp/FastH3-Preview-v0.2-r16

Finetuned
(1)
this model