Stable Diffusion web UI (이하 SD) 를 사용하다보면 반드시 사용하게 되는 SD 의 기능이 있다. LoRA (Low-Rank Adaptation of Large Language Models) 가 가장 많이 사용된다. 여기서 Large Language Models 는 Transformer 를 이야기하는거고 Stable Diffusion 에도 Transformer 가 있기 때문에 이 부분에 적용된다.
학습된 파라메터(SD 에서는 체크포인트)를 파인튜닝(미세조정)하려면 재학습 시켜야 하는데, 재학습시키는건 비용(=시간)이 많이 들기 때문에 조금 변형해서 학습 시킨다. 그 변형하는 방법이 "Low-Rank Adaptation" 이다. 예를 들어 1000 x 2000 행렬을 1000 x 2 + 2000 x 2 로 해서 학습할 파라메터를 줄인다. 그렇게 학습된게 LoRA 다.
이후에 LoCon(Conventional LoRA) 이라는 기법나오고, LoCon 을 발전시킨 LoHa(LoRA with Hadamard Product representation) 라는 기법이 더 나왔다. SD에서는 LyCORIS(Lora beYond Conventional methods, Other Rank adaptation Implementations) 라는 확장 프로그램을 사용해 LoCon 과 LoHa 를 사용할 수 있다.
물론 학습이 쉬워졌다(=낮은 사양에서도 실질적으로 학습 할 수 있다)는 이야기지, 대충 만들어도 좋게 나온다는 의미는 아니다. 그래도 학습에 필요한 양질의 이미지를 준비해야하기 때문에, 상당한 노력과 시간이 필요하긴 하다.
필자가 생성하는 거의 모든 이미지에 koreanDollLikeness_v10 를 사용한다. 심지어 koreanDollLikeness_v20 이 나오긴 했지만 안쓴다. 맘에 드는 LoRA 하나 정도는 찾아 놓는것도 좋을것 같다. 아래 이미지는 이를 사용해 생성한 이미지다.