ML_AI/논문 리뷰

[Model Merging] Language Models are Super Mario: Absorbing Abilities from Homologous Models as a Free Lunch

안정민 2025. 5. 3. 11:17

https://arxiv.org/pdf/2311.03099

 


1. Introduction

언어 모델도 게임 캐릭터와 마찬가지로 

'다른 모델을 흡수' 하므로써 자신들의 능력을 향상시킬 수 있음

재학습(retraining)이나 GPU 조차 필요 없이 가능하다는 점이 주목할만함

 

Fine tuning : 언어 모델에게 task 에 특화된 능력을 부여하는, 가장 널리 사용되는 전략 -> 모델 파라미터 최적화

파인튜닝의 효과는 델타 파라미터 (task vector) 을 통해 명확히 드러남

 

[문제 지적]

파인튜닝 언어 모델이 과도하게 중복적인 task vector (값이 0, 변화량이 없음을 의미) 을 가지는 경향이 있음

=> DARE (DRop and REscale) 제안

=> 일정 비율 p로 일부 델타 파라미터(task vector)를 무작위로 0으로 설정해서 drop하고,

=> 남은 파라미터들을  1/(1-p) 의 비율로 rescaling한다

개념적으로는 단순하지만 DARE은 70억개 이상의 파라미터를 가진 LLM에서 최대 99%의 task vector을 제거하고도 성능 유지

 

그리고 언어모델의 파라미터 수가 많을 수록 더 높은 p의 비율을 감당 가능하다

=> 원래의 임베딩 근사가 가능하기 때문

 

동일한 모델 아키텍처와 초기화를 기반으로한 여러 모델을 병합 가능

=> 소수의 task vector만 보존되면, 각각의 모델 능력은 유지될 수 있다

 

 


3. Methodology

 

θ_PRE : pretrained 언어모델의 파라미터 (d차원), LLaMA 등과 같은 예시가 있음

θ^t_SFT : 특정 태스크 t 에 대해 파인튜닝된 언어모델의 파라미터

델타 파라미터 (task vector)은 파인튜닝 파라미터와 pretrained 파라미터의 차이로 정의된다

=> 델타 파라미터는 파인튜닝 과정에서 발생한 파라미터의 변화를 반영하므로, 델타 파라미터의 성질을 분석하는 것은 파인튜닝에 대한 더 나은 이해를 제공 가능

 

Model Merging: 서로 다른 task에 대해 파인튜닝된 여러 모델을 하나의 모델로 병합하려는 시도

=> 동일한 pretrained 아키텍처와 초기화를 공유해야 함

 

 

3.1 DARE: A Simple Approach for Reducing Delta Parameter Redundancy

DARE의 개념적 구성 : drop and rescale

delta param (task vector) 가 주어졌을 때, DARE은 먼저 drop 비율 p에 따라 task vector에 랜덤 드롭을 수행 (해당 값을 0으로)

이후 남은 값들에 대해 1/(1-p)로 rescale을 수행, 아래와 같은 수식을 따름

 

mᵗ 는 독립적으로 확률 p에 따라 1 (drop) 또는 0 (keep)으로 샘플링, 즉 베르누이 분포를 따름

두 번째 줄의 1 − mᵗ 는 keep 할 요소를 1로, drop 할 요소를 0으로 만든 마스크 벡터

 

  • mᵗᵢ = 1이면 해당 δᵗᵢ는 드롭되어 0이 됨.
  • mᵗᵢ = 0이면 해당 δᵗᵢ는 유지됨.

=> 여기까지가 random drop 수행

그리고 δ̂ᵗ는 남은 델타 파라미터들을 1 − p로 나눈 값 => rescale을 통해 원래의 크기를 복원

즉, 남은 파라미터의 영향력을 키워주는 과정,

남은 델타를 1/(1-p) 배 해주는 과정임

δ̂^ᵗ 가 최종 델타

 

마지막으로 δ̂ᵗ 와 θ_PRE 를 더해서 추론에 활용할 θᵗ_DARE 을 얻음

즉, θᵗ_DARE = δ̂ᵗ + θ_PRE 

 

대부분의 델타 파라미터를 제거한 이후에도 DARE가 원래의 임베딩을 잘 근사하여 모델 성능을 유지할 수 있음

 

[Theoretical Analysis]

가중치 벡터 요소들의 평균을 보면 ĥ ≈ h => 일부를 중복값으로 조정하였지만 나머지를 그만큼 강하게 조정해서 보정했음

남긴 델타 × 1/(1-p)

위 식을 적용하였기 때문에 전체 합은 평균적으로 원래와 같게 된다

 

즉, DARE은 수학적으로 원래 모델의 출력과 거의 같은 결과를 낸다는 것을 증명

따라서 많은 델타 파라미터를 제거해도 성능이 유지된다

 

Remark

1. 드롭 비율 관련

실제 적용에 있어 드롭 비율 p가 적절히 잘 설정되었을 때 잘 작동하며,

언어모델의 파라미터 수가 클 수록 p가 커져도 성능의 차이가 크지 않음을 발견하였음

그러나 전체 파라미터 자체를 제거한다면 모델의 성능은 치명적으로 급감한다

 

미래의 유망한 연구 방향 제시

  • 언어모델의 크기에 따라 허용가능한 최대 드롭 비율 p의 상한선 추정
  • 파인튜닝된 파라미터 델타파라미터 사이의 본질적인 차이 분석

 

2. 드롭아웃 관련

DARE 와 Dropout 차이 

=> DARE은 델타 파라미터를 처리하지만, Drop-out은 모델 출력에 작용

=> DARE은 훈련 없이 델타파라미터의 중복성을 줄이는 것이 목적이며, Drop-out은 과적합을 방지하기 위한 훈련 도중의 기법으로 일시적으로 출력 일부를 제거할 뿐, 최종 추론 시에는 모든 출력을 유지

 

 

 

** 파라미터 제거는 완전히 랜덤이나, 정말 중요한 파라미터는 전체 중 극소수이므로 랜덤하게 일부를 지워도 성능에 큰 문제가 없다는 것이 해당 논문의 가정

** 중요도 기반 프루닝을 연구한 후속 연구가 존재

** https://arxiv.org/abs/2410.09344

 

DARE the Extreme: Revisiting Delta-Parameter Pruning For Fine-Tuned Models

Storing open-source fine-tuned models separately introduces redundancy and increases response times in applications utilizing multiple models. Delta-parameter pruning (DPP), particularly the random drop and rescale (DARE) method proposed by Yu et al., addr

arxiv.org

 

 

 

3.2 Merging Models with DARE

DARE은 대부분의 델타 파라미터를 0으로 설정해서 중복을 효과적으로 줄임

=> 모델 병합 시 DARE가 파라미터 간 간섭의 문제를 완화 가능하다고 가정한다

 

파인튜닝된 모델이 k개가 있을 때, 그들의 파라미터는 다음과 같으며

 

 

이들을 DARE을 통해 조정한 파라미터는 다음과 같다

 

그리고 K개의 모델 파라미터를 결합하여 병합된 단일 모델의 파라미터 θᴹ 을 얻는다 (병합 방법은 선택)

 

예를 들어 task arithmetic을 통해 병합을 한다고 하면,

위와 같은 원본의 식이 DARE을 사용할 경우 아래와 같이 다시 씌여진다

1.  θ_PRE와 θₜₖ^SFT로부터 델타 파라미터를 도출

2. 드롭률 p에 따라 델타 파라미터를 제거

3. 남은 파라미터를 리스케일링하고 θ_PRE에 더해 θₜₖ^DARE를 생성

 

즉 θₜₖ^DARE 가 task arithmetic에서의 θ_M이 된다

 

=> DARE가 매우 범용적인 플러그 앤 플레이 모듈로서
=> Average Merging, Fisher Merging, RegMean, TIES-Merging 등 다양한 병합 기법에도 적용 가능하다