h3-blackwell-runtime/TURBO.md
2026-08-20 19:13:23 +07:00

4.8 KiB

FL2VA Turbo

The hot runtime can keep both official LightX2V FL2VA Turbo adapters resident and switch them per request without rebuilding the packed NVFP4 base model.

Variants

API value Official artifact NFE Video/audio shift Schedule
4step minimax_h3_fl2v_turbo_4step_v1.1_768p_comfyui_bf16.safetensors 4 6/3 Uniform shifted training-Euler
8step minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors 8 12/3 Uniform shifted training-Euler

Downloaded from Hugging Face revision ec01fa4c86263832faa0bd1d6d8f36a281eaabb2:

Artifact SHA-256
4-step v1.1 Comfy BF16 449d80f301ac571622c72e28b8fd72a4b3681b7a8df8a92f17c8f6ec43f56558
8-step v1.0 Comfy BF16 2339acdf19bfe123f46b971ea35d367a84adb85de43627e1eceafa5a5b2b111e

The older unversioned 744 MB adapters remain on Spark but are not loaded by the hot service.

Implementation

Each official file contains 624 tensors covering 208 linear targets: four projections in each of 50 denoiser blocks and two token-refiner blocks. The runtime validates the complete key set, dimensions, rank, and alpha while loading.

The adapters are applied dynamically:

output = NVFP4_base(x) + strength * (alpha / rank) * B(A(x))

The BF16 branch receives the original activation. It does not receive the base checkpoint's pre_quant_scale-modified activation, and the LoRA delta is never merged into packed NVFP4 weights. Fused QKV uses rank/alpha 384; the other released projections use rank/alpha 128.

Turbo sampling maintains independent native video and audio states. The 4-step and 8-step variants use their own shifted sigma grids and positive data-ward training-Euler updates. The original beta/RES sampler remains unchanged when Turbo is disabled.

Hot API

The compose service registers both adapters with repeated startup arguments:

--turbo-lora 4step=/turbo/minimax_h3_fl2v_turbo_4step_v1.1_768p_comfyui_bf16.safetensors
--turbo-lora 8step=/turbo/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors

Select one per request:

{
  "prompt": "A calm restaurant at dusk.",
  "output": "/output/example.mp4",
  "width": 960,
  "height": 544,
  "frames": 124,
  "seed": 440408,
  "turbo": "4step"
}

The server chooses and enforces four or eight steps. Use null or "none" for the base path. Turbo and denoiser caching cannot be combined. /ready reports available_turbos and current_turbo.

Matched GB10 Benchmark

All runs used the same Posly first frame, prompt, seed 440408, 960x544 canvas, 124 frames, Sage2, FP16 tiled VAE, and no audio output.

Mode Steps Sampling Total wall Speedup vs base 8-step Sampling reduction
Base beta/RES 8 148.1 s 179.3 s 1.00x baseline
Turbo v1.0 8 121.1 s 152.3 s 1.18x 18.2%
Turbo v1.1 768p 4 60.4 s 91.2 s 1.97x 59.2%

The 4-step run was 1.67x faster end-to-end than the 8-step Turbo run. These are observed hot-service request times, not isolated steady-state kernel timings; shape-specific compilation can affect the first request.

Validation

  • 22 unit/contract tests cover disabled exactness, dynamic branch arithmetic, adapter selection, both official sigma grids, and independent AV training-Euler updates.
  • Both official files loaded with all 624 expected keys and all 208 target dimensions validated.
  • Both variants generated matched 960x544x124 FL2VA proofs.
  • Both variants completed joint AV smoke runs and produced stereo 32 kHz AAC muxed outputs.
  • Base warmup remains bit-preserving while no adapter is selected.

Comparison outputs:

\\192.168.1.162\StoryStudioAssets\H3-output\posly\proofs-960x540\01-posly-hero-turbo4-v1.1-seed440408-5s.mp4
\\192.168.1.162\StoryStudioAssets\H3-output\posly\proofs-960x540\01-posly-hero-turbo8-v1.0-seed440408-5s.mp4
\\192.168.1.162\StoryStudioAssets\H3-output\posly\proofs-960x540\01-posly-hero-turbo4-left-turbo8-right-seed440408.mp4

Quality Notes

For the Posly restaurant source, both Turbo variants avoided the severe central lens flare produced by the base-model trials. The 4-step result appeared slightly more compositionally stable; the 8-step result showed more subject motion. Both still brightened the exterior over time, so Turbo does not by itself satisfy the fixed-exposure requirement.

The adapters were released against the BF16 H3 base. Dynamic use over the pruned NVFP4 checkpoint is operationally validated here but is not an upstream-certified pairing. A future strict parity gate should compare per-step denoiser outputs and final latents against the latest LightX2V BF16 reference.

SLA Turbo is intentionally excluded. It requires LightX2V's separate 85% dynamic sparse-attention path and should not be represented as equivalent to these dense variants.