Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time

하임·2024년 11월 27일

Merging

목록 보기
4/5

https://arxiv.org/pdf/2203.05482

  • 간단 요약 Model Soups: Averaging Weights of Multiple Fine-Tuned Models 논문은 다수의 파인튜닝된 모델 가중치를 평균화하여 모델의 정확도와 강건성을 높이는 방법을 제안합니다. 이 방법은 추론 시간이나 메모리 비용을 증가시키지 않으며, 다양한 하이퍼파라미터로 파인튜닝된 모델들을 평균화하여 Model Soup을 생성하는 방식으로 동작합니다. 주요 구성 요소는 다음과 같습니다:
    1. Uniform Soup: 모든 모델의 가중치를 동일하게 평균하여 모델을 구성합니다.

    2. Greedy Soup: 검증 성능이 향상되는 모델만 선택적으로 추가하여 성능을 최대화합니다.

      모델의 손실 지형이 비볼록(non-convex)한 특성을 활용하여, 모델들이 비슷한 손실 영역에 있는 경우 평균화가 효과적임을 확인합니다. 실험 결과, 이 방법은 이미지 분류와 텍스트 분류 작업에서 단일 모델을 선택하는 것보다 높은 성능을 보여주었습니다.

      한계점

    3. 적용 가능성 제한: 대규모 데이터셋으로 사전 학습된 모델에서 성능 개선이 두드러지며, 특정 데이터셋에서는 개선이 제한적입니다.

    4. Calibration: 앙상블이 모델의 예측 보정을 개선하는 반면, Model Soup은 이러한 효과가 제한적입니다.

요약

전통적으로 모델 성능을 극대화하기 위해 (1) 다양한 하이퍼파라미터로 다수의 모델을 학습한 후, (2) 검증 셋에서 가장 성능이 좋은 모델을 선택하고 나머지는 폐기하는 방식이 사용됩니다. 이 논문에서는 대규모 사전 학습 모델의 파인튜닝에서 이 두 번째 절차를 재검토했습니다. 다양한 하이퍼파라미터 설정으로 파인튜닝된 모델의 가중치를 평균화하면 정확도와 강건성이 개선됨을 보였습니다.

Model Soups는 기존 앙상블과 달리 다수의 모델을 평균화하더라도 추론이나 메모리 비용이 추가되지 않는 특징이 있습니다. 이 접근법은 CLIP, ALIGN, JFT 데이터셋에서 사전 학습된 ViT-G 모델을 파인튜닝할 때, ImageNet에서 최상의 모델보다 높은 성능을 제공했으며, ViT-G 모델은 90.94%의 ImageNet top-1 정확도를 달성하며 새로운 최고 성능을 기록했습니다.

또한, Model Soups는 여러 이미지 분류 및 자연어 처리 작업에 확장 가능하며, 분포 밖 성능과 새로운 다운스트림 작업에서의 제로샷 성능도 개선합니다. 마지막으로, 가중치 평균과 로짓 앙상블의 성능 유사성을 손실 평탄성과 예측 신뢰도와 관련하여 분석적으로 설명하고, 이를 실험적으로 검증했습니다.

Introduction 요약

최근 연구는 대규모, 이질적 데이터셋으로 사전 학습된 모델들이 다양한 다운스트림 작업에 효과적으로 전이된다는 것을 보여주고 있습니다. 일반적으로 파인튜닝 과정은 (1) 다양한 하이퍼파라미터로 모델을 파인튜닝하고, (2) 검증 셋에서 최고의 성능을 보인 단일 모델을 선택하는 방식으로 이루어집니다. 그러나 이러한 단일 모델 선택 방식은 몇 가지 단점이 있습니다. 특히, 앙상블 방법이 단일 모델보다 뛰어난 성능을 보일 수 있지만, 추론 시 계산 비용이 높아지며, 파인튜닝된 모델이 분포 외(out-of-distribution) 데이터 성능을 떨어뜨리는 경우도 있습니다.

이 연구에서는 단일 모델을 선택하는 대신, 독립적으로 파인튜닝된 여러 모델의 가중치를 평균화한 Model Soup 방법을 제안합니다. 이 방법은 추가 학습이나 추론 시 추가 비용 없이 다양한 모델의 가중치를 결합하여 정확도와 강건성을 향상시킵니다.

Model Soup의 개념

  • Model Soup은 다양한 하이퍼파라미터로 독립적으로 파인튜닝된 모델 가중치를 평균화하여, 단일 모델 선택의 한계를 극복하고, 분포 내 및 분포 외 테스트 세트에서 성능을 향상시킵니다.
  • Greedy Soup: 단순한 균일 평균 대신, 검증 성능을 개선하는 모델만을 순차적으로 추가하는 방법으로, 다양한 손실 지형에 있는 모델을 제외할 수 있습니다.

주요 실험 결과

CLIP, ALIGN, ViT-G 모델을 통해 실험한 결과, Model Soups가 단일 모델을 초과하는 성능을 보여주었고, 특히 ImageNet에서 최첨단 성능을 기록했습니다. 이 방법은 분포 변화 데이터셋과 텍스트 분류와 같은 다양한 다운스트림 작업에서도 적용 가능했습니다.

이론적 분석

또한, 가중치 평균화와 로짓 앙상블의 손실 유사성을 손실 평탄성과 예측 신뢰도와 연관 지어 분석하였으며, 실험적으로 검증하여 모델 간 가중치 평균화가 높은 정확도를 달성할 수 있음을 확인했습니다.

Model Soup 방법은 실험을 통해 성능이 확인되었으며, 추가적인 계산 비용 없이 앙상블 성능에 접근할 수 있는 유망한 대안으로 제시됩니다.

Method 요약

Model Soups는 여러 하이퍼파라미터 설정으로 파인튜닝된 모델들의 가중치를 평균화하여 성능을 향상시키는 방법입니다. 이 섹션에서는 Uniform Soup, Greedy Soup, 그리고 Learned Soup이라는 세 가지 주요 레시피를 소개합니다. 특히, Greedy Soup이 중심 방법으로 사용됩니다.

Model Soup 종류

  1. Uniform Soup
    • 모든 파인튜닝된 모델 θi\theta_i 의 가중치를 단순 평균하여 모델을 구성합니다.
    • S={1,...,n}S = \{1, ..., n\} 으로 설정하여, θS=1SiSθi\theta_S = \frac{1}{|S|} \sum_{i \in S} \theta_i 로 계산합니다.
  2. Greedy Soup
    • 검증 정확도가 가장 높은 모델부터 차례로 모델을 추가하여 성능이 개선될 때만 모델을 포함하는 방식입니다.
    • Greedy Soup 알고리즘 (Recipe 1):
      • 입력으로 검증 정확도가 높은 순으로 정렬된 모델 집합 {θ1,...,θk}\{ \theta_1, ..., \theta_k \} 을 받습니다.
      • 각 모델을 순차적으로 추가하며, 현재 Soup의 평균 성능이 향상될 경우에만 해당 모델을 유지합니다.
      • 최종적으로, 추가된 모든 모델의 평균을 반환합니다.
  3. Learned Soup
    • 모델 가중치의 최적화를 위한 미니배치 최적화를 활용하여 각 모델의 가중치 보간을 학습합니다.
    • 이 방법은 모든 모델을 메모리에 동시에 로드해야 하므로, 현재는 대규모 네트워크에서 사용이 제한적입니다.

Greedy Soup는 검증 정확도가 가장 높은 개별 모델 성능을 초과하지 않으면서 최적의 조합을 찾아내기 때문에 성능 개선에 유리하며, 다양한 하이퍼파라미터 설정을 가진 모델을 효율적으로 결합할 수 있습니다.

1. Model Soup 가중치 평균화

Model Soup은 여러 하이퍼파라미터 설정으로 파인튜닝된 모델 가중치를 평균화하여, 모델의 성능을 높이는 방법입니다. 주어진 모델 f(x,θ)f(x, \theta) 에서, 입력 x 와 가중치 θ\theta 를 사용하며, θRd\theta \in \mathbb{R}^d 는 파인튜닝된 모델의 가중치 파라미터를 나타냅니다.

기본 수식

파인튜닝된 각 모델의 가중치를 θi=FineTune(θ0,hi)\theta_i = \text{FineTune}(\theta_0, h_i) 로 정의하며, 여기서 θ0\theta_0 는 사전 학습된 초기화 값이고 hih_i 는 모델을 학습할 때 사용된 하이퍼파라미터 설정입니다. 일반적으로, Model Soup에서 사용되는 가중치 θS\theta_S 는 선택된 모델의 가중치 θi\theta_i 를 평균화하여 계산됩니다. 이를 수식으로 나타내면 다음과 같습니다.

θS=1SiSθi\theta_S = \frac{1}{|S|} \sum_{i \in S} \theta_i

여기서 S{1,,k}S \subseteq \{1, \dots, k\} 는 평균화에 사용할 모델들의 집합을 나타내며, |S| 는 집합 S 에 포함된 모델의 수입니다.

  • Uniform Soup: 모든 파인튜닝된 모델 θi\theta_i 의 가중치를 동일한 비율로 평균화하여 구성합니다. 이때 S={1,,k}S = \{1, \dots, k\} 로 설정됩니다.
  • Greedy Soup: 검증 정확도가 높은 순서로 모델을 추가하면서, 각 모델을 평균화할 때 검증 성능이 향상되는 모델만 추가합니다.

2. Greedy Soup 알고리즘 (Recipe 1)

Greedy Soup 알고리즘은 특정 모델의 추가가 성능을 개선하는 경우에만 해당 모델을 포함시켜 평균화하는 방식입니다.

알고리즘 단계

  1. 검증 정확도 ValAcc(θi)\text{ValAcc}(\theta_i) 에 따라 모델들을 내림차순으로 정렬합니다.
  2. 빈 집합 ingredients를 생성하여 초기화합니다.
  3. 각 모델 \theta_i 에 대해:
    • ingredients에 \theta_i 를 추가한 후, 새롭게 평균화된 성능이 기존보다 높다면 해당 모델을 포함시킵니다.

이를 통해 Greedy Soup은 선택된 모델들로만 구성되며, 단일 모델을 사용할 때보다 높은 성능을 목표로 합니다.

3. Interpolation Advantage

실험에서, 모델 가중치를 보간할 때 개별 모델의 정확도 평균보다 성능이 더 높을 수 있다는 점을 보간 이점 (Interpolation Advantage)라 부릅니다. \theta_1 과 \theta_2 가 주어진다면, 두 모델의 평균 성능은 다음과 같이 나타낼 수 있습니다.

Acc(12θ1+12θ2)12(Acc(θ1)+Acc(θ2))\text{Acc} \left( \frac{1}{2} \theta_1 + \frac{1}{2} \theta_2 \right) - \frac{1}{2} (\text{Acc}(\theta_1) + \text{Acc}(\theta_2))

이 차이는 두 모델의 가중치를 보간할 때 얻을 수 있는 성능 향상을 나타냅니다. 실험 결과에 따르면, 모델 가중치의 각도가 클수록 (즉, 두 모델이 더 직교에 가까울수록) 보간 이점이 증가하는 경향이 있습니다.

4. Error Landscape 시각화

또한, 오차 지형의 평탄성(평탄한 손실 곡선)은 Model Soup의 성능과 밀접하게 관련이 있습니다. Model Soup은 손실 곡선이 평탄한 경우 성능이 더 높아지는 경향이 있으며, 이는 가중치 평균화와 로짓 앙상블의 성능 유사성과도 관련이 있습니다.

이러한 수식과 실험을 통해 Model Soups는 단일 모델보다 높은 성능을 보이며, 특히 분포 외 테스트에서도 성능 향상에 기여할 수 있음을 보여줍니다.

Model Soups 실험 결과 (3.3)

Model Soups는 다양한 하이퍼파라미터 설정으로 파인튜닝된 여러 모델의 가중치를 평균하여 단일 모델을 선택하는 전통적 방식보다 성능을 향상시킬 수 있음을 실험적으로 확인했습니다. 주요 실험 내용과 결과는 다음과 같습니다.

1. 실험 설정 및 주요 모델

  • CLIPALIGN 모델을 ImageNet에서 파인튜닝하고, 하이퍼파라미터 스윕을 통해 다양한 설정으로 여러 개의 모델을 학습했습니다.
    • CLIP의 경우, 학습률, 가중치 감쇠(weight decay), 학습 에포크, 라벨 스무딩, 데이터 증강에 대해 랜덤 하이퍼파라미터 검색을 수행하여 72개의 모델을 생성했습니다.
    • ALIGN의 경우, 학습률, 데이터 증강, 믹스업을 사용하여 그리드 검색으로 12개의 모델을 생성했습니다.
  • Greedy Soup: 모델을 검증 셋의 정확도 순으로 정렬한 후, 성능을 높이는 모델만 선택적으로 추가하는 방식으로 구성하였습니다. CLIP과 ALIGN 모두에서 Greedy Soup은 각 5개의 모델을 선택했습니다.

2. 주요 결과

  • ImageNet 성능 향상: Greedy Soup은 개별 모델 중 최고의 성능을 보이는 모델보다 각각 0.7%와 0.5% 높은 정확도를 달성했습니다.
  • 분포 외(out-of-distribution) 성능: Greedy Soup은 ImageNet뿐 아니라 분포 외 테스트 셋에서도 최고 성능을 유지했으며, 특히 모델 수가 증가할수록 성능이 더 나은 결과를 보였습니다.

3. 추가 실험 및 비교

  • 임의 순서 모델 추가: CLIP 모델을 무작위 순서로 추가하여 Uniform Soup과 Greedy Soup을 구성한 결과, ImageNet에서는 Greedy Soup이 Uniform Soup보다 더 나은 성능을 보였으며, 분포 외에서는 유사한 성능을 보였습니다.
  • 앙상블 성능 비교: 로짓 앙상블은 ImageNet에서는 Greedy Soup보다 나은 성능을 보였지만, 분포 외 성능에서는 떨어졌습니다.
  • 다양한 실험 설정: WILDS 벤치마크의 이미지 분류 작업(iWildCam, FMoW)에서도 유사한 결과를 얻었으며, Appendix G에 나와 있는 결과는 ImageNet 실험과 비슷한 패턴을 보였습니다.

4. 주요 시사점

  • Greedy Soup의 우수성: 추가적인 학습이나 추론 시 추가 계산 비용 없이 Greedy Soup이 개별 모델보다 우수한 성능을 보임을 확인했습니다.
  • Uniform Soup의 조건부 우수성: 개별 모델들이 높은 정확도를 보이는 경우에 한하여 Uniform Soup이 개별 모델보다 나은 성능을 보일 수 있으나, 일부 모델들 간의 오차 지형이 다를 경우 정확도 개선이 제한될 수 있습니다.
  • 앙상블 및 다른 기법과의 비교: 모델 Soup은 추가적인 기법들, 예를 들어 앙상블(distillation) 또는 지수 이동 평균(EMA)과 비교했을 때에도 성능 우위를 보였습니다.

Model Soups: ViT-G 모델 파인튜닝 실험 (3.3.2)

이 섹션에서는, 최첨단 모델에서 Model Soups의 성능 향상이 추가적인 효과를 발휘하는지를 확인하기 위해, 사전 학습된 ViT-G/14 모델을 ImageNet에서 다양한 하이퍼파라미터로 파인튜닝한 결과를 다룹니다.

실험 설정

  • 모델 수: 58개의 ViT-G/14 모델을 학습하여 다양한 학습률, 가중치 감쇠 스케줄, 손실 함수, 데이터 증강 방법, 그리고 RandAugment, Mixup, CutMix와 같은 증강 기법을 적용했습니다.
  • Sharpness-Aware Minimization (SAM): 추가적으로, SAM을 적용하여 학습한 네 가지 모델도 포함했습니다.
  • Exponential Moving Average (EMA): 학습 중 가중치의 EMA를 0.999 (low EMA)와 0.9999999 (high EMA)로 계산하여 각각의 성능을 평가했습니다. 일반적으로 high EMA가 개별 모델의 성능을 높이는 것으로 나타났지만, Greedy Soup와 앙상블에서는 low EMA 모델을 사용했습니다.

주요 결과

  • Greedy Soup 성능: 최종적으로 Greedy Soup은 58개의 모델 중 14개의 모델을 선택하여 구성했습니다. 이 Soup은 ImageNet 검증 셋과 다양한 분포 변동 데이터셋에서, 개별 모델보다 통계적으로 유의미하게 더 나은 성능을 보였습니다.
  • 최고 개별 모델과 비교: Oracle 방식으로 개별 모델을 선택해 성능이 최적화된 경우와 비교해도, Greedy Soup이 대부분의 데이터셋에서 더 높은 성능을 보였습니다.
  • 분포 변동 데이터셋 성능: Greedy Soup은 ImageNet-V2, IN-R, IN-Sketch, IN-A 등 다양한 분포 변동 테스트에서 우수한 성능을 보여주었으며, ObjectNet에서는 예외적으로 개별 모델이 더 높은 성능을 보였지만, 전반적으로는 Greedy Soup이 우수했습니다.

4. Analytically comparing soups to ensembles 요약

이 섹션은 Model Soups가 효과적인 이유를 이론적으로 분석하여 앙상블과 비교하는 것을 목표로 합니다. 분석을 위해 간단하게 두 개의 모델 θ0\theta_0θ1\theta_1 로 구성된 Soup를 가중치 매개변수 α[0,1]\alpha \in [0, 1] 로 평균화된 가중치 θα=(1α)θ0+αθ1\theta_\alpha = (1 - \alpha)\theta_0 + \alpha\theta_1 를 사용하여 설명합니다.

Soup의 오차율 비교

  • 오차율 정의: Soup의 오차 errα:=Ex,y{argmaxifi(x;θα)y}\text{err}\alpha := \mathbb{E}{x, y}\{ \arg \max_i f_i(x; \theta_\alpha) \neq y \} 는 개별 모델의 오차율 min{err0,err1}\min\{\text{err}_0, \text{err}_1\} 보다 낮아지기를 기대합니다.
  • 컨벡스성(convexity): 오차가 컨벡스라도 최소값이 끝점에 위치할 수 있으므로, 단순한 컨벡스성만으로는 Soup가 개별 모델보다 나은 성능을 보장하지 않습니다.

Soup와 Logit-Level Ensemble 비교

  • Logit-Level Ensemble 정의: 두 모델의 출력 f\text{ens} = (1 - \alpha) f(x; \theta_0) + \alpha f(x; \theta_1) 의 앙상블 오차 \text{err}\text{ens} 는 Neural Networks에서 일반적으로 개별 모델보다 낮은 경향이 있습니다.
  • 교차 엔트로피 손실 비교: Soup와 앙상블의 비교를 위해, 교차 엔트로피 손실을 사용하여 L\text{soup} 와 L\text{ens} 간의 손실 차이를 다음과 같은 근사로 유도했습니다.

LsoupLensα(1α)(d2dα2Lsoup+β22EVarYpsftmx(f(x;θα))[ΔfY(x)])L_\text{soup} - L_\text{ens} \approx \alpha(1 - \alpha) \left(- \frac{d^2}{d\alpha^2} L_\text{soup} + \frac{\beta^2}{2} \mathbb{E} \, \text{Var}{Y \sim \text{psftmx}(f(x; \theta\alpha))} [\Delta f_Y(x)] \right)

여기서, 첫 번째 항은 손실의 두 번째 도함수로 손실의 컨벡스성을 나타내며 Soup가 효과적일 때 이 항이 낮아집니다. 두 번째 항은 앙상블의 우수성을 나타내지만, 두 모델이 유사할 경우(즉, Δf\Delta f 가 작을 때) 또는 Soup의 예측이 높은 신뢰성을 보일 경우에는 작아집니다.

근사 평가 실험

다양한 학습률, 증강 전략, 초기화 시드를 가진 모델들을 대상으로 위 근사를 평가한 결과, 이 근사는 손실과 오차 차이에 강하게 상관된 것으로 나타났습니다.


5. 적용 범위와 한계점

이 연구는 여러 파인튜닝된 모델의 평균화를 통해 정확도를 높이는 유용한 기술임을 입증했지만, 이 접근법에는 두 가지 한계가 있습니다. 첫 번째는 Model Soups의 적용 가능성이며, 두 번째는 Model Soups가 모델의 보정(calibration)을 크게 개선하지 못하는 점입니다.

  • 적용 가능성: 지금까지의 실험은 주로 대규모의 이질적 데이터셋으로 사전 학습된 모델들에 초점을 맞췄습니다. Appendix G에서는 ImageNet-22k로 사전 학습된 모델에서 Model Soups를 탐구하였으며, ImageNet에서는 Greedy Soup이 여전히 성능 향상을 제공하지만, CLIP과 ALIGN을 파인튜닝할 때 관찰된 것만큼의 향상은 나타나지 않았습니다.
  • 보정: 앙상블 방법은 모델 보정을 개선하지만 (Guo et al., 2017; Roelofs et al., 2020), Model Soups는 동일한 효과를 보이지 않습니다. 하이퍼파라미터도 보정에 영향을 줄 수 있기 때문에, 랜덤 시드 외에는 동일한 20개의 모델을 앙상블과 Model Soup으로 결합하여 실험을 진행했습니다. 보정 지표는 Roelofs et al. (2020)에 따라 Figure B.2에 표시되어 있습니다.

6. 관련 연구

모델 가중치 평균화: 모델 가중치 평균화는 볼록 최적화와 딥러닝에서 인기 있는 접근법입니다. 대부분의 경우 동일한 최적화 경로에서 학습된 모델들을 대상으로 하며 (예: Ruppert, 1988; Polyak, 1990; Szegedy et al., 2016; Izmailov et al., 2018), 본 연구는 다양한 하이퍼파라미터 설정으로 독립적으로 최적화된 모델들의 가중치를 평균화한 점에서 차별화됩니다. 예를 들어, Neyshabur et al. (2020)은 동일한 초기화에서 시작해 독립적으로 최적화된 두 모델을 평균화했을 때 끝점 성능을 초과할 수 있음을 보여줬습니다.

사전 학습과 파인튜닝: 컴퓨터 비전과 자연어 처리에서 최적의 성능을 얻기 위해 대규모 데이터셋으로 사전 학습된 모델을 사용한 후, 목표 작업에 대해 파인튜닝하는 것이 일반적입니다 (예: Donahue et al., 2014; Girshick et al., 2014). 특히 최근에는 이미지-텍스트 쌍을 사용한 사전 학습이 증가하고 있으며, 본 연구는 이러한 사전 학습 모델에 대해 표준 End-to-End 파인튜닝 모델을 사용해 Model Soups의 성능을 평가합니다.

앙상블: 여러 모델 출력을 결합하는 앙상블은 정확도와 강건성을 개선하는 기본적인 방법입니다 (Dietterich, 2000; Lakshminarayanan et al., 2017). Ovadia et al. (2019)은 앙상블이 분포 변동 상황에서도 높은 정확도를 보인다고 보고했으며, 앙상블은 분포 내외에서 모두 높은 성능을 보이지만, 많은 모델이 포함될 경우 추론 비용이 크게 증가하는 단점이 있습니다. 반면, Model Soups는 추론 시 추가 계산이 필요하지 않습니다.


7. 결론

본 연구 결과는 파인튜닝 시, 검증 셋에서 최고의 성능을 보이는 모델을 선택하는 전통적인 절차에 도전장을 내밀었습니다. 추론 시 추가 계산 비용 없이, 여러 파인튜닝된 솔루션의 가중치를 평균화함으로써 더 나은 성능의 모델을 제공할 수 있음을 확인했습니다.

profile
NLP 공부합니당

0개의 댓글