본문 바로가기

논문 리뷰/Language Model

SOLAR 10.7B: Scaling Large Language Models with Simple yet Effective Depth Up-Scaling

현재 Open LLM Leaderboard를 장악하고 있는 한국 AI 스타트업 업스테이지의 "SOLAR" ㄷㄷㄷ

 

 

[HuggingFace]

[arXiv](Current version v1)

 

현재(2023/12/28) leaderboard 1등인 Sakura-SOLAR-Instruct

[Blog]

[Github]

 

Abstract

Depth up-scaling(DUS) 기술을 소개하고 DUS를 사용하여 구축한 LLM인 SOLAR 10.7B 소개

 

 

 

SOLAR 10.7B Architectural Details

사전 훈련된 우수한 기본 모델에 DUS를 적용하여 scaled-up 모델을 얻는다.

다른 scale-up 방법인 MoE는 훈련 프레임워크의 복잡한 변경이 필요하지만 DUS는 기존의 훈련 및 추론 프레임워크를 사용하면서도 효율성을 보장한다.

 

Base Model

Base model: 32-layer Llama 2

Pretrained weights : Mistral 7B

 

Depth Up-Scaling

모델 up-scaling의 순진한 방법은 계층을 복사하여 단순히 쌓는 것이다. 32계층을 복사하여 64계층으로 만든다. 하지만 이러한 방법은 계층 거리가 멀기 때문에(1 ↔ 32) 모델의 능력을 방해할 수 있다.

 

DUS는 다음 그림과 같이 일부 중간 계층을 제거하여 연결하는 방법이다.

제거되는 중간 계층의 수는 performance-to-size trade-off를 고려하여 결정되었다.

 

 

 

SOLAR 10.7B Training Details

확장된 모델은 pretraining의 연장으로 빠르게 성능을 회복할 수 있다고 하며, 그 후 fine-tuning을 수행한다.

 

Instruction Tuning

QA 형식의 지침을 따르도록 훈련된다.

 

또한 수학 QA dataset을 제작한다.

먼저 MATH dataset에서 데이터를 수집하고 MetaMath와 유사한 process를 사용하여 QA를 재작성한다.

이렇게 제작된 데이터셋을 Synth. Math-Instruct 라고 함.

 

Alignment Tuning

Open source dataset으로 Direct Preference Optimization(DPO)를 수행하여 모델을 정렬한다.

또한 Synth. Math-Instruct의 재작성된 답변을 좋은 답변으로, 원래 답변을 나쁜 답변으로 간주한다.

 

Model Merging

Instruction tuning, alignment tuning에서 훈련된 일부 모델을 가중치 평균 or Spherical Linear Interpolation을 통해 병합하였다.

 

 

 

Experimental Results

 

장단점이 있는 두 모델

을 병합