모델 세분화 Fine-Tuning
"전체 Fine-Tuning은 무거운 검과 같지만, 파라미터 효율적인 Fine-Tuning은 작은 칼과 같다. 과일을 자를 때 무거운 검을 사용하지 않으며, 전투에 작은 칼을 사용하지 않는다." - 알케미 협회 회원인 이다 알케미는 자신의 노트에 적었다.
Fine-Tuning 모델은 두 가지 유형으로 나눌 수 있습니다:
- 전체 Fine-Tuning: 모델의 모든 파라미터를 학습하여 새로운 모델을 생성합니다.
- 파라미터 효율적인 Fine-Tuning: 일부 파라미터만 Fine-Tuning하여, 독립적으로 사용할 수 없고 원래 모델과 함께 사용해야 하는 작은 모델을 생성합니다.
이 두 기술은 서로 다른 시나리오에 적합합니다.
아래는 각각의 사용 시나리오에 대한 예시입니다.
전체 Fine-Tuning의 사용 시나리오
우리가 이미지의 다양한 시나리오를 생성할 수 있는 Stable Diffusion 2.1 모델이 있다고 가정해 봅시다.
이제 이 모델을 인간 사진의 다양한 실제 시나리오를 생성하기 위해서만 사용하고 싶다면, 전체 Fine-Tuning을 사용해야 합니다.
실제 인간 사진을 많이 (10,000개 이상) 준비하고, 이러한 이미지를 기반으로 모델을 Fine-Tuning하여, 실제 인간 사진만 생성하는 전용 모델을 학습합니다.
실제 인간 사진 전용 모델을 획득한 후, 이를 이미지 생성 작업 공간에 넣고 실제 인간 사진을 생성하기 시작할 수 있습니다.
파라미터 효율적인 Fine-Tuning의 사용 시나리오
다음으로, 우리는 다른 아이디어를 가지고 있습니다. 우리는 이 모델에서 생성된 사진에 등장하는 인물이 모두 고정된 유명인사이기를 바랍니다. 즉, 사진에 등장하는 인물의 얼굴이 고정되기를 바랍니다.
이 경우, 우리는 파라미터 효율적인 Fine-Tuning을 사용할 수 있으며, 해당 유명인사의 소수 (10-50장) 사진을 준비하고, 이러한 이미지를 기반으로 파라미터 효율적인 Lora 모델을 Fine-Tuning합니다.
작은 모델을 획득한 후, 이미지를 생성할 때 원래의 대형 모델과 이 파라미터 효율적인 작은 모델을 함께 사용해야 합니다.
전체 Fine-Tuning: 더 많은 컴퓨팅 리소스를 필요로 하며, 일반적으로 대규모 데이터셋에 더 적합합니다. 대규모 조정, 예를 들어 모델의 전반적인 스타일 조정이나, 2차원 이미지를 생성하는 데 사용되는 모델을 실제 이미지 생성 모델로 전환하는 경우와 같이 대규모 조정에 적합합니다.
파라미터 효율적인 Fine-Tuning: 더 편리하게 학습하고 사용할 수 있으며, 특정 인물의 얼굴이나 특정 유형의 의류를 생성하려는 경우와 같이 특정 목적에 적합합니다.