https://github.com/tdrussell/diffusion-pipe を使用して学習
学習データは以下の組み合わせです:
学習設定:
dataset.toml
# アスペクト比バケット設定
enable_ar_bucket = true
min_ar = 0.5
max_ar = 2.0
num_ar_buckets = 7
[[directory]] # 画像
# 画像と対応するキャプションファイルを含むディレクトリのパス。
path = '/mnt/d/huanvideo/training_data/images'
num_repeats = 5
resolutions = [1024]
frame_buckets = [1] # 画像には1フレームを使用。
[[directory]] # 動画
# 動画と対応するキャプションファイルを含むディレクトリのパス。
path = '/mnt/d/huanvideo/training_data/videos'
num_repeats = 5
resolutions = [368] # 動画の解像度を256(例:244p)に設定。
frame_buckets = [33, 49, 81] # 動画のフレームバケットを定義。
config.toml
# データセット設定ファイル
output_dir = '/mnt/d/huanvideo/training_output'
dataset = 'dataset.toml'
# 学習設定
epochs = 50
micro_batch_size_per_gpu = 1
pipeline_stages = 1
gradient_accumulation_steps = 4
gradient_clipping = 1.0
warmup_steps = 100
# 評価設定
eval_every_n_epochs = 5
eval_before_first_step = true
eval_micro_batch_size_per_gpu = 1
eval_gradient_accumulation_steps = 1
# その他設定
save_every_n_epochs = 15
checkpoint_every_n_minutes = 30
activation_checkpointing = true
partition_method = 'parameters'
save_dtype = 'bfloat16'
caching_batch_size = 1
steps_per_print = 1
video_clip_mode = 'single_middle'
[model]
type = 'hunyuan-video'
transformer_path = '/mnt/d/huanvideo/models/diffusion_models/hunyuan_video_720_cfgdistill_fp8_e4m3fn.safetensors'
vae_path = '/mnt/d/huanvideo/models/vae/hunyuan_video_vae_bf16.safetensors'
llm_path = '/mnt/d/huanvideo/models/llm'
clip_path = '/mnt/d/huanvideo/models/clip'
dtype = 'bfloat16'
transformer_dtype = 'float8'
timestep_sample_method = 'logit_normal'
[adapter]
type = 'lora'
rank = 32
dtype = 'bfloat16'
[optimizer]
type = 'adamw_optimi'
lr = 5e-5
betas = [0.9, 0.99]
weight_decay = 0.02
eps = 1e-8