[서론]
LDM은 고품질의 대규모 데이터셋으로 학습된 우수한 생성 모델로, 이미지 합성 및 편집, 비디오 생성, 오디오 제작, 3D 합성 등 다양한 작업에서 우수한 성능을 보입니다. 그러나 실제 응용에서의 광범위한 배포를 저해하는 주요 장애물은 낮은 샘플링 효율성입니다. 이는 LDM이 고품질 출력을 생성하기 위해 다단계 샘플링에 의존하기 때문입니다. 예를 들어, 50단계 DDIM 샘플링을 사용하는 경우가 많으며, 이는 출력을 보장하지만 상당히 긴 지연 시간을 초래합니다.
최근의 연구는 모델 크기를 줄이고, 샘플링 단계를 줄여 샘플링 알고리즘을 개선하는 데 중점을 두고 있습니다. 특히, 확산 증류 기법은 다단계 샘플링 결과를 단일 전방 패스로 학습하여 샘플링 효율성을 높이는 방법입니다. 그러나 이런 기법들이 작은 모델의 샘플링 효율성을 충분히 탐구하지 않았습니다. 이 연구에서는 예산 제약 하에 39백만에서 5십억 개의 파라미터를 가진 12개의 텍스트-이미지 LDM을 학습하여 모델 크기가 샘플링 효율성에 미치는 영향을 조사합니다.
[문제와 해결 방법]
문제
LDM은 높은 품질의 출력을 위해 다단계 샘플링을 필요로 하며, 이로 인해 실시간 응용에서 사용이 제한됩니다. 특히, 소규모 모델의 샘플링 효율성에 대한 연구가 부족하여 모델 크기를 줄이는 과정에서 성능 저하를 최소화하는 방법이 필요합니다.
해결 방법
이 연구에서는 다양한 크기의 텍스트-이미지 LDM을 학습하고, 모델 크기가 샘플링 효율성에 미치는 영향을 평가합니다. 이를 통해 소규모 모델이 동일한 샘플링 비용 하에서 대규모 모델보다 효율적으로 작동할 수 있는 가능성을 탐구합니다.
선행 연구와 본 논문의 발견
선행 연구
본 논문의 발견
[방법]
데이터셋 및 벤치마크
주요 방법
[수학적 이해 및 논리]
LDM은 데이터 분포를 학습하여 새로운 데이터를 생성하는 모델로, 주로 이미지 생성에서 많이 사용됩니다. LDM의 주요 원리는 데이터에 점진적으로 노이즈를 추가하고, 반대로 그 노이즈를 제거하여 원본 데이터를 복원하는 과정입니다. 이를 통해 모델은 데이터 분포를 학습하고, 새로운 샘플을 생성할 수 있습니다. 이 과정은 확산 과정(diffusion process)과 역확산 과정(reverse diffusion process)으로 나뉩니다.
1. 확산 과정
확산 과정에서는 데이터 $x_0$에 점진적으로 노이즈를 추가하여 점점 더 무작위화된 데이터 $x_T$를 생성하며, 다음과 같이 표현할 수 있습니다.
\[q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{\alpha_t} x_{t-1}, (1 - \alpha_t) \mathbf{I})\]상기 식에서 $ \alpha_t $는 노이즈 스케줄링 파라미터입니다. 이 과정은 다음과 같이 표현할 수 있습니다.
\[x_t = \sqrt{\alpha_t} x_{t-1} + \sqrt{1 - \alpha_t} \epsilon\]상기 식에서 $\epsilon \sim \mathcal{N}(0, \mathbf{I})$는 가우시안 노이즈입니다. 이 과정을 반복하면, 원본 데이터 $x_0$는 점점 더 많은 노이즈가 추가되어 $x_T$로 변환됩니다.
2. 역확산 과정
역확산 과정에서는 노이즈가 추가된 데이터 $x_T$에서 점진적으로 노이즈를 제거하여 원본 데이터를 복원합니다. 이를 위해 모델 $\epsilon_\theta$가 학습되며, 다음과 같이 표현됩니다.
\[p_\theta(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \sigma_t^2 \mathbf{I})\]상기 식에서 $\mu_\theta(x_t, t)$는 다음과 같이 정의됩니다.
\[\mu_\theta(x_t, t) = \frac{1}{\sqrt{\alpha_t}} \left( x_t - \frac{1 - \alpha_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon_\theta(x_t, t) \right)\]$\bar{\alpha}_t$는 누적 노이즈 스케줄링 파라미터로, 다음과 같이 정의됩니다.
\[\bar{\alpha}_t = \prod_{s=1}^t \alpha_s\]이제 역확산 과정을 통해 샘플링을 수행할 수 있습니다. 이를 수식으로 나타내면 다음과 같습니다.
\[\hat{x}_{t-1} = \frac{1}{\sqrt{\alpha_t}} \left( \hat{x}_t - \frac{1 - \alpha_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon_\theta(\hat{x}_t, t) \right) + \sigma_t z\]상기 식에서 $z \sim \mathcal{N}(0, \mathbf{I})$입니다. 이 과정을 $T$부터 1까지 반복하여 $\hat{x}_0$를 얻습니다.
DDIM(Denoising Diffusion Implicit Model) 샘플링 위의 역확산 과정은 전통적인 DDPM(Denoising Diffusion Probabilistic Model) 샘플링 과정입니다. 그러나 효율성을 높이기 위해 DDIM(Denoising Diffusion Implicit Model) 샘플링 방법을 사용하기도 합니다. DDIM 샘플링은 다음과 같이 정의됩니다.
\[\hat{x}_{t-1} = \sqrt{\alpha_{t-1}} \left( \frac{\hat{x}_t - \sqrt{1 - \alpha_t} \epsilon_\theta(\hat{x}_t, t)}{\sqrt{\alpha_t}} \right) + \sqrt{1 - \alpha_{t-1}} \epsilon_\theta(\hat{x}_t, t)\]DDIM 샘플링은 전통적인 DDPM 샘플링과 비교하여 더 적은 샘플링 단계로도 높은 품질의 결과를 얻을 수 있습니다. 이는 각 단계에서 더 많은 정보를 유지하면서 노이즈를 제거하기 때문입니다.
샘플링 효율성 LDM의 샘플링 효율성을 평가하기 위해, 다양한 크기의 모델을 비교합니다. 모델의 크기는 파라미터의 수로 결정되며, 이로 인해 샘플링 단계와 각 단계의 계산 비용이 달라집니다. 샘플링 비용은 다음과 같이 정의할 수 있습니다.
\[\text{Sampling cost} = \text{Samping steps} \times \text{Cost per samping steps}\]상기 식에서, 모델의 크기가 커질수록 각 단계의 계산 비용이 증가합니다. 따라서 동일한 샘플링 비용 하에서 소규모 모델과 대규모 모델의 성능을 비교하여, 샘플링 효율성을 평가할 수 있습니다.
[실험]
다양한 크기의 LDM을 학습하여 샘플링 효율성을 평가한 결과, 소규모 모델이 동일한 샘플링 비용 하에서 대규모 모델보다 우수한 성능을 보였습니다. 이는 소규모 모델이 더 적은 계산 비용으로도 고품질의 출력을 생성할 수 있음을 시사합니다. 또한, 다양한 샘플링 알고리즘을 적용했을 때도 이런 경향이 일관되게 나타났습니다.
소규모 모델(39M)과 대규모 모델(5B)을 비교한 결과, 소규모 모델이 초기 샘플링 단계에서 더 나은 성능을 보였는데, 이는 제한된 샘플링 비용 하에서 소규모 모델이 더 효율적으로 작동할 수 있음을 시사할 수 있습니다.
[vLLM sLLM의 효용 색인마킹 - 파라미터 작은 모델의 효용성 Sampling]
[결론]
이 논문에서는 LDM의 스케일링 특성을 조사하여, 소규모 모델이 동일한 샘플링 비용에서 대규모 모델보다 효율적으로 작동할 수 있음을 발견했습니다. 이는 실제 응용에서 모델 크기를 최적화하여 성능을 유지하면서 샘플링 효율성을 향상시키는 방향으로의 연구를 제시합니다. 다양한 샘플링 알고리즘에서도 이런 스케일링 특성이 일관되게 나타남을 확인하였다고 합니다.
[참고자료 1] 확산 모델과 노이즈 추가 및 제거 과정 이해
확산 모델은 데이터에 점진적으로 노이즈를 추가하고 다시 제거하여 원래 데이터를 복원하는 과정을 통해 학습합니다.
1. 확산 과정
확산 과정은 원래 데이터에 점진적으로 노이즈를 추가하는 단계입니다. 이 과정을 통해 데이터는 점점 무작위화되며, 최종적으로 완전히 무작위화된 데이터가 됩니다. 이 과정을 수식으로 표현하면 다음과 같습니다.
\[q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{\alpha_t} x_{t-1}, (1 - \alpha_t) \mathbf{I})\]이를 좀 더 간단히 표현하면 다음과 같습니다.
\[x_t = \sqrt{\alpha_t} x_{t-1} + \sqrt{1 - \alpha_t} \epsilon\]이 과정을 여러 번 반복하면 원래 데이터 $x_0$는 점점 더 많은 노이즈가 추가되어 $x_T$라는 무작위화된 데이터가 됩니다.
예시
(예시1) 첫 번째 단계에서 \(\alpha_1 = 0.9\)인 경우
\(x_1 = \sqrt{0.9} \cdot x_0 + \sqrt{1 - 0.9} \cdot \epsilon\)
위 식에서 \(\epsilon\)은 평균이 0이고 분산이 1인 가우시안 노이즈입니다.
(예시2) \(\epsilon = [0.5, -0.5]\)인 경우
\(x_1 = \sqrt{0.9} \cdot [1, 2] + \sqrt{0.1} \cdot [0.5, -0.5]\)
\(x_1 = [0.95, 1.90] + [0.158, -0.158]\)
\(x_1 = [1.108, 1.742]\)
2. 역확산 과정
역확산 과정에서는 노이즈가 추가된 데이터 $x_T$에서 점진적으로 노이즈를 제거하여 원본 데이터를 복원
기본 개념
역확산 과정은 노이즈가 추가된 데이터에서 점진적으로 노이즈를 제거하여 원래 데이터를 복원하는 단계로 식으로 표현하면 다음과 같습니다.
\[p_\theta(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \sigma_t^2 \mathbf{I})\]이제 역확산 과정을 통해 샘플링을 수행하는 방법을 살펴보면 다음과 같습니다.
\[\hat{x}_{t-1} = \frac{1}{\sqrt{\alpha_t}} \left( \hat{x}_t - \frac{1 - \alpha_t}{\sqrt{1 - \bar{\alpha}_t}} \epsilon_\theta(\hat{x}_t, t) \right) + \sigma_t z\]이 과정을 $T$부터 1까지 반복하여 $\hat{x}_0$를 얻으면, 최종적으로 원래 데이터 $x_0$를 복원할 수 있습니다.
예시 \(x_T\)에서 시작하여, 각 단계에서 노이즈를 제거합니다.
(예시1) 예를 들어, \(x_T = [1.108, 1.742]\)이고, \(t = T\), \(\alpha_T = 0.9\)인 경우
\(\hat{x}_{T-1} = \frac{1}{\sqrt{0.9}} \left( x_T - \frac{1 - 0.9}{\sqrt{1 - \bar{\alpha}_T}} \epsilon_\theta(x_T, T) \right) + \sigma_T z\)
위 식에서 \(\epsilon_\theta(x_T, T)\)는 모델이 예측한 노이즈, \(z\)는 새로운 가우시안 노이즈입니다.
(예시2) \(\epsilon_\theta(x_T, T) = [0.1, -0.1]\)이고, \(z = [0.1, 0.1]\)인 경우
\(\hat{x}_{T-1} = \frac{1}{\sqrt{0.9}} \left( [1.108, 1.742] - \frac{0.1}{\sqrt{1 - \bar{\alpha}_T}} \cdot [0.1, -0.1] \right) + \sigma_T [0.1, 0.1]\)
기호는 첫 번째 예시와 동일하며,
이 과정을 반복하여 \(\hat{x}_0\)에 도달하게 됩니다.
3. 데이터의 점진적 변형 및 복원(확산 및 역확산의 반복)
결론적으로 확산 및 역확산 과정을 반복하여 원래 데이터를 점진적으로 변형하고 복원할 수 있습니다.