46 lines
1.8 KiB
Bash
46 lines
1.8 KiB
Bash
export MODEL_NAME="models/Diffusion_Transformer/MiniMax-H3"
|
|
export DATASET_NAME="datasets/X-Fun-Videos-Audios-Demo/"
|
|
export DATASET_META_NAME="datasets/X-Fun-Videos-Audios-Demo/metadata_add_width_height.json"
|
|
NCCL_DEBUG=INFO
|
|
|
|
# Resolution: --video_sample_size is the square bucket ceiling used with --random_hw_adapt / --enable_bucket.
|
|
# To pin every sample to a fixed non-square canvas instead, add "--fix_sample_size <height> <width>" (e.g. 768 1344);
|
|
# it overrides --video_sample_size and turns off --random_hw_adapt / --training_with_video_token_length.
|
|
|
|
accelerate launch --mixed_precision="bf16" --use_fsdp \
|
|
--fsdp_auto_wrap_policy TRANSFORMER_BASED_WRAP --fsdp_transformer_layer_cls_to_wrap=MiniMaxH3TransformerBlock \
|
|
--fsdp_sharding_strategy "FULL_SHARD" --fsdp_state_dict_type=SHARDED_STATE_DICT \
|
|
--fsdp_backward_prefetch "BACKWARD_PRE" --fsdp_cpu_ram_efficient_loading False \
|
|
scripts/minimax_h3/train_lora.py \
|
|
--pretrained_model_name_or_path=$MODEL_NAME \
|
|
--train_data_dir=$DATASET_NAME \
|
|
--train_data_meta=$DATASET_META_NAME \
|
|
--video_sample_size=960 \
|
|
--token_sample_size=960 \
|
|
--video_sample_stride=1 \
|
|
--video_sample_n_frames=124 \
|
|
--train_batch_size=1 \
|
|
--video_repeat=1 \
|
|
--dataloader_num_workers=4 \
|
|
--num_train_epochs=100 \
|
|
--checkpointing_steps=500 \
|
|
--learning_rate=1e-4 \
|
|
--seed=42 \
|
|
--output_dir="output_dir_minimax_h3_lora" \
|
|
--gradient_checkpointing \
|
|
--gradient_checkpointing_save_on_cpu \
|
|
--mixed_precision="bf16" \
|
|
--adam_weight_decay=3e-2 \
|
|
--adam_epsilon=1e-10 \
|
|
--vae_mini_batch=1 \
|
|
--max_grad_norm=1.0 \
|
|
--random_hw_adapt \
|
|
--training_with_video_token_length \
|
|
--enable_bucket \
|
|
--uniform_sampling \
|
|
--rank=64 \
|
|
--network_alpha=32 \
|
|
--low_vram \
|
|
--target_name="to_q,to_k,to_v,ff.0,ff.2,proj_in,audio_proj_in,context_embedder" \
|
|
--t2v_ratio=0.25 \
|
|
--train_mode="fl2va" |