LLaMA: Open and Efficient Foundation Language Models
arXiv, 2023
분야 및 배경지식
- 언어모델 (Language Model)
- 일련의 단어, 토큰, 글자에 대한 확률분포
- 이전에는 N-gram과 다양한 smoothing technique을 기반으로 하였으나 최근에는 self-attention 기반의 transformer 네트워크를 주로 사용
문제
- 모델의 크기가 커질수록, 데이터가 많아질수록 모델의 성능이 올라간다는 사실이 증명되었으나, 이는 학습비용만 고려했을 뿐 추론비용에 대해서는 고려하지 않음
해결책
LLAMA
- 일반적으로 사용되는 토큰보다 더 많은 토큰을 학습함으로써, 다양한 추론 비용(budget) 내에서 가능한 최고의 성능을 내는 모델 (7B - 65B)
- 사전학습 데이터
- 공개적으로 사용 가능한 데이터 이용
- English CommonCrawl, C4, Github, Wikipedia, Gutenbertg and Books3, ArXiv, Stack Exchange
- 저품질의 데이터는 걸러내고, 중복되는 데이터는 제거하는 등의 사전작업 수행
- 토크나이저
- byte-pair encoding (BPE) 알고리즘을 사용
- 아키텍처
- Transformer 이용
- Pre-normalization (GPT-3): 각 transformer의 sub-layer에 들어가는 Input을 normalize (RMSNorm)
- Swi-GLU activation (PaLM): ReLU 대신 SwiGLU 사용
- Rotary Embeddings (GPTNeo): absolute positional embedding 대신 rotary positional embedding 사용
- 효율적인 학습을 위한 조치
- 메모리 사용과 런타임을 줄이기 위해 효율적인 causal multi-head attention을 실행
- 체크포인팅을 활용해 backward pass동안 다시 계산되는 activation의 양을 줄임
- 모델 병렬화, 시퀀스 병렬화 사용
- GPU 사이의 통신과 activation의 계산을 중첩
평가
- 태스크
- common sense reasoning (상식 추론)
- closed-book question answering (컨텍스트가 주어지지 않은 질의응답)
- reading comprehension (독해)
- mathematical reasoning (수학적 추론)
- code generation (코드 생성)
- Massive multitask language understanding (거대한 멀티태스크 언어 이해)
의의
- LLAMA-13B 모델이 훨씬 많은 파라미터를 가진 GPT-3(175B) 모델보다 대부분의 벤치마크에서 더 좋은 성능을 보임
- LLAMA-65B 모델의 경우 성능이 뛰어난 Chinchilla-70B, PaLM-540B 모델 등의 모델과 유사한 성능을 보임
- 단일 GPU 내에서 수행될 수 있으며, LLM(Large Language Model; 거대 언어모델)에 대한 접근과 연구를 민주화(democratize)
- 최근 많은 LLM들이 모델의 정보나 학습된 파라미터를 공개하지 않고 있음
한계
- 모델의 크기가 커질수록 여전히 모델이 해로운 응답을 낼 가능성이 높아짐
- toxic language; e.g. insults, hate speech or threats
- 데이터셋에 내재된 편견(e.g. 성별)이 여전히 모델의 결과에 영향을 미침
- 옳지 않은 응답을 진짜처럼 내놓는 hallucination(그럴듯한 거짓말)이 여전히 존재