📝 LLaMA: Open and Efficient Foundation Language Models
LLaMA는 70억~650억 개 매개변수를 가진 기본 언어 모델 모음
공개 데이터셋만을 사용해 최첨단 성능을 내는 모델을 훈련할 수 있음을 증명함
LLaMA-13B는 GPT-3(175B)보다 뛰어난 성능을 보이며, LLaMA-65B는 Chinchilla-70B 및 PaLM-540B와 경쟁 가능함
대규모 텍스트 코퍼스를 기반으로 훈련된 대형 언어 모델(LLM)은 텍스트 지시나 몇 가지 예제만으로 새로운 작업 수행 가능함
기존에는 모델 크기를 키울수록 성능이 향상된다고 가정했지만, 작은 모델을 더 많은 데이터로 학습하는 것이 더 효과적일 수도 있음
LLaMA는 70억~650억 매개변수를 가지며, 적은 크기로도 GPT-3 및 Chinchilla 같은 대형 모델과 경쟁 가능한 성능을 보임
LLaMA의 사전 훈련 데이터는 공개적으로 이용 가능한 다양한 데이터셋을 조합하여 구성함
SentencePiece 기반 BPE 토크나이저를 사용하며, 숫자는 개별 숫자로 분할하고 UTF-8 문자는 바이트 단위로 처리됨
전체 데이터셋 크기는 1.4T 토큰이며, Wikipedia와 Books 데이터는 약 2 에포크 동안 학습됨
LLaMA는 Transformer 아키텍처를 기반으로 하되, GPT-3, PaLM, GPTNeo 등의 개선점을 적용함
훈련 안정성을 위해 Pre-normalization 방식(RMSNorm 정규화 함수 사용)을 적용함
활성화 함수로 SwiGLU를 사용하며, 기존 PaLM 대비 차원을 대신 로 설정함
절대 위치 임베딩 대신 RoPE(Rotary Positional Embeddings)를 도입하여 성능을 개선함
모델 학습에는 AdamW 옵티마이저를 사용하며, 하이퍼파라미터는 로 설정됨
코사인 스케줄링을 적용하여 최종 학습률이 최대 학습률의 10%가 되도록 조정함
가중치 감소(weight decay)는 0.1, 그래디언트 클리핑(gradient clipping)은 1.0으로 설정함
인과적 멀티헤드 어텐션 최적화를 적용하여 메모리 사용량과 실행 시간을 감소시켰음
역전파 시 다시 계산해야 하는 활성화 값을 줄이기 위해 체크포인팅을 활용했으며, PyTorch 자동 미분 대신 직접 구현함
모델 및 시퀀스 병렬화를 통해 메모리를 최적화하고, GPU 간 통신과 계산을 병렬 처리하여 성능을 극대화했음
제로샷(Zero-shot): 모델에 태스크의 텍스트 설명과 테스트 예제를 제공하고, 모델은 개방형 생성(open-ended generation) 또는 주어진 정답 후보의 랭킹을 통해 답을 제시함
퓨샷(Few-shot): 1~64개의 예제와 테스트 예제를 모델에 제공하고, 이를 입력으로 받아 답을 생성하거나 정답 후보를 랭킹함
BoolQ, PIQA, SIQA, HellaSwag, WinoGrande, ARC (Easy & Challenge), OpenBookQA 위 8개의 일반적인 상식 추론 벤치마크를 사용하여 평가를 진행함
이러한 데이터셋은 클로즈(Cloze) 및 위노그라드(Winograd) 스타일 태스크, 그리고 다중 선택형 문제 해결을 포함하고 있음. 모든 벤치마크는 제로샷(Zero-shot) 설정에서 평가됨
결과:
LLaMA-65B는 Chinchilla-70B를 BoolQ를 제외한 모든 벤치마크에서 능가함
LLaMA-65B는 PaLM-540B보다 BoolQ 및 WinoGrande를 제외한 모든 벤치마크에서 더 우수한 성능을 보임
LLaMA-13B는 GPT-3보다 대부분의 벤치마크에서 더 좋은 성능을 보이며, 크기가 10배 작음
Natural Questions, TriviaQA 두 개의 폐쇄형 질문 응답 벤치마크에서 모델을 평가함
폐쇄형 설정(closed-book setting)에서 정확히 일치하는 답변을 예측하는 성능을 측정하였으며, 모델은 증거 문서를 참조하지 않고 질문에 대한 답을 생성해야 함
결과:
LLaMA-65B는 제로샷 및 퓨샷 설정에서 최고 성능을 달성함
LLaMA-13B는 GPT-3 및 Chinchilla와 비교할 때 5~10배 작은 크기에도 불구하고 경쟁력을 보임
LLaMA-13B는 단일 V100 GPU에서도 추론 가능함
RACE 벤치마크를 사용하여 평가함
이 데이터셋은 중국 중·고등학생 대상 영어 독해 시험 문제로 구성됨
결과:
LLaMA-65B는 PaLM-540B와 경쟁 가능한 성능을 보임
LLaMA-13B는 GPT-3보다 몇 퍼센트 더 높은 정확도를 기록함
두 개의 수학적 추론 벤치마크에서 평가함.
MATH: 중·고등학교 수준의 12,000개 문제
GSM8K: 중학교 수준의 수학 문제
결과:
두 개의 코드 생성 벤치마크에서 평가함
HumanEval: 자연어 설명을 기반으로 파이썬 코드 작성
MBPP: 주어진 입출력 예제와 설명을 바탕으로 코드 생성
결과:
LLaMA-65B는 PaLM-62B보다 우수한 성능을 보임
LLaMA-13B 이상의 모델은 LaMDA-137B보다 높은 점수를 기록함
코드 전용 모델과 비교하면 성능이 낮으나, 코드 학습 없이 일반적인 LLM으로서 우수한 성능을 보임
57개 분야(인문학, STEM, 사회과학 등)에 걸친 다중 선택 문제로 구성됨
5-shot 설정에서 평가 수행
결과:
LLaMA-65B는 Chinchilla-70B 및 PaLM-540B보다 평균적으로 몇 퍼센트 낮은 성능을 보임
이는 LLaMA의 학습 데이터에 책 및 학술 논문의 비중이 적었기 때문일 가능성이 높음
학습 중 몇 가지 질문 응답 및 상식 추론 벤치마크에서 모델 성능을 추적함
대부분의 벤치마크에서 훈련 손실(perplexity) 감소와 함께 성능이 지속적으로 향상됨
하지만 SIQA 및 WinoGrande의 경우 성능 변동이 크거나 훈련 손실과 상관성이 낮음
짧은 명령어 파인튜닝만으로도 LLaMA-65B의 MMLU 성능과 명령 수행 능력이 향상됨
LLaMA-I(65B)는 기존 중간 크기 모델보다 높은 68.9% 성능을 보였지만, GPT 코드-davinci-002의 77.4%에는 미치지 못함
모델이 웹 기반 데이터로 학습하면서 편향, 독성, 허위정보 생성 문제가 있음
RealToxicityPrompts, CrowS-Pairs, WinoGender, TruthfulQA 등으로 평가했고, 모델 크기에 따라 독성과 편향 증가하는 경향 있음
특히 종교, 연령, 성별 관련 편향이 두드러지며, 진실성 평가는 GPT-3보다 우수하지만 전반적으로 낮은 정확도 문제가 있음
LLaMA-13B는 GPT-3보다 성능이 좋으면서 10배 이상 작고, LLaMA-65B는 Chinchilla-70B와 PaLM-540B와 경쟁함
공개 데이터만으로 최신 성능을 달성할 수 있음을 보여줌
모델 공개로 연구 커뮤니티의 발전을 촉진하고, 독성 및 편향 문제 완화에 기여할 것으로 기대함
지시문 기반 미세 조정과 더 큰 사전학습 코퍼스 활용을 통해 향후 모델 성능이 더욱 향상될 전망임