https://arxiv.org/pdf/2401.02412
간단 요약
이 논문은 CALM(Composition to Augment Language Models)이라는 새로운 프레임워크를 통해 대형 언어 모델(LLM)의 능력을 증대시키는 방법을 다룹니다. 이 접근 방식은 앵커 모델(mB)과 특정 도메인에 특화된 보조 모델(mA)을 조합하여 새로운 작업 수행 능력을 제공하는데 초점을 맞추고 있습니다.
CALM의 주요 개념:
구성 요소:
실험 및 평가:
실험 결과:
결론:
- CALM은 기존 모델을 변경하지 않고도 특정 도메인 지식을 포함하는 보조 모델을 활용해 대형 언어 모델의 성능을 강화할 수 있는 유망한 방법입니다.
이 논문은 CALM을 활용한 다양한 실험을 통해 고정된 LLM과 특정 도메인 모델 간의 효율적인 결합이 가능함을 입증하며, 모델 조합의 가능성을 새롭게 열어주고 있습니다.
이 논문에서 제안한 방법론 CALM(Composition to Augment Language Models)은 앵커 모델(Anchor Model, mB)과 보조 모델(Augmenting Model, mA)의 능력을 결합하여 새로운 작업을 수행할 수 있도록 설계되었습니다. CALM은 기존 모델의 가중치를 변경하지 않고 새로운 능력을 제공할 수 있는 효율적이고 실용적인 방법을 제시합니다.
모델 구성과 제약 조건:
학습 가능한 파라미터 세트(ΘC):
학습 데이터 구성(DC):
교차 주의와 레이어 선택:
모델 학습 및 예측:
- 학습: 결합된 모델 mA⊕B는 주어진 예제 데이터를 통해 최적의 교차 주의 파라미터(ΘC)를 학습합니다.
- 예측: 학습된 교차 주의 파라미터를 통해 결합된 모델은 새로운 작업을 수행할 수 있으며, 앵커 모델과 보조 모델의 능력을 결합하여 기존 모델보다 높은 성능을 발휘할 수 있습니다.
보조 모델 mA는 문자열 키를 정수 값으로 매핑하는 작업을 수행할 수 있도록 훈련되고, 앵커 모델 mB는 숫자 연산을 수행할 수 있는 모델로 설정됩니다.
CALM은 mA의 키-값 매핑 능력과 mB의 산술 능력을 결합하여 키가 포함된 산술 표현을 해결할 수 있는 모델을 만듭니다.
학습 중에는 훈련 데이터의 일부만 사용하여 학습된 후, 새로운 키에 대해 일반화하여 정확하게 예측할 수 있습니다.
이러한 방법론을 통해 CALM은 새로운 도메인에 적은 데이터와 파라미터만으로 효율적인 확장을 가능하게 합니다. 이는 특히 대형 모델의 파라미터를 변경하지 않고도 다양한 능력을 유연하게 결합할 수 있는 가능성을 제시합니다.
수십억 개의 파라미터로 구성된 대형 언어 모델들은 다양한 도메인에서 비상적인 능력을 보여주고 있습니다. 그러나 이러한 모델들의 단일 구조로 인해 새 기능을 추가하거나 보완하기가 어렵고 비용이 많이 듭니다. 반면, 모델의 적응력 덕분에 새로운 도메인과 작업에 맞춘 모델들이 꾸준히 개발되고 있습니다. 본 연구에서는 기존의 대형 모델과 특정 모델을 결합하여 새로운 기능을 효율적이고 실용적으로 제공하는 방법을 제안합니다. 이를 위해 CALM(Composition to Augment Language Models)이라는 프레임워크를 제안했으며, 이는 모델 간의 교차 주의 메커니즘을 통해 두 모델의 표현을 결합하여 새로운 기능을 가능하게 합니다. CALM의 주요 특징은 다음과 같습니다: (i) 적은 파라미터와 데이터로 기존 LLM을 재사용하여 새로운 작업을 확장 가능, (ii) 기존 모델의 가중치를 그대로 유지해 원래의 기능을 보존, (iii) 다양한 도메인과 환경에 적용 가능. 예를 들어, PaLM2-S 모델을 저자원 언어에 맞춘 작은 모델과 결합하면, 저자원 언어의 영어 번역 및 산술 추론 작업에서 최대 13%의 절대 성능 향상이 나타났습니다. 또한, PaLM2-S를 코드 전용 모델과 결합하면 코드 생성 및 설명 작업에서 40%의 상대적 성능 향상이 나타나, 전체 미세 조정된 모델과 동등한 수준의 성능을 보였습니다.
대형 언어 모델(LLM)은 상식 및 사실적 추론, 세계 지식, 그리고 일관성 있는 언어 생성 등의 기본적인 능력을 포함하고 있습니다(Bubeck et al., 2023; Google et al., 2023). 이러한 기본 능력을 활용해, 여러 연구에서 LLM을 도메인에 특화된 작업, 예를 들어 코드 생성, 복사 편집, 수학 문제 해결 등을 위해 미세 조정해왔습니다(Lewkowycz et al., 2022; Singhal et al., 2023). 이로 인해 특정 도메인에 특화된 대형 모델들이 개발되었습니다. 예를 들어, 일부 모델은 코드 생성에 뛰어나지만 일반적인 논리적 추론에서는 능력이 부족하거나 그 반대의 경우도 존재합니다. 이러한 많은 도메인 특화 모델들의 존재는 한 가지 자연스러운 질문을 야기합니다: 앵커 모델을 도메인 특화 보조 모델과 결합하여 새로운 기능을 제공할 수 있을까? 예를 들어, 코드 이해 능력을 가진 보조 모델과 언어 생성 능력을 가진 앵커 모델을 결합하여 코드-텍스트 생성 기능을 가능하게 할 수 있을까?
이 문제에 대한 일반적인 접근 방식은 앵커 모델을 보조 모델이 훈련된 데이터로 추가 사전 학습(pre-training)하거나(효율적으로) 미세 조정(fine-tuning)하는 것입니다(Hu et al., 2022; Kessler et al., 2021). 그러나 이러한 방법은 큰 모델의 훈련이 매우 비용이 많이 들어 현실적으로 어려운 경우가 많습니다. 특히 보조 모델 자체가 대규모 코퍼스로 학습된 LLM인 경우에는 더욱 그렇습니다. 또한, 여러 출처의 데이터를 처리하는 것은 프라이버시 문제와 조직 간 경계로 인해 불가능할 수 있습니다. 기존의 검증된 능력을 보유한 모델을 재사용하는 것은 더 나은 제어와 전통적 접근 방식에서 흔히 발생하는 "파국적 망각(catastrophic forgetting)"을 피할 수 있기 때문에 더 바람직합니다.
이러한 훈련 및 데이터 문제를 해결하기 위해, 우리는 실용적인 모델 구성 설정을 제안하고 연구합니다. 이는 다음을 포함합니다: (i) 하나 이상의 보조 모델 및 앵커 모델에 접근 가능, (ii) 각 모델의 가중치를 변경할 수 없음, (iii) 코드 생성과 복잡한 논리 추론과 같이 주어진 모델들의 "결합된 능력"을 나타내는 소량의 데이터만 접근 가능. 기존 연구는 모델 간의 라우팅이나 병합 관점에서 구성 문제에 접근해왔으며, 둘 다 이 설정을 효과적으로 해결하지는 못했습니다. 즉, 한 모델의 출력을 다른 모델보다 선택하거나(Ma et al., 2019), 부드러운 앙상블(soft ensemble)을 수행하는 방식(Muqeeth et al., 2023)은 모델이 원하는 능력을 보여줄 수 없을 때 효과적이지 않습니다. 다른 연구들은 기본 모델 파라미터의 산술적 결합을 통해 결합 모델을 생성했으나(Wortsman et al., 2022; Ilharco et al., 2022; Matena & Raffel, 2022), 이러한 설정은 자연스럽게 제한적이며, 서로 다른 크기와 사전 학습 목표를 가진 모델을 결합할 때의 효과가 불분명합니다(Yadav et al., 2023).
이 연구에서는 앞서 언급한 일반적인 모델 구성 설정을 해결하기 위해 새로운 CALM 프레임워크를 제안합니다. 단순히 보조 모델과 앵커 모델을 조합하는 대신, CALM은 두 모델의 중간 레이어 표현에서 학습 가능한 소수의 파라미터를 도입하여, 주어진 모델들이 단독으로는 수행할 수 없는 새로운 복잡한 작업을 더 정확하게 수행할 수 있도록 합니다. 또한, 개별 모델의 기능을 보존합니다. Figure 1은 CALM을 위한 몇 가지 동기 부여 시나리오를 강조합니다.
우리는 CALM의 실용적인 주요 응용을 연구했습니다: 언어 포용성과 코드 생성. 언어 포용성(§4.2)에서는 저자원 언어 세트에 대해 학습된 모델을 사용했습니다. 이 모델을 LLM과 결합하면, 번역 및 산술 추론 작업에서 생성 및 추론 능력을 활용하여 저자원 언어에서 성능이 크게 향상되는 것을 관찰했습니다(Table 2와 3 참조). 이러한 결합 모델은 두 기본 모델뿐만 아니라 저자원 언어 세트를 위해 추가로 사전 학습되거나 LoRA(Hu et al., 2022) 미세 조정된 LLM 버전보다 더 나은 성능을 보였습니다. 코드 생성(§4.3)에서는 여러 프로그래밍 언어의 오픈 소스 코드로 학습된 모델을 사용했습니다. 이 모델을 LLM과 결합하여 낮은 수준의 논리 및 생성 능력을 활용한 결과, 코드 설명 및 코드 완성 작업에서 두 기본 모델을 능가하는 성능을 보였습니다(Table 4 참조).
효율적인 파라미터 미세 조정(Parameter Efficient Fine-Tuning):
많은 연구는 모델을 새로운 도메인에 맞게 효율적으로 미세 조정하기 위한 방법에 집중하고 있습니다. 이를 위해 훈련 가능한 파라미터의 수를 최소화하면서 원래 모델을 그대로 유지하는 방식이 제안되었습니다(Houlsby et al., 2019; Wang et al., 2021; Pfeiffer et al., 2021; Hu et al., 2022; Kessler et al., 2021). 하지만 이런 접근 방식은 원래 학습된 코퍼스에 없는 새로운 도메인으로 모델을 확장하는 데 한계가 있습니다. CALM은 보조 모델을 통해 완전히 새로운 도메인으로 모델을 적응시킬 수 있어 이러한 단점을 극복합니다. 4.4절에서는 대표적인 파라미터 효율 미세 조정 방식인 LoRA(Hu et al., 2022)보다 CALM이 더 효과적이라는 점을 보여줍니다.
모델 병합(Model Merging):
다른 전문가 모델을 간단한 작업 벡터 평균(Task Vector Averaging)과 같은 기법으로 병합하면 모델들의 서로 다른 기능을 결합할 수 있습니다(Ilharco et al., 2022; Matena & Raffel, 2022). 그러나 이러한 방법들은 원래 모델이 잘 맞는 경우에만 유효하며, 동일한 모델에서 파생되었거나(Matena & Raffel, 2022) 동일한 크기의 모델에만 적용 가능합니다(Muqeeth et al., 2023). 반면, CALM은 더 일반적이어서 다양한 모델 세트에 적용할 수 있습니다.
모델 및 작업 구성 가능성(Model and Task Compositionality):
모듈형 인코더-디코더 기반 방법(Dalmia et al., 2022)은 서로 다른 인코더의 재사용 가능성을 높여주며, 여러 기능을 갖춘 인코더의 유연한 활용이 가능합니다. 여러 연구는 다중 모달 관점에서의 구성 가능성도 탐구했습니다. 예를 들어, Alayrac et al. (2022)은 이미지 인코더에서 가져온 표현에 주의를 기울이기 위해 언어 모델에 교차 주의 파라미터를 추가하여 두 모델 간의 기능 전달을 효과적으로 이루어냈습니다. 본 연구에서는 모델 재사용 및 모듈성을 확장하여 대형 언어 모델에서 기능을 구성하는 이념을 확장하고자 합니다.
도구로서의 모델 활용(Models as Tools):
여러 언어 모델을 이용해 다운스트림 작업을 수행하기 위한 또 다른 흥미로운 방향은 모델의 입력 텍스트 공간에서 구성을 수행하는 것입니다(Zeng et al., 2022; Shen et al., 2023). Schick et al. (2023)은 모델이 외부 도구를 사용하는 방법을 배울 수 있음을 보여주었으며, 이와 같은 프레임워크에서 다른 모델들을 호출하는 방안을 연구할 여지가 있음을 시사했습니다. 이러한 접근 방식은 많은 프롬프트 엔지니어링이 필요하지만, 본 연구에서는 자동으로 학습할 수 있는 표현을 통한 구성을 목표로 합니다.
앵커 모델 와 보조 모델 가 주어졌을 때, CALM의 목적은 두 모델 을 구성하여 두 모델의 개별 능력의 조합으로 새로운 기능을 가능하게 하는 것입니다. 도입부에서 논의한 바와 같이, 우리는 다음과 같은 가정 하에 이 구성 방식을 연구합니다. i) 와 의 가중치에 접근하고, 순전파와 역전파를 실행하며, 중간 표현에 접근할 수 있음, ii) 두 모델의 가중치를 변경할 수 없음, iii) 기본 모델의 훈련 데이터, 하이퍼파라미터, 훈련 상태에 접근할 수 없음, iv) 대상 구성 도메인에서 몇 가지 예제만 제공됨.
구성 학습의 목표는 일부 공동 작업 ( 을 달성하기 위해 구성을 학습하는 것입니다. 여기서 와 의 가중치는 고정되어 있으며, 는 구성 학습을 위해 추가된 학습 가능한 파라미터 세트, 는 이 구성을 학습하는 데 사용되는 예제 세트입니다.
Figure 1에 설명된 대로, 우리는 항상 와 의 선택된 레이어 집합에서 작동합니다. 이 레이어들 위에서 두 개의 추가 파라미터 집합을 학습합니다. (i) 보조 모델 의 i 번째 레이어 표현을 앵커 모델 의 표현 차원으로 매핑하는 간단한 선형 변환 집합 , (ii) 변환된 레이어 표현과 앵커 모델 의 ( 번째 레이어 표현 간에 교차 주의(cross-attention)를 수행하는 레이어입니다.
구성 레이어: 보조 모델 와 앵커 모델 의 레이어 수를 각각 와 라고 하고, 두 모델의 토큰 차원을 각각 와 라 할 때, 두 모델 모두에서 새로운 학습 가능한 파라미터가 도입되는 구성 레이어 세트 와 를 선택합니다. 및 입니다. 간단하게 으로 설정하고, 연속되는 레이어 간의 간격은 선택된 레이어 수를 기준으로 균일하게 유지됩니다. 즉, 입니다. 또한, 는 ( 의 각 레이어 이후의 주어진 입력에 대한 레이어 표현을 나타냅니다.
학습된 투영: 다음으로, 의 표현을 투영 레이어를 통해 로 매핑합니다. 특히, 의 각 레이어에 대해, 각 레이어의 표현을 mB 의 원하는 표현 크기로 투영하는 함수 $f{\text{proj}}: \mathbb{R}^{D_A} \rightarrow \mathbb{R}^{D_B}$ 를 학습합니다. 이를 다음과 같이 정의할 수 있습니다.
이 변환은 모델 간의 교차 주의를 가능하게 하며, 기본 모델의 가중치가 고정된 상태에서도 와 의 표현 정렬을 수행합니다.
교차 주의 레이어: 인코더-디코더 모델에서의 다중 헤드 교차 주의와 유사하게(Vaswani et al., 2017; Raffel et al., 2020), 앵커 모델과 보조 모델의 표현 사이에 교차 주의를 도입합니다. 특히, 교차 주의에서 각 헤드에 대해 보조 모델의 를 키 및 값 벡터로, 앵커 모델의 를 쿼리 벡터로 사용하여 다음과 같은 교차 주의 구성을 도출합니다.
*여기서,
그리고,
*
여기서 는 교차 주의에 사용되는 주의 헤드 수를 나타내며, 일반적으로 m_B 에서의 자기 주의에 사용되는 헤드 수와 동일합니다. 각 , , , 는 학습 가능한 가중치 행렬이며, 입니다.
마지막으로, 교차 주의 출력은 의 레이어 표현에 잔여 연결(residual connection)으로 추가되며, 그 결과 벡터는 의 다음 레이어에 대한 입력으로 사용됩니다.
여기서 는 구성된 모델의 번째 레이어의 입력을 나타냅니다. 와 ( 의 모든 레이어가 유사하게 활용됩니다. 의 나머지 레이어를 통해 전파하면 번째 시간 단계에 대해 디코딩된 최종 출력 토큰 를 얻을 수 있습니다. 일반적인 자가 회귀 디코딩과 유사하게, 각 시간 단계의 출력 토큰이 입력에 추가됩니다. 즉, 입니다. 각 시간 단계에서 업데이트된 입력이 두 모델 모두에 전달되므로, 두 모델의 모든 표현이 새롭게 갱신됩니다.
대상 모델 는 두 모델 와 의 구성을 포함하기 때문에, 두 모델이 목표 작업에 대해 적절하게 를 참조할 수 있는 "결합된 능력"을 나타내는 예제 세트 를 구성합니다.
이상적으로는, 구성 작업에 포함된 작업 집합을 각각 과 로 구분할 수 있다면, 는 공동 작업 를 나타내도록 설계됩니다. 예를 들어, 우리의 키-값 설정에서 최종 작업 는 키 세트에 대한 산술을 수행하는 것입니다. 보조 모델 는 주어진 키-값 쌍을 학습하는 데 훈련되고(작업 ), 앵커 모델 는 수치 산술을 잘 수행할 수 있는 일반 모델입니다(작업 ). 구성을 위한 파라미터 를 학습하기 위해, 우리는 를 키에 대한 산술 작업(작업 C )으로 간주하며, 이는 두 모델의 결합된 능력을 포괄합니다. LoRA(Hu et al., 2022)와 같은 미세 조정 방식과 달리 훈련 시 전체 지식 소스(여기서는 키-값)를 요구하지 않고, 키의 일부만으로도
전체 집합에 일반화할 수 있음을 확인했습니다.
다른 실제 환경에서는 각 모델에 대한 전문 작업을 명확히 구분하기 어려울 수 있으며, 따라서 결합된 능력을 포착하는 작업을 정의하는 것이 어려울 수 있습니다. 두 모델의 특정 기능을 캡처하는 예제 집합을 사용하는 것이 적절하다는 것을 확인했습니다. 즉, 대략적인 개념입니다. 우리의 언어 포용성 작업에 대해서는 저자원 언어와 고자원 언어 데이터를 포함한 예제의 혼합을 사용했습니다.
다중 모델 구성: 마지막으로, 이 방법이 하나의 앵커 모델과 하나의 보조 모델에 대해 설명되었지만, CALM은 여러 보조 모델에도 적용 가능합니다. 특히, CALM은 앵커 모델과 각 보조 모델 간 유사한 투영 및 교차 주의 구성 요소를 학습하는 것이 필요합니다.
생략
제안된 CALM 프레임워크는 앵커 LLM과 특화된 보조 모델을 결합하여 개별 모델로는 수행할 수 없는 새로운 작업을 가능하게 합니다. CALM은 각 모델의 업데이트를 요구하지 않으며, 소수의 학습 가능한 교차 주의 파라미터를 통해 모델 간의 밀접한 상호작용을 학습합니다. 실험 결과, CALM이 두 모델의 전문성을 효과적으로 활용할 수 있도록 학습된다는 일관된 증거가 나타났습니다. 예를 들어, 관련 보조 모델과 결합할 경우 저자원 언어 번역, 추론, 코드 설명 및 생성과 같은 여러 어려운 작업에서 앵커 모델의 성능이 크게 향상되었습니다.
CALM은 특히 파라메트릭 모델에 저장된 독점 데이터와 지식이 있는 상황에서 유용합니다. CALM을 통해 기본 LLM은 독점 모델과 결합하여 목표 독점 도메인에서 추론, 세계 지식, 일관된 생성과 같은 다양한 기본 기능을 확장할 수 있습니다. 또한 CALM의 확장은 다수의 보조 모델로부터 개별 지식을 획득하는 데 사용될 수 있습니다.