Skip to content

Latest commit

 

History

History
134 lines (107 loc) · 4.85 KB

quickstart.md

File metadata and controls

134 lines (107 loc) · 4.85 KB

Quickstart

This guide runs MiniMax-H3 Stage0.5 training and Stage2 inference with released 158-frame preencoded latents. Neither requires raw-WDS. For inference only, complete setup and downloads, then skip to Stage2 inference.

1. Set up the H3 environment

Wan, LTX, and MiniMax-H3 use separate environments. Follow the H3 setup in Runtime environments, activate it, and install SolarWM:

export SOLAR_REPO=/path/to/SolarWM
cd "$SOLAR_REPO"
python -m pip install -e .
solar environment probe

2. Download weights and data

Choose local directories for the model, data, and outputs:

export SOLAR_MODEL_ROOT=/path/to/SolarWM-models
export SOLAR_DATA_HOME=/path/to/SolarWM-Data
export SOLAR_DATA_ROOT="$SOLAR_DATA_HOME/releases-v1"
export SOLAR_OUTPUT_ROOT=/path/to/outputs
mkdir -p "$SOLAR_MODEL_ROOT" "$SOLAR_DATA_HOME" "$SOLAR_OUTPUT_ROOT"

Accept the access terms for both the H3 model repository and the SolarWM-Data repository, then download the base model, the Stage2 EMA checkpoint, and the data indexes. The Stage2 checkpoint is only needed for inference.

python -m pip install --upgrade huggingface_hub
hf auth login

hf download junchaoh-cs/SolarWM-H3-33B \
  --include "SolarWM-h3-33B-base/**" "SolarWM-h3-33B-sgf-stage2-158f-fix/**" \
  --local-dir "$SOLAR_MODEL_ROOT"

hf download junchaoh-cs/SolarWM-Data \
  --repo-type dataset \
  --exclude "SolarWM-Data-Annotation/**" \
  --local-dir "$SOLAR_DATA_HOME"

Download minimax-h3-158f-768p-nomind-v1 from ModelScope International or ModelScope China and place it at:

$SOLAR_DATA_ROOT/latent-wds/minimax-h3-158f-768p-nomind-v1/

The main data repository supplies the matching recipe indexes. Keep the latent generation's support/ directory alongside its shards, then set:

export H3_BASE="$SOLAR_MODEL_ROOT/SolarWM-h3-33B-base"
export H3_STAGE2_CHECKPOINT="$SOLAR_MODEL_ROOT/SolarWM-h3-33B-sgf-stage2-158f-fix"
export H3_SUPPORT="$SOLAR_DATA_ROOT/latent-wds/minimax-h3-158f-768p-nomind-v1/support"

3. Check the configuration

Resolve the example with your local paths before starting training:

solar config resolve \
  --config configs/solar_wm/minimax_h3/stage0p5-158f-lora384-sp2.yaml \
  --set distributed.world_size=8 \
  --set train.global_batch_size=4 \
  --set model.checkpoint_path="$H3_BASE" \
  --set data.index_root="$SOLAR_DATA_ROOT" \
  --set data.transport.root="$SOLAR_DATA_ROOT" \
  --set data.silence_latents_path="$H3_SUPPORT/h3_silence_153_158_170.safetensors" \
  --set data.encoder_contract_path="$H3_SUPPORT/encoder_contract.json" \
  --set runtime.output_dir="$SOLAR_OUTPUT_ROOT/h3-stage0p5-158f"

4. Launch training

The following command runs on one eight-GPU node with a smaller global batch than the default training config:

torchrun --standalone --nproc-per-node=8 \
  -m solar train \
  --config configs/solar_wm/minimax_h3/stage0p5-158f-lora384-sp2.yaml \
  --set distributed.world_size=8 \
  --set train.global_batch_size=4 \
  --set model.checkpoint_path="$H3_BASE" \
  --set data.index_root="$SOLAR_DATA_ROOT" \
  --set data.transport.root="$SOLAR_DATA_ROOT" \
  --set data.silence_latents_path="$H3_SUPPORT/h3_silence_153_158_170.safetensors" \
  --set data.encoder_contract_path="$H3_SUPPORT/encoder_contract.json" \
  --set runtime.output_dir="$SOLAR_OUTPUT_ROOT/h3-stage0p5-158f"

Stage0.5 validation also uses the preencoded data and remains enabled. The output directory contains the resolved configuration, launch manifest, checkpoints, and validation results.

5. Run Stage2 inference

Generate 158-frame videos with the released Stage2 EMA checkpoint:

torchrun --standalone --nproc-per-node=8 -m solar infer \
  --config configs/solar_wm/minimax_h3/infer-stage2-158f-sp4.yaml \
  --set model.checkpoint_path="$H3_BASE" \
  --set checkpoint.resume_from="$H3_STAGE2_CHECKPOINT" \
  --set checkpoint.weight_source=ema \
  --set data.index_root="$SOLAR_DATA_ROOT" \
  --set data.transport.root="$SOLAR_DATA_ROOT" \
  --set data.silence_latents_path="$H3_SUPPORT/h3_silence_153_158_170.safetensors" \
  --set data.encoder_contract_path="$H3_SUPPORT/encoder_contract.json" \
  --set runtime.output_dir="$SOLAR_OUTPUT_ROOT/h3-stage2-infer"

Next steps