논문 · arXiv 2302.13971
LLaMA: 오픈형의 효율적인 파운데이션 언어 모델
LLaMA: Open and Efficient Foundation Language Models
세 줄 요약
- 🎯 기존의 주요 LLM 대부분은 대규모 파라미터나 비공개 데이터셋에 의존하여 높은 서빙 비용과 연구 접근 장벽을 초래했습니다.
- 🔧 오픈소스 데이터와 RMSNorm, SwiGLU, RoPE만을 사용하여 1.0T
1.4T 토큰 규모로 소형 트랜스포머 모델(7B65B)을 학습했습니다. - 📈 LLaMA-13B는 대부분의 벤치마크에서 GPT-3 (175B)를 능가하며, LLaMA-65B는 간단한 인스트럭션 튜닝 후 MMLU에서 68.9%를 달성했습니다.
초록
우리는 7B부터 65B 파라미터 규모를 아우르는 파운데이션 언어 모델 모음인 LLaMA를 소개합니다. 수조 개의 토큰으로 모델을 학습시켰으며, 비공개 독점 데이터셋에 의존하지 않고 오직 공개 데이터셋만을 사용해 최고 수준의 모델을 학습할 수 있음을 보여줍니다. 특히 LLaMA-13B는 대부분의 벤치마크에서 GPT-3 (175B)를 능가하며, LLaMA-65B는 최고 성능의 모델인 Chinchilla-70B 및 PaLM-540B와 대등한 경쟁력을 보입니다. 우리는 모든 모델을 연구 커뮤니티에 공개합니다.
영어 원문 초록
We introduce LLaMA, a collection of foundation language models ranging from 7B to 65B parameters. We train our models on trillions of tokens, and show that it is possible to train state-of-the-art models using publicly available datasets exclusively, without resorting to proprietary and inaccessible datasets. In particular, LLaMA-13B outperforms GPT-3 (175B) on most benchmarks, and LLaMA-65B is competitive with the best models, Chinchilla-70B and PaLM-540B. We release all our models to the research community.
논문 해설
문제 및 연구 배경
표준 스케일링 법칙(예: Chinchilla)은 고정된 학습 연산 예산 내에서 파라미터 크기와 데이터셋 크기 간의 최적의 트레이드오프를 계산합니다. 그러나 이러한 접근법은 언어 모델 서빙의 수명 주기 운영 비용 대부분을 차지하는 *추론 예산(inference budget)*을 간과합니다. 서빙 효율성 측면에서는 연산 최적 권장치보다 훨씬 더 많은 데이터로 학습된 소형 모델이 호스팅 및 실행 비용이 크게 절감되므로 훨씬 유리합니다.
또한 기존 최고 수준의 모델(GPT-3, Chinchilla, PaLM 등)은 재현 불가능한 비공개 데이터셋이나 지나치게 거대한 아키텍처에 의존합니다. LLaMA는 공개적으로 사용 가능한 데이터만으로도 경쟁력 있는 파운데이션 모델을 학습할 수 있음을 입증하며, 연구자들을 위한 개방형 배포를 가능하게 합니다.
핵심 아이디어
- 추론 중심 학습: 연산 최적 데이터셋 크기(예: 10B 모델 기준 약 200B 토큰)에서 학습을 중단하는 대신, LLaMA는 7B 및 13B 모델을 1.0T 토큰으로, 33B 및 65B 모델을 1.4T 토큰으로 학습합니다.
- 공개 데이터셋만 활용: 모든 사전 학습 데이터는 CommonCrawl (67%), C4 (15%), GitHub (4.5%), Wikipedia (4.5%), Books (4.5%), ArXiv (2.5%), Stack Exchange (2%) 등 공개 소스에서 수집되었습니다.
- 현대화된 Transformer 아키텍처: 안정성을 위한 RMSNorm 기반 사전 정규화(pre-normalization), SwiGLU 활성화 함수, 그리고 절대적 위치 임베딩 대신 회전 위치 임베딩(RoPE)을 도입했습니다.
- 엔지니어링 효율성: 메모리 효율적인 어텐션(
xformers활용), 커스텀 액티베이션 체크포인팅, 시퀀스 및 모델 병렬 처리를 적용했습니다.
방법론
LLaMA는 다음과 같이 수정된 자기회귀 Transformer 디코더를 사용합니다:
- 사전 정규화(Pre-normalization): 각 서브레이어 입력 전에 RMSNorm을 적용하여 정규화 수행:
- SwiGLU 활성화 함수: 표준 ReLU/GELU 활성화 함수를 SwiGLU로 대체하고, 은닉 차원을 대신 크기로 설정했습니다.
- 회전 위치 임베딩(RoPE): 절대 위치 임베딩 없이 상대적 위치 정보를 인코딩하기 위해 모든 레이어에 적용했습니다.
- 최적화: 인 AdamW, 가중치 감쇠(weight decay) , 그래디언트 클리핑 , 웜업 스텝, 최대 학습률의 10%까지 감쇄하는 코사인 학습률 스케줄을 사용했습니다. 배치 크기는 모든 모델 규모에서 4M 토큰입니다.
학습 실행 전반의 에너지 및 탄소 배출량 추정치는 다음 공식을 따릅니다:
연구 결과
- 상식 추론(Common Sense Reasoning): LLaMA-13B는 여러 벤치마크에서 GPT-3 (175B)를 능가했습니다(예: BoolQ에서 78.1% vs 60.5%, WinoGrande에서 73.0% vs 70.2%). LLaMA-65B는 PIQA(82.8% vs 82.3%) 및 HellaSwag(84.2% vs 83.4%)에서 PaLM-540B와 대등하거나 이를 앞섰습니다.
- Closed-book QA: TriviaQA (0-shot)에서 LLaMA-65B는 68.2%, LLaMA-13B는 56.6%를 기록했습니다(LLaMA-13B는 단일 V100 GPU에서 구동되면서도 GPT-3의 유사 성능을 능가함).
- 코드 생성: HumanEval (pass@1)에서 LLaMA-65B는 23.7%를 기록하여 PaLM-62B(15.9%)를 능가하고 PaLM-cont 62B(23.7%)와 동등한 성능을 보였습니다.
- MMLU 및 인스트럭션 파인튜닝: 기본 LLaMA-65B는 MMLU 5-shot 정확도에서 63.4%를 달성했습니다(사전 학습 도서 코퍼스가 작아 PaLM-540B의 69.3%에는 미치지 못함). 그러나 기본적인 프롬프트로 인스트럭션 파인튜닝을 적용한 LLaMA-I 65B는 성능이 68.9%까지 향상되었습니다.
한계점 및 향후 과제
- 환각 및 진실성: TruthfulQA 점수는 여전히 다소 낮아(LLaMA-65B 기준 Truthful 0.57, Truthful*Informative 0.53), 환각(hallucination)을 생성하는 경향이 지속됨을 보입니다.
- 독성 스케일링: RealToxicityPrompts 평가 결과, 모델 크기가 커질수록 독성이 증가했으며, 특히 정중한 프롬프트에서 이러한 경향이 두드러졌습니다(65B는 0.141 vs 7B는 0.081).
- 학술 지식 격차: MMLU 성능이 Chinchilla-70B 및 PaLM-540B에 뒤처졌는데, 저자들은 비공개 데이터셋의 약 2TB에 비해 도서 및 학술 논문 데이터를 약 177GB만 학습에 사용했기 때문으로 추정합니다.
핵심 용어
- LLaMA
- 공개 데이터셋만을 활용해 최대 1.4조 개의 토큰으로 학습된 7B부터 65B 파라미터 규모의 파운데이션 언어 모델 제품군.
- Inference Budget (추론 예산)
- 학습된 모델을 서빙할 때 발생하는 연산 비용 및 지연 시간으로, 소형 모델을 더 많은 토큰으로 학습시킴으로써 이를 최적화할 수 있습니다.
- RMSNorm
- 학습 안정성을 확보하기 위해 트랜스포머 서브레이어의 입력을 정규화하는 데 사용되는 제곱평균제곱근(Root Mean Square) 기반 레이어 정규화 기법.
- SwiGLU
- Swish 활성화 함수를 사용하는 게이트 선형 유닛 변형으로, 은닉 차원 크기가 2/3 * 4d로 설정됩니다.
- Rotary Positional Embeddings (RoPE)
- 쿼리와 키 표현을 회전시켜 트랜스포머 어텐션 레이어에 상대적 위치 정보를 주입하는 기법.
- xformers
- 대규모 어텐션 가중치 행렬 저장을 방지하여 효율적인 인과적 멀티헤드 어텐션 구현을 제공하는 오픈소스 라이브러리.
- LLaMA-I
- 명령어 수행 능력과 MMLU 성능을 향상시키기 위해 Flan 프로토콜을 따라 학습된 LLaMA-65B의 인스트럭션 파인튜닝 버전.
- TruthfulQA
- 적대적인 사실 질문을 통해 LLM이 인간의 거짓된 통념이나 환각을 모방하는 경향을 측정하는 벤치마크.
자주 묻는 질문
LLaMA 사전 학습에는 어떤 데이터셋이 사용되었나요?
사전 학습에는 영어 CommonCrawl (67%), C4 (15%), GitHub (4.5%), 20개 언어로 구성된 Wikipedia (4.5%), Gutenberg 및 Books3 (4.5%), ArXiv (2.5%), Stack Exchange (2%) 등 오직 공개 데이터만 사용되었습니다.
LLaMA-13B는 GPT-3 (175B)와 비교했을 때 어떤가요?
LLaMA-13B는 파라미터 크기가 10배 이상 작고 단일 소비자용/데이터센터 GPU에서 추론이 가능함에도 불구하고 BoolQ, PIQA, WinoGrande 등 대부분의 표준 벤치마크에서 GPT-3를 능가합니다.
LLaMA-65B를 학습하는 데 얼마나 걸렸나요?
1.4조 개의 토큰으로 LLaMA-65B를 학습할 때 2,048대의 80GB A100 GPU를 사용하여 GPU당 초당 약 380토큰을 처리했으며, 완료하는 데 약 21일이 소요되었습니다.
LLaMA는 기존 Transformer와 비교해 어떤 아키텍처적 변경을 적용했나요?
LLaMA는 서브레이어 입력에 RMSNorm 사전 정규화를 적용하고, ReLU를 SwiGLU 활성화 함수(차원 2/3 * 4d)로 교체했으며, 절대 위치 임베딩 대신 회전 위치 임베딩(RoPE)을 사용했습니다.
이 페이지의 해설은 AI가 논문을 바탕으로 작성했으며 오류가 있을 수 있습니다. 자세한 내용은 원문을 확인하세요.