48 lines
1.8 KiB
Bash
48 lines
1.8 KiB
Bash
export MODEL_NAME="models/Diffusion_Transformer/lingbot-video-dense-1.3b"
|
|
export DATASET_NAME="datasets/X-Fun-Videos-Demo"
|
|
export DATASET_META_NAME="datasets/X-Fun-Videos-Demo/metadata_lingbot_video_add_width_height.json"
|
|
|
|
# NCCL_IB_DISABLE=1 and NCCL_P2P_DISABLE=1 are used in multi nodes without RDMA.
|
|
# export NCCL_IB_DISABLE=1
|
|
# export NCCL_P2P_DISABLE=1
|
|
NCCL_DEBUG=INFO
|
|
|
|
# The FSDP wrap unit must be LingBotVideoBlock so that attention / FFN (and the
|
|
# MoE experts of the 30B model) stay in one shard.
|
|
accelerate launch --mixed_precision="bf16" --use_fsdp --fsdp_auto_wrap_policy TRANSFORMER_BASED_WRAP \
|
|
--fsdp_transformer_layer_cls_to_wrap=LingBotVideoBlock --fsdp_sharding_strategy "FULL_SHARD" \
|
|
--fsdp_state_dict_type=SHARDED_STATE_DICT --fsdp_backward_prefetch "BACKWARD_PRE" \
|
|
--fsdp_cpu_ram_efficient_loading False scripts/lingbot_video/train.py \
|
|
--pretrained_model_name_or_path=$MODEL_NAME \
|
|
--train_data_dir=$DATASET_NAME \
|
|
--train_data_meta=$DATASET_META_NAME \
|
|
--image_sample_size=640 \
|
|
--video_sample_size=640 \
|
|
--token_sample_size=640 \
|
|
--video_sample_stride=1 \
|
|
--video_sample_n_frames=81 \
|
|
--train_batch_size=1 \
|
|
--video_repeat=1 \
|
|
--gradient_accumulation_steps=1 \
|
|
--dataloader_num_workers=8 \
|
|
--num_train_epochs=100 \
|
|
--checkpointing_steps=50 \
|
|
--learning_rate=1e-05 \
|
|
--lr_scheduler="constant_with_warmup" \
|
|
--lr_warmup_steps=100 \
|
|
--seed=42 \
|
|
--output_dir="output_dir_lingbot_video_ti2v" \
|
|
--gradient_checkpointing \
|
|
--mixed_precision="bf16" \
|
|
--adam_weight_decay=3e-2 \
|
|
--adam_epsilon=1e-10 \
|
|
--vae_mini_batch=1 \
|
|
--max_grad_norm=0.05 \
|
|
--random_hw_adapt \
|
|
--training_with_video_token_length \
|
|
--enable_bucket \
|
|
--uniform_sampling \
|
|
--train_shift=3.0 \
|
|
--trainable_modules "." \
|
|
--resume_from_checkpoint=latest
|