LAMMA : 7B-65B 규모의 LLM 모델
라마의 크기(매개변수 수)를 67억개, 130억개, 325억개, 652억개 등 다양한 형태로 제공하며 대형언어모델인데도 1750억 개의 매개변수가 있는 오픈AI의 GPT-3에 비해 크기가 상당히 작음
매개변수가 130억개(13B)인 라마는 대부분의 벤치마크에서 GPT-3(175B)보다 성능이 우수했고, 매개변수가 652억개인 라마는 5400억개(540B) 매개변수를 가진 구글의 언어모델 팜(PaLM)과 경쟁 가능
LLM은 모델의 크기(매개변수)와 데이터가 많아질수록 성능이 올라간다는 사실이 가정하에 발전
하지만 한정된 비용 내에서, 상대적으로 작은 규모의 모델에게 큰 데이터를 지속적으로 학습시켰을 때 최상의 성능을 보일 수 있음
이러한 관점에서 연구의 목적을 일반적인 LLM 모델에서 학습되는 토큰 보다 더 많은 토큰의 수를 학습시키고, 이를 통해 다양한 budget 내에서 높은 성능을 확보하고자 함
Dataset
LLaMA 사전학습 데이터
67%: English CommonCrawl(영문 크롤링 데이터)
영문 크롤링 데이터에 CCNet 파이프라인을 사용하여 전처리 수행
4.5%: GitHub(퍼블릭 코드 데이터)
그 외 Wikipedia 4.5%, Gutenberg and Books3 (도서 데이터) 4.5%, ArXiv (논문 데이터) 2.5%, Stack Exchange (컴퓨터 과학, 화학 등 고품질 Q&A 웹사이트) 2% 등
토크나이저
LLaMA 아키텍처
최근 공개된 LLM과 마찬가지로 Transformer의 아키텍처 기반으로 하며 아래와 같이 아키텍처에 변화를 주어 개선 사항을 활용(대괄호 안의 모델에서 영감을 받아 사용)
Pre-normalization [GPT3]: 훈련 안정성 향상을 위해 출력을 정규화시키는 것이 아닌, 각 Transformer sub-layer의 input을 정규화(RMSNorm)
SwiGLU 활성화 함수 [PaLM]: 성능 향상을 위해 ReLU 대신 SwiGLU 활성화 함수 사용(다만, PaLM와 달리 4D가 아닌 2D 차원을 사용)
Rotary Embeddings [GPTNeo]: Absolute Positional Embeddings를 제거하고, 네트워크의 각 레이어에 Rotary Positional Embeddings 추가(RoPE)
LLaMA Optimizer
AdamW 옵티마이저를 사용하여 학습되었으며 최대 학습률 10% 만큼의 Cosine Learning-Rate 스케쥴링을 사용
Efficient implementation
모델 학습 속도를 향상시키기 위해 여러가지 최적화 수행
최근 연구들과 같이 Zero-Shot, Few-Shot에 대한 성능 평가를 진행하며, Free Form Generation (자유 형식 생성)과 Multiple Choice (다중 선택) Task 수행