model:
  model_path: Wan-AI/Wan2.1-I2V-1.3B-diffusers/transformer
  condition_model_path: Wan-AI/Wan2.1-I2V-1.3B-diffusers
  ops_implementation:
    # Wan's RoPE has a non-standard signature (rope_apply takes a single
    # tensor plus freqs/head_dim kwargs) so the framework's default
    # liger_kernel RoPE cannot drop in. Pin to eager explicitly until a
    # Wan-specific liger wrapper exists.
    rotary_pos_emb_implementation: eager
  lora_config:
    rank: 128
    alpha: 64
    lora_modules:
      - to_q
      - to_k
      - to_v
      - to_out.0
      - ffn.net.0.proj
      - ffn.net.2

data:
  train_path: Tom-and-Jerry-VideoGeneration-Dataset
  source_name: Tom-and-Jerry-VideoGeneration-Dataset
  mm_configs:
    fps: 24
    max_frames: 81

train:
  global_batch_size: 8
  micro_batch_size: 1
  bsz_warmup_ratio: 0.007
  dyn_bsz: false
  init_device: meta
  num_train_epochs: 20
  training_task: online_training
  accelerator:
    ulysses_size: 1
    fsdp_config:
      fsdp_mode: fsdp2
  checkpoint:
    output_dir: Wan2.1-I2V-1.3B_lora
    save_hf_weights: true
    hf_save_epochs: 5
  optimizer:
    type: adamw
    lr: 1.0e-4
    lr_warmup_ratio: 0.007
    lr_decay_style: constant
    lr_decay_ratio: 1.0
    weight_decay: 0.01
    max_grad_norm: 1.0
  wandb:
    enable: true
    project: veomni_dit
    name: Wan2.1-I2V-1.3B_lora
