왕구아니다

[논문 리뷰] LoRA Soups : Merging LoRAs for Practical Skill Composition Tasks 본문

Paper Review/NLP

[논문 리뷰] LoRA Soups : Merging LoRAs for Practical Skill Composition Tasks

Psalms 12:6-7 2026. 2. 1. 23:57
본 논문 리뷰는 저의 개인적인 해석과 의견을 바탕으로 작성된 글입니다.
내용 중 해석의 오류나 개념적인 착오가 있다면, 망설이지 마시고 댓글로 혼내주시면 감사하겠습니다~

Preview
- 2가지의 서로 다른 Task Skill를 결합해 새로운 Task를 해결할 수 있는지 실험한 논문
- Task Skill를 결합하는 방법에는 Data-Mix, LoRA concat, LoRA linear merge 등등
- 추가적으로 LoRA concat 방법론에서 각각의 LoRA를 병합할 때 사용하는 계수(가중치)를 학습 파라미터로 두는 Learnable Concat 방법 제안
- 결론적으로 LoRA를 Concat하는 방법이 성능이 가장 좋았고, 이를 해석해보면 다른 방법들에 비해 서로 다른 Task Skill를 응용하는 능력까지 결합할 수 있는 장점을 가지고 있음

Link
- 논문 : https://arxiv.org/abs/2410.13025
- 코드 : https://github.com/aksh555/LoRA-Soups
 

GitHub - aksh555/LoRA-Soups: [COLING 2025 Industry] LoRA Soups

[COLING 2025 Industry] LoRA Soups. Contribute to aksh555/LoRA-Soups development by creating an account on GitHub.

github.com


📍0. Abstract

  • 본 논문은 서로 다른 LoRA 모듈들을 병합(merge)해서 스킬 합성(skill composition)을 달성할 수 있는지를 연구하며, 각 LoRA가 하나의 스킬을 담당할 때, 이들을 결합한 모델이 여러 스킬이 동시에 필요한 목표 과제를 얼마나 잘 수행하는지를 평가한다.
  • 본 논문의 핵심 기여는, 서로 다른 스킬로 개별 학습된 LoRA들에 최적의 가중치를 부여해 결합하는 LoRA 연결(concatenation) 방식(CAT) 이 기존의 모델 병합 방법이나 데이터 병합 방법보다 더 뛰어남을 보였다는 점이다.

📍1. Introduction

  • 본 논문은 여러 개의 스킬을 통합해야만 해결할 수 있는 스킬 합성(skill composition) 과제에 주로 초점을 맞춘다.
  • 여러 개의 스킬을 통합하는 방법에는 서로 다른 task의 데이터를 섞어서(DATA-MIX) 튜닝시키는 방법이 있고, 각각의 LoRA를 결합하는 방법이 있는데, 본 논문에서는 LoRA를 결합하는 방법을 집중적으로 연구한다.
    • 기존 LoRA 결합 연구들은 각 LoRA 모듈이 (잠재적으로) 독립적인 과제에서 학습되고, 병합된 모델은 다시 원래의 과제들에서 평가되었다면(합쳐도 원래 성능 안 떨어지네?), 본 논문에서는 교차 과제 학습(cross-task learning)을 목표로 LoRA를 병합하는 연구 진행
    • 즉, 본 연구의 Motivation Question : 생물학, 수학, 코드, 독해, 질의응답 등 특화 도메인에서 학습된 LoRA들이 주어졌을 때, 이들을 병합하여 이러한 도메인들이 결합된 새로운 문제를 효과적으로 해결할 수 있을까?
      • 예) 일본어와 수학에 특화된 모델들을 병합하여 일본어 수학 문장 문제를 해결
  • 또한 본 논문은 단순히 여러 LoRA들을 결합해 target domain에 대한 adaptation을 테스트하는게 아니라, target task와 매우 다른 데이터셋으로 학습된 LoRA들을 결합하기 때문에 out-of-domain 성향이 강하고 진짜 서로 다른 LoRA를 결합했을 때의 일반화 성능과 조합 가능성을 테스트한다

📍2. Merging Methods

Merging methods

  • 여러 스킬이나 과제를 동시에 학습하는 전통적인 방법은, 여러 과제 데이터셋을 섞어 공동 학습(joint training)하는 것이다.(Data-Mix)
  • 특화된 과제를 위한 데이터 수집과 대규모 모델을 처음부터 학습하는 비용이 증가하고, 동시에 잘 학습된 오픈소스 모델들이 빠르게 늘어나면서, 더 나아가 모델 병합(model merging)은 기존 모델들을 활용해 강력한 모델을 만드는 편리한 방법으로 부상했다.
  • 따라서 모델 가중치를 단순 평균내는 방식은 오랫동안 연구되어 왔으며, 이는 이후 선형 가중치 평균(linear weight averaging) 으로 발전했다.
  • 선형 가중치 평균을 확장한 방식으로, Task Arithmetic은 task vector를 생성하고 이를 결합함으로써 멀티태스크 학습을 가능하게 했다.

LoRA Merging methods

  • PEM composition은 task arithmetic 프레임워크를 채택하여 LoRA 병합을 수행한다.
  • 입력에 따라 달라지는 학습 가능한 라우터를 가진 MoE 기반 구조를 사용하는 방법 또한 제안되었다.
  • 이러한 모델들은 주로 멀티태스크 학습 맥락에서 사용되어 왔다.
  • 본 연구에서는 스킬 합성 과제를 위해 LoRA 모델 병합을 연구한다.

📍3. Setting

3.1 Skill composition

  • LLM을 평가하는 데 사용되는 대부분의 다운스트림 과제들은, 해결하기 위해 여러 가지 스킬을 숙달해야 한다.
    • QA도 사실은 독해 + 추론 + 지식, 수학 문제도 언어 이해 + 수식 추론
  • 여기서 말하는 스킬이란, LLM이 다운스트림 활용 사례에 맞게 커스터마이즈되기 위해 필요한 구체적인 능력을 의미한다.
  • 이러한 스킬들은 교과서나 매뉴얼과 같은 지식 소스나, 산술·코딩 등을 위해 설계된 기초 데이터셋으로부터 획득될 수 있다.
    • LoRA 하나 = 데이터 하나 = 스킬 하나
  • 본 논문에서는 스킬의 합성이 명확하게 보장되고 분리될 수 있는 다운스트림 과제에 초점을 맞추며, 주로 두 개의 스킬이 필요한 과제를 다룬다.
  • 스킬 합성이 어려운 이유는, 모델이 각기 다른 스킬을 “알고” 있어야 할 뿐만 아니라, 어떤 상황에서 어떤 스킬을 적용해야 하는지도 이해해야 하기 때문이다.

스킬 합성 예시

Hard math-word problems

  • 기존 연구들은 대규모 언어 모델을 GSM-8k로 미세조정했을 때, 구조는 비슷하지만 더 복잡한 산술 연산을 포함한 GSM-Hard 데이터셋에서는 성능이 좋지 않다는 점을 발견했다.
  • Gao 등의 program-aided 접근법은 이 문제를 해결하는 한 가지 방법으로, LLM이 GSM 문제를 읽고 중간 추론 단계로 프로그램을 생성하되, 실제 계산은 파이썬 인터프리터에 맡긴다.
  • 이 경우 모델은 문제를 추론하기 위한 수학적 능력과, 그 추론을 코드로 변환하기 위한 코딩 능력 둘 다 뛰어나야 한다.
  • 따라서 GSM-Hard에서의 정확도를 향상시키기 위해, 첫 번째 스킬로는 GSM-8k를 확장한 데이터셋인 MetaMathQA를, 두 번째 스킬로는 Code-Alpaca를 설정하여 LoRA를 학습시키고 결합한다.
    • 진짜 스킬 합성(skill composition)을 테스트하기 위해 target task(GSM-Hard)와 학습 데이터는 따로 설정하고, target task를 해결하기 위한 능력에 맞는 학습 데이터로 LoRA를 학습

QABot on proprietary manuals

  • 만약 양자물리학 질문에 답하는 대학용 봇이나, 최신 냉장고 제품에 대한 질문에 답하는 소매업체용 봇을 만들기 위해서는 여러 방법이 있다.
    • 1) Chat 모델을 특정 문서에 대해 미세조정(대화 능력을 잃을 수 있음).
    • 2) 특화된 내용을 포함하는 instruction-tuning 데이터셋을 만드는 것
    • 3) 모델 병합
  • 3)번을 수행하기 위해 저자들은 하나의 LoRA 모델을 일반적인 instruction-tuning 데이터셋으로 학습시키고, 또 다른 하나는 특화된 문서로 학습시킨다.
    • 따라서 첫 번째 스킬로는 Alpaca 데이터셋(대화 능력을 학습시키기 위해)을 설정하고, 두 번째 스킬로는 전문 적인 지식을 학습시킨다.
      • (1) bio.libretexts.org에서 가져온 분자생물학 대학 교과서
      • (2) “Dungeons and Dragons” 게임 매뉴얼

Reading comprehension on technical documents

  • 의료 보고서나 법률 계약서는 비전문가에게 읽기 매우 어려운데, 보통 길이가 길고 수많은 전문 용어를 포함하기 때문이다.
    • 글을 이해하는 능력 자체가 필요
  • 의료 보고서나 법률 계약서와 같은 문서들을 잘 읽고 이해하는 LLM을 만들기 위해
    • 1) 독해 능력을 획득하기 위해 SQuAD 데이터셋으로 하나의 LoRA 모델을 학습시킨다.
    • 2) 또 다른 LoRA 모델은 libretexts.org에서 수집한 오픈소스 생물학 교과서로 학습시킨다.
  • 그리고 생명공학 분야의 독해 과제인 BioASQ-QA 데이터셋에서 모델을 평가한다.

3.2 Merging methods

Data mixing (DATA-MIX)

  • 위에서 말한 여러 능력(스킬)을 요하는 Task를 해결하기 위한 가장 단순한 접근법은, 서로 다른 스킬을 포함하는 데이터셋들을 섞어서 학습하는 것이다.
  • 이 방법은 모델을 병합하는 것이 아니라, 데이터셋을 병합하는 방식이다.
  • 이 방법을 평가하기 위해 데이터셋을 연결(concatenation)한 후, LoRA 가중치 (A, B)를 사용해 하나의 모델을 미세조정하며, 이때 A, B는 ℝ^{d×kr}에 속하도록 설정하여 k개의 스킬을 동시에 모델에 학습시킨다.
    • k개이 스킬을 하나의 데이터 셋으로 합쳤기 때문에, LoRA rank 자체를 kr로 설정
  • 그러나 데이터 혼합 방식은 실제로는 매우 비용이 큰 접근법이다.
    • 실제로 모델에 새로운 스킬을 추가하고자 할 때마다, 업데이트된 데이터셋 혼합으로 모델을 다시 학습해야 한다.
  • 그래서 model merging 방법을 사용(아래에서 자세히 설명)
    • 스킬 하나당 하나의 모델을 학습시키고, 이들을 병합하여 스킬 합성 과제를 해결
    • 다른 병합 방법들과의 공정한 비교를 위해, rank를 r이 아닌 kr로 설정

Concatenation of LoRAs

 

  • LoRA의 연결(concatenation) 방식은 LoRA 업데이트 자체를 선형 결합하는 방법이다.
    • concat 방식은 이미 만들어진 ΔW를 직접 다루기 때문에 "완성된 변화량"을 더하는 방식
    • 각 LoRA는 독립된 스킬
  • 위 기본 concat 방식에서 한 발짝 나아가 새로운 새로운 방식을 제안한다.
  • Learnable concatenation (CAT) : 본 논문에서 제안
    • 각각의 LoRA를 선형 결합할 때, 각 LoRA의 가중치를 학습 가능한 파라미터로 설정한다.
    • 이는 네트워크의 각 레이어에 대해 고정된 값을 사용하는 TIES, DARE, LoRA Hub와 구별
    • 학습 방법은 LoRA 모듈들을 각각 학습한 후, 소량의 데이터를 사용해 병합 계수(a1, a2)만 추가로 학습하는 단계를 수행한다.
  • Mixture of Experts (MoE)
    • 병합 계수가 입력에 따라 달라진다는 점이 주요 차이점이다.
    • 이를 위해 ℝ^{d×2} 차원의 학습 가능한 라우터 파라미터 W_r^l를 두고, 이를 통해 h_l(x) = W_r_lt(x)라는 로짓을 계산한다.

  •  

Linear merging of LoRAs

  • LoRA의 선형 병합(linear merging)은 LoRA 파라미터 자체를 선형 결합하는 방식이다.
    • 모든 레이어에 대해 동일한 고정 가중치 (a1, a2) 를 사용
    • Concat 방식과 비교했을 때, 교차항이 생김.
      • 예) (B_1A_2)는 (skill 1의 output space * skill 2의 input space). 하지만 이 조합으로 학습된 적이 없음, 어떤 스킬인지 정의 불가. 결국 의미 없는 방향으로 weight를 밀어버림
      • LoRA는 저랭크 공간에서 매우 민감하기 때문에 cross-term은 두 스킬의 방향을 뒤섞음. 즉, 기존에 잘 학습된 ΔW를 오염
  • 교차항이 필연적으로 발생하기 위해, 이 교차항의 영향력을 줄이기 위한 다양한 방법론들이 제안되었다.
    • TIES, DARE, LoRA HUB etc..

📍4. Experimental details

Skill Finetuning

  • 스킬 미세조정(Skill Finetuning)을 위해, 기본 모델로 LLaMA-7B를 사용하고
    • LoRA rank를 r = 32
    • LoRA alpha를 64
    • LoRA dropout을 0.05
    • LoRA를 적용할 대상 모듈로 {“q_proj”, “v_proj”, “k_proj”, “up_proj”, “down_proj”}를 선택
    • 각각의 LoRA는 AdamW 옵티마이저를 사용해 3 epoch 동안 학습
    • 학습률은 3×10⁻⁴
    • 100 step warmup
    • 선형 감소 스케줄
    • 배치 크기는 {4, 8}
    • gradient accumulation은 4
    • 연산 정밀도는 float16
    • 손실 함수로는 표준 next-token prediction loss
  • instruction 데이터셋으로 미세조정할 때는, instruction 부분을 마스킹하여 답변 토큰에 대해서만 잘못된 예측을 벌점으로 준다.
  • text 데이터로 미세조정할 때는 어떠한 마스킹도 적용하지 않는다. 
    • 목표는 오직 도메인 언어 분포 학습
  • MoE 방식의 구현은 최근 LoRA 기반 MoE 연구를 바탕으로 한 mergoo 구현을 따른다.

DATA-MIX

  • DATA-MIX의 경우, merging 방법들과 동일한 수의 학습 가능한 파라미터를 갖도록 LoRA 모듈의 rank를 2r = 64로 설정하여 학습한다.
    • merging 방식: LoRA 2개 × rank r(32)
    • DATA-MIX: LoRA 1개 × rank 2r(64)
    • 총 파라미터 수 동일
  • LoRA Hub 방식의 경우, 병합 가중치를 학습하기 위해 최소 5개의 few-shot 예제를 사용했다.
  • 데이터셋 혼합 학습은, 각 예제마다 마스킹 방식이 다르기 때문에 표준적인 데이터 혼합이 쉽지 않다.
  • 그래서 continual training 방식을 사용하여, 먼저 교재/매뉴얼로 3 epoch 미세조정을 수행한 뒤 그 가중치를 사전학습 모델 가중치와 병합하고, 이후 instruction-following 데이터셋(SQuAD/Alpaca)으로 1 epoch 추가 미세조정을 수행한다.

CAT

  • CAT에서는 이미 학습된 LoRA 스킬 모듈들을 고정(freeze)하고, 스킬1과 스킬 2 각각에서 최소 5%의 데이터 포인트를 선택하여 구성한 데이터셋을 사용해 a1, a2만 학습한다.
  • 이 추가 학습 단계는 단 1 epoch 동안만 수행되며, 학습률은 1×10⁻⁴로 설정한다.
  • 검증 세트에서 가장 성능이 좋은 모델을 최종 모델로 선택한다.

📍5. Experiments

5.1 Super-linear improvement when solving GSM-Hard with code

Evaluation setup

  • 코드를 사용하여 GSM-Hard의 어려운 수학 문장 문제를 해결하는 능력을 평가한다.
  • 모델은 수학 문장 문제를 입력으로 받아, 수학적으로 추론한 뒤, 그 문제의 답을 반환값으로 갖는 파이썬 함수를 출력한다.
  • 이 코드를 파이썬 인터프리터에서 실행하여 결과를 평가한다.
  • GSM-Hard와 GSM-8k 문제는 문제 구조는 동일하지만, GSM-Hard에는 훨씬 더 복잡한 산술 연산이 포함되어 있다는 점에서 다르다.

Baselines

  • 베이스라인으로는 LLaMA-7B에 8-shot PAL을 적용한 모델을 사용한다.
    • PAL (Program-Aided Language) 프롬프트 사용
    • 8-shot 예시 제공
  • Skill LoRA로는 MetaMath으로 학습된 Math LoRA(8-shot PAL 사용)와, Code Alpaca로 학습된 Code LoRA를 사용한다.
  • DATA-MIX는 MetaMath와 Code Alpaca 데이터를 섞어 학습한 모델이다.
  • LoRA 병합 방법으로는 TIES, DARE, MoE를 사용한다.

Results

  • (b) 그림을 보면 MetaMathQA와 Code-Alpaca를 합쳐서 미세조정하는 방법, 즉 DATA 전략이 효과적임을 보여주는데, 이는 Math LoRA 대비 정확도가 32% 증가(14.18% → 18.8%)했기 때문이다. 또한 이 모델은 자연어와 프로그래밍 언어 간의 상호 시너지를 효과적으로 활용한다.
    • math + code를 동시에 학습시키면 단일 math LoRA보다는 확실히 좋아진다
  • 그러나 DATA 방식이 8-shot PAL 프롬프트를 사용했음에도 불구하고 항상 코드를 출력하지는 않는 반면, 모델 병합 방법들은 99% 이상의 경우 코드 출력을 유지한다는 점을 확인했다고 한다.
    • DATA-MIX의 문제: math 데이터 + code 데이터가 섞이면서 모델이 “언제 코드를 써야 하는지”를 헷갈림
  • 모델 병합과 관련해, TIES와 DARE가 DATA보다 성능이 낮다.
  • CAT은 GSM-Hard에서 다른 방법들에 비해 가장 성능이 높게 나왔다.
    • 추가적으로, CAT은 비교적 훨씬 작은 범용 코드 데이터셋인 Code Alpaca로만 미세조정되었음에도 불구하고, 파이썬에 특화된 Code Llama-Python 7B와 유사한 성능을 보이는데, 이는 LoRA 업데이트를 선형적으로 결합하는 방식의 효과성을 강조한다.

Super-linear improvement

  • 표 2는 CAT을 사용했을 때 GSM-Hard에서 초선형 성능 향상을 달성했음을 보여준다.
    • 여기서 super-linear는 합친 효과가, 각 효과를 더한 것보다 크다는 의미
    •  Math LoRA 효과 + Code LoRA 효과 < CAT 효과
  • 기본 모델 대비 수학과 코드를 모두 미세조정했을 때의 성능 향상(257%)은, 코드만 사용했을 때의 향상(36%)과 수학만 사용했을 때의 향상(140%)을 단순히 합한 값보다도 크다.
  • 이러한 초선형 향상은, 병합된 모델이 일부 문제를 해결할 때 개별 모델들의 능력을 동시에 활용할 수 있음을 본질적으로 증명한다.
  • 실제로, Math 모델이 기본 모델(5.91%)보다 8% 더 많은 문제를 해결하고, Code 모델이 2% 더 많은 문제를 해결한다면, 두 모델이 해결할 수 있는 문제의 총합은 기본 모델보다 많아야 최대 10% 증가한 수준이며, 이는 총 16%의 문제 해결률(5.91 + 8+ 2)에 해당한다.
  • 그러나 병합된 모델은 21%의 문제를 해결하며,이는 최소한 5%의 문제는 개별 모델들 중 어느 쪽도 해결하지 못한 문제임을 의미한다.
  • 따라서 이러한 문제들의 해결은, 두 모델의 지식을 결합함으로써만 가능했음이 분명하다.
  • CAT이 만들어낸 성능 향상은 각 스킬의 기여를 단순히 더한 결과가 아니라, 두 스킬을 동시에 활용함으로써 이전에는 어느 쪽도 풀지 못하던 문제를 새롭게 해결한 결과다.

5.2 Building specialized question-answering bots (QABots)

Evaluation setup

  • closed-book 질의응답 능력(즉, 질문 대상이 되는 책이나 매뉴얼에 추론 시 접근하지 못하는 설정)을 두 가지 환경에서 평가한다.
    • (1) 단순 설정: 대학 수준의 생물학 교과서 챕터,
    • (2) 어려운 설정: 세부적이고 미묘한 Dungeons & Dragons 게임 매뉴얼

Baselines

  • 스킬 LoRA로는 교과서/매뉴얼로 학습된 Biology/Manual LoRA와 Alpaca 데이터로 학습된 Alpaca LoRA
  • 일반적인 LoRA 병합 베이스라인들 외에도 두 가지 추가적으로 중요한 베이스라인을 포함한다. LangChain 기반의 RetrievalQAChain을 사용한 검색 방식으로, (1) LLaMA-7B 모델, (2) LLaMA2-7B-Chat 모델을 사용한다.
  • 이때 문서들은 sentence-transformers/all-MiniLM-L6-v2를 사용해 임베딩되며, FAISS 벡터 스토어에 저장된다.
    • 이 방법들은 분명히 open-book 방식이지만, 병합 방법들을 비교하고 성능의 상한선을 얻기 위해 포함됨

Results

  • CAT이 대부분의 병합 방법들과 데이터 혼합 방식보다 뛰어나지만, 검색(retrieval) 방법들과 비교하면 여전히 개선의 여지가 있다.
  • Alpaca 모델이 Manual 모델 보다 더 나은 성능이 나온것으로 보아, 게임 지식 자체보다 instruction-following 스킬이 더 중요함을 확인했다.
    • 또한 LLaMA-chat이 기본 LLaMA보다 더 나은 성능을 보이는 점에서도 확인된다.
  • 여기서도 다시 한 번, 두 가지 스킬을 조합하는 것이 성능을 향상시킨다는 점을 강조한다.

생물학 교과서 QA 결과

5.3 Reading comprehension on technical documents

Evaluation setup

  • open-book 질의응답 능력(즉, 모델이 추론 시 문맥에 접근할 수 있는 설정)을 BioASQ 데이터셋에서 평가한다.
  • 이때 SQuAD에서 본 질문 형식과 맞추기 위해 BioASQ 데이터 안에 있는 다양한 카테고리 중 factoid 질문 카테고리를 선택하고, Context 필드의 길이가 500 토큰 미만인 예제들로 제한한다.
  • 길이를 제안한 이유는 실제로 모델이 길이 일반화(length generalization) 문제를 겪는다는 것을 관찰했는데, 학습 중에 보았던 문맥 길이보다 훨씬 긴 문맥이 주어지면 모델이 아무 답도 출력하지 않는 현상이 발생했기 때문이다.
    • LoRA 학습 데이터인 SQuAD는 주로 짧은 context로 구성되어 있기 때문에, Test셋인 BioASQ도 동일하게 짧은 context로 구성
  • 또다른 문제점은 BioASQ의 정답(answer)은 매우 길고, 때로는 문맥에 실제로 제공된 정보보다 더 많은 세부 내용을 포함하기 때문에, exact match와 F1 점수가 낮게 나타나는 현상을 관찰했다.

  • 이 문제를 완화하기 위해, GPT-4를 판정자(judge)로 사용한다. 두 모델이 생성한 답변 쌍을 제시하고, gold reference answer에 비추어 상대적으로 어느 쪽이 더 정확한지를 평가하도록 한다.
  • 결과는 pairwise win fraction(200개 질문 중 해당 모델이 이긴 비율)과 ELO 점수를 함께 제공한다.

Results

  • 다시 한 번, CAT이 pairwise win fraction과 ELO 점수 모두에서 가장 우수한 방법임을 관찰했다.
  • SQuAD가 교과서(textbook)보다 약 6배 더 좋은 성능을 보이는 것으로 보아, 도메인 지식을 갖는 것보다 질의응답(QA) 스킬이 더 중요하다.
    • Open-book QA에서는 “무엇을 아느냐”보다 “어떻게 읽고 답하느냐”가 훨씬 중요
  • 그림 7c에서는 생의학 지식의 부족이 SQuAD 모델의 성능을 저해하는 모습을 확인할 수 있다. 앞 문장에서 말한 내용과 모순 관계이지만 사실은 서로 상호보완관계라고 이해하면 된다.
  • 또한 그림 7c를 보면 CAT은 잘 구성된 답변을 제공하는 반면, MoE는 문맥을 이해하긴 하지만 관련 텍스트를 그대로 복사하는 데 그친다.
  • 다른 방법들은 전반적으로 더 성능이 낮으며, 모델 병합 방법들이 DATA-MIX보다 우수한 성능을 보인다.

5.4 LoRA merging improves robustness to prompt format changes

Problem

  • 최근 몇몇 연구들은 언어 모델이 프롬프트 형식(prompt formatting)에 매우 민감하다는 점을 보고했다.
  • 이 연구들은 LLaMA-2-13B를 사용할 때, 프롬프트 형식을 아주 미세하게 변경하는 것만으로도 정확도가 최대 76포인트까지 차이 날 수 있음을 보고했다.
  • 이러한 민감성은 모델 크기를 키우거나, few-shot 예제 수를 늘리거나, instruction tuning을 수행해도 여전히 남아 있다.
  • 이 문제에 대해 모델 병합(model mixing) 이나 데이터 혼합(data mixing)이 해결책이 될 수 있는지를 실험한다.
  • 이를 위해 첫 번째 스킬을 형식 i를 가진 데이터셋, 두 번째 스킬을 형식 j를 가진 데이터셋으로 설정하고, 형식 k를 가진 데이터셋에서 병합 방법들을 평가한다. 여기서 i, j, k는 {1,…,10} 중 하나이며, 서로 모두 다르다.
    • 모델은 format i, j만 보고 학습, 테스트는 전혀 다른 format k

Evaluation setup

  • Super-NaturalInstructions 데이터셋에서 주어진 문장에서 특정 문자를 포함하는 단어의 개수를 세는 task_131을 이용한다.
  • descriptor, separator, space에 대한 문법을 따라 7가지 프롬프트 형식을 샘플링한다. (띄어쓰기나 대소문자처럼 단순한 차이만 있는 형식들도 포함된다)
    • Sentence: vs sentence -
    • Answer: vs ANSWER
    • 줄바꿈 vs 공백
  • descriptor는 {Sentence, Answer}의 형식을 의미하고, separator는 descriptor와 예제 사이의 구분자를 의미하며, space는 descriptor들 사이를 나누는 문자(공백, 줄바꿈 등)를 의미한다.
  • 6000개 예제로 학습하고, 417개 예제로 평가한다.

Results

 

  • 그림 11a, 11b, 11c는 각각 형식 1&4, 1&2, 2&4로 학습한 경우의 단일 모델과 병합 모델 성능을 보여준다.
  • DATA-MIX는 매우 성능이 나쁘며, 단일 모델들보다도 더 나쁜 결과를 보인다.
  • 형식 1과 4로 학습했을 때(그림 11a), CAT의 성능은 타깃 형식에 따라 거의 변하지 않으며 높은 성능을 유지한다.
  • 형식 1과 2로 학습한 경우(그림 11b), TIES가 가장 우수한 모델인데, 형식 3과 10에서 평가했을 때 단일 모델과 동일한 성능을 보이기 때문이다.
    • 이 경우 CAT과 DARE는 성능이 더 낮으며, 형식 3에서만 그나마 괜찮은 성능을 보인다.
  • 마지막으로, 형식 2와 4로 학습한 경우에는 모든 병합 모델의 성능이 낮다.
  • 따라서 모델 병합이 프롬프트 형식 변화에 대한 강건성을 얻기 위한 하나의 접근법임을 보여준다.

5.5 Ablations

  • 각 스킬에 할당되는 가중치를 학습하는 것이 어떤 영향을 미치는지를 분석한다.
  • 앞서 말했듯이 병합 계수(merging coefficients)를 학습한다.
  • 그림 9는 학습된 CAT정적인(static) CAT보다GSM-Hard 실험과 QA Bot 실험(게임 매뉴얼)에서 더 나은 성능을 보임을 보여준다.
  • 이 경우(정적 CAT)에는 단순 평균을 사용하여 a1,a2 모두 0.5로 설정한다.

📍 6. Limitations & Future Directions

  • 본 연구는 필요한 스킬의 수가 k = 2인 경우로 제한된다.
  • 더 많은 수의 스킬로 확장하는 것은 두 가지 이유로 어렵다.
    • (1) 명확하게 구분 가능한 많은 수의 스킬을 동시에 필요로 하는 실제적인 설정을 찾는 것 자체가 어렵다.
    • (2) 설령 그런 설정을 찾더라도, LoRA 병합이 실제로 효과적일지는 여전히 불분명하다.
  • 추가적으로 5.4절의 프롬프트 강건성 실험을 사용하여, 3가지 서로 다른 프롬프트 형식으로 학습했을 때의 성능을 살펴보니 모든 LoRA 병합 베이스라인들이 DATA-MIX보다 더 나쁜 성능을 보임을 관찰했다.
    • 이는 스킬 수가 많아질 경우, 여전히 DATA-MIX가 스킬 합성을 위한 최선의 전략임을 시사한다.

  • 다수의 스킬을 효율적으로 합성하기 위해서는, 현재의 모델 병합 기법을 개선하는 것이 중요한 향후 연구 방향이다.

📍 7. Conclusion

  • 학습 데이터를 확보하는 것이 어려운 경우, 과제를 그 근본적인 스킬들로 분해하고 이를 모델 병합으로 결합하는 방식이 유망한 접근법이라는 결론에 이른다.
  • 여러 실제적인 활용 사례들이 이진(binary) 스킬 합성 문제로 다뤄질 수 있음을 보였다.
  • LoRA concatenation에 기반한 방법들이 가장 우수한 스킬 합성을 달성하며, 널리 사용되는 데이터 혼합(data mixing)방법보다 뛰어남을 보였다.
  • 또 다른 핵심 결과는 5.1절의 초선형(super-linear) 모듈성 결과로, 이는 모델이 수학 스킬과 코드 스킬을 효과적으로 결합하여 새로운 문제를 해결할 수 있음을 보여준다.
  • 6장에서 언급했듯이, 두 개를 초과하는 스킬을 합성할 수 있는 병합 방법을 설계하는 것은 매우 흥미로운 향후 연구 방향이다.
  • 이는 대규모로 선별된 데이터셋을 사용해 거대한 모델을 학습하는 현재의 패러다임에 대한 흥미로운 대안을 제공할 수 있으며, 그 대신 특화된 LoRA들을 병합하여 동등하게 우수한 모델을 얻을 수 있게 될 것이다.