LLaMA: Open and Efficient Foundation Language Models

기존의 많은 parameter를 사용하는 LLM과 비교해서 해당 논문에서 제안한 LLaMA-13B는 (GPT-3: 175B, PaLM: 540B) 13B 의 parameter만을 사용하여 대부분의 benchmark에서 좋은 성능을 보였습니다.
Inc Lomin's avatar
Jun 22, 2023
LLaMA: Open and Efficient Foundation Language Models
 
notion image

Introduction


기존의 많은 parameter를 사용하는 LLM과 비교해서 해당 논문에서 제안한 LLaMA-13B는 (GPT-3: 175B, PaLM: 540B) 13B 의 parameter만을 사용하여 대부분의 benchmark에서 좋은 성능을 보였습니다.
7B 에서 65B parameter 까지 scaleable한 모델들을 제시했고, 다른 모델들과 달리 publicly 접근이 가능한 데이터셋만을 이용하여 학습했다는 특징이 있습니다. (제목의 ‘Open’)

Background


3.1 SwiGLU Activation Function

notion image
Swish activation function:
SwiGLU activation function: 여러 task에서 Relu, GELU 보다 높은 성능을 보였습니다.

3.2 Rotary Positional Embedding

notion image
Absolute positional embedding 대신 target vector 에 rotation을 적용하는 PE
라고 가정했을 때 를 constant 에 position 정보 을 곱한 만큼 회전하게 됩니다.
일반적인 상황에서의 rotation matrix 는 아래와 같습니다.
notion image
notion image
에 위치하는 의 position encoded Query / Key 를 나타냅니다.
 
이 연산의 장점은 모두에 rotary PE를 적용했을 때 의 연산에서 아래와 같이 두 rotation matrix가 곱해지는 부분이 생기는데, 이를 하나의 rotation matrix로 변환할 수 있어 연산이 쉬워진다는 것입니다. 또한 모든 sequence length 에 대해서 적용할 수 있다는 장점도 있습니다.
notion image
 
Rotary positional embedding 논문에서는 vanilla transformer에 이를 적용했을 때 아래와 같은 성능향상이 일어났다고 합니다.
notion image

Architecture


4.1 Model setup

4.1.1 Dataset
notion image
  • 다른 LLM (Chinchilla, PaLM, GPT-3)들과 다르게 publicly available dataset 만을 사용했습니다.
4.1.2 Tokenizer
  • Byte pair encoding
  • Sentence-piece tokenization
  • split all numbers into individual digits
결과적으로 1.4T 개의 token을 가지게 되었고 몇몇 데이터를 제외하면 한 번만 학습에 활용되었습니다.
notion image
4.1.3 Architecture
  • Pre-normalization: 학습 안정성을 높이기 위해 각 transformer sub-layer 마다 normalize
  • ReLU 대신 SwiGLU 사용
  • Absolute positional embedding 대신 rotary positional embedding 도입
 

Experiments


5.1 Experimental setup

Optimizer
  • AdamW optimizer: weight decay 0.1, gradient clipping 1.0
 

5.2 Main results

notion image
notion image
 
  • LLaMA 65B 모델 기준 2048 A100 GPU(80GB) 으로 380tokens/sec/GPU 의 학습 속도를 보였고, 이는 1.4T token을 가지는 데이터셋 기준 21일이 걸리는 속도 입니다. 다른 모델들에 비해 빠른 학습 속도를 가지고 있습니다.
 
 

Conclusions


LLAMA는 비교적 적은 파라미터 개수로도 (10배) 다른 모델들에 비해 전반적인 task에서 좋은 성능을 보였고, 모델을 public 하게 릴리즈하는만큼 open된 모델이라는 것을 강조하는 모습을 보였습니다.
Share article