Guide: 1to2: Training Multiple-Subject Models using only Single-Subject Data (Experimental)

세부 정보

파일 다운로드

모델 설명

업데이트는 Hugging Face와 Civitai 양쪽에서 동시에 반영됩니다.

소개

여러 캐릭터가 동일한 모델에 훈련될 수 있음을 보여주었다. 더 어려운 과제는 생성 파이프라인을 수정하지 않고 동시에 여러 캐릭터를 생성할 수 있는 모델을 만드는 것이다. 본 문서는 동일한 이미지 내에서 여러 캐릭터를 생성하는 데 도움이 되는 간단한 기술을 설명한다.

방법

요구 사항: 단일 캐릭터 이미지 세트
단계:
1. 원본 데이터셋을 사용하여 다중 개념 모델 훈련
2. 원본 데이터셋에서 이미지 쌍(합성 이미지)의 증강 데이터셋 생성
3. 증강 데이터셋으로 훈련 수행

실험

설정

심층 실험을 위해 게임 Cinderella Girls의 캐릭터 3명을 선택하였다. 기반 모델은 anime-final-pruned이다. 기반 모델이 훈련된 캐릭터에 대해 최소한의 지식을 갖추고 있는지 확인했으며, 여러 캐릭터가 포함된 이미지를 제거했다(수정: 훈련 후 무관한 배경 캐릭터가 일부 제거되지 않은 것으로 발견됨).

합성 이미지의 설명용 텍스트에는 다음 템플릿 형식을 사용한다: CharLeft/CharRight/COMPOSITE, TagsLeft, TagsRight.

아래 설정 파일을 이용해 LoRA(Hadamard 곱)를 훈련하였다:

[model_arguments]
v2 = false
v_parameterization = false
pretrained_model_name_or_path = "Animefull-final-pruned.ckpt"

[additional_network_arguments]
no_metadata = false
unet_lr = 0.0005
text_encoder_lr = 0.0005
network_module = "lycoris.kohya"
network_dim = 8
network_alpha = 1
network_args = [ "conv_dim=0", "conv_alpha=16", "algo=loha",]
network_train_unet_only = false
network_train_text_encoder_only = false

[optimizer_arguments]
optimizer_type = "AdamW8bit"
learning_rate = 0.0005
max_grad_norm = 1.0
lr_scheduler = "cosine"
lr_warmup_steps = 0

[dataset_arguments]
debug_dataset = false
# 토큰 1 유지
# 해상도 640*640

[training_arguments]
output_name = "cg3comp"
save_precision = "fp16"
save_every_n_epochs = 1
train_batch_size = 4
max_token_length = 225
mem_eff_attn = false
xformers = true
max_train_epochs = 40
max_data_loader_n_workers = 8
persistent_data_loader_workers = true
gradient_checkpointing = false
gradient_accumulation_steps = 1
mixed_precision = "fp16"
clip_skip = 2
lowram = true

[sample_prompt_arguments]
sample_every_n_epochs = 1
sample_sampler = "k_euler_a"

[saving_arguments]
save_model_as = "safetensors"

훈련의 두 번째 단계에서는 배치 크기를 2로 줄이고 해상도를 768×768로 설정하면서 다른 설정은 동일하게 유지하였다. T4 GPU에서 훈련은 2시간 미만이 소요되었다.

결과

(미리보기 이미지 참조)

제약 사항

  • 이 기술은 메모리/계산 요구량을 두 배로 증가시킴

  • 부정적 프롬프트를 사용해도 여전히 합성 이미지가 생성될 수 있음

  • 복제된 캐릭터가 혼합된 캐릭터와 달리 주요 오류 모드로 나타남

  • 이유는 모를지 모르지만, 2명의 캐릭터는 생성 가능하나 3명은 생성 불가

관련 연구

애니메이션 시리즈 기반 데이터셋으로 훈련된 모델은 다중 주제 처리 능력을 입증한 바 있다. 단순히 1girl, 1boy와 같이 충분히 다른 개념을 사용하는 것도 효과적임이 입증되었다.

향후 작업

아직 탐구되지 않은 아이디어 목록

  • 합성 데이터셋

  • 비정칙적인 종횡비

  • 정규화

  • 순차적 훈련 대신 공동 훈련

이 모델로 만든 이미지

이미지를 찾을 수 없습니다.