목차
반응형
지난 시간 Llama2에대해 공부했었는데, 모델의 세부적인 내용이 Llama1 과 비슷하다고 하여 논문을 한번 보는 것이 좋겠다고 생각해 요약을 해보는 것도 좋은 경험일 것 같아 글을 작성합니다.
- 논문 링크
0. Abstract
LLaMA는 7B에서 65B 매개변수를 가진 언어 모델 컬렉션
이들은 공개 데이터셋으로 훈련됨
LLaMA-13B는 GPT-3를, LLaMA-65B는 Chinchilla-70B와 PaLM-540B와 경쟁력을 가짐
1. Introduction
- 큰 언어 모델들(Large Language Models, LLMs)이 대규모 텍스트 코퍼스에서 새로운 작업을 수행할 수 있는 능력을 보여줌.
- 모델들의 확장은 더 많은 매개변수가 더 나은 성능을 가져온다는 가정 기반
- 이 연구는 다양한 추론 예산에서 최고의 성능을 달성하기 위해 일반적으로 사용되는 것보다 더 많은 토큰으로 훈련된 언어 모델 시리즈, LLaMA를 훈련시키는 것에 중점을 둠. LLaMA 모델은 7B에서 65B 매개변수 범위를 가짐
- LLaMA는 Chinchilla, PaLM, GPT-3와 달리 공개적으로 이용 가능한 데이터만을 사용하여, 기존 모델들이 주로 사용하는 공개되지 않은 또는 문서화되지 않은 데이터(예: “Books – 2TB” 또는 “Social media conversations”)에 의존하지 않음.
- 논문의 나머지 부분에서는 변형된 트랜스포머 아키텍처와 훈련 방법에 대한 개요를 제시하고, LLaMA 모델의 성능을 다른 LLMs와 비교하는 벤치마크 결과를 보고함.
2. Approach
2.1. Pre-training Data (사전 훈련 데이터)
- 훈련 데이터셋은 여러 출처의 혼합으로 구성되어 있으며, 대부분 공개적으로 이용 가능하고 오픈 소싱과 호환되는 데이터만을 사용.
- 전체 훈련 데이터셋은 약 1.4T 토큰으로 구성되며, 대부분의 데이터에 대해 훈련 중 각 토큰은 한 번만 사용
- 데이터 토큰화:바이트 쌍 인코딩(BPE) 알고리즘, SentencePiece 구현체 사용.
- 주요 데이터 출처는 다음과 같음:
- English CommonCrawl [67%]: 2017-2020년 사이의 CommonCrawl 덤프 5개를 CCNet 파이프라인으로 전처리. 중복 제거, 언어 식별, 품질 필터링 등을 수행.
- C4 [15%]: 다양한 CommonCrawl 데이터셋을 사용하는 것이 성능 향상에 도움이 되었기 때문에 C4 데이터셋 포함. 중복 제거 및 언어 식별 단계 포함.
- GitHub [4.5%]: Google BigQuery에서 제공하는 공개 GitHub 데이터셋 사용. 품질 낮은 파일 필터링 및 보일러플레이트 제거.
- Wikipedia [4.5%]: 2022년 6월-8월 기간의 Wikipedia 덤프 추가.
- Gutenberg 및 Books3 [4.5%]: 공개 도메인에 속하는 책들을 포함하는 Gutenberg 프로젝트와 ThePile의 Books3 섹션 포함.
- ArXiv [2.5%]: 과학 데이터를 추가하기 위해 arXiv의 LaTeX 파일들을 처리.
- Stack Exchange [2%]: 컴퓨터 과학에서 화학에 이르는 다양한 분야를 다루는 고품질 질문과 답변을 포함하는 Stack Exchange 덤프 포함.
2.2. Architecture
- 트랜스포머 아키텍처를 기반
- 원래 아키텍처와의 주요 차이점, 변경에 대한 영감을 얻은 모델
- Pre-normalization [GPT3]: 훈련 안정성을 향상시키기 위해, 각 트랜스포머 하위 레이어의 입력을 정규화하는 방식을 사용. 출력 대신 입력 정규화에 RMSNorm 정규화 기능 사용.
- SwiGLU 활성화 함수 [PaLM]: ReLU 비선형성을 SwiGLU 활성화 함수로 대체하여 성능 향상. PaLM에서 사용하는 4d 대신 2/3/4d 차원 사용.
- Rotary Embeddings [GPTNeo]: 절대 위치 임베딩을 제거하고 대신에 각 네트워크 레이어에 RoPE(Rotary Positional Embeddings)를 추가.
2.3 Optimizer
- AdamW 사용
- 하이퍼파라미터
2.4 Efficient implementation
- causal multi-head attention, xformers 라이브러리에 있음, 메모리 사용량과 계산을 줄임
- 역전파 중 재계산되는 활성화 양을 체크포인팅을 사용하여 줄임. (PyTorch autograd에 의존하지 않고, 트랜스포머 레이어의 역전파 함수를 직접 구현)
- 모델과 시퀀스 병렬화, 모델의 메모리 사용량을 줄임
- GPU 간 통신, 활성화 계산을 가능한 한 겹치도록
- 1.4T 토큰으로 구성된 데이터셋을 약 21일 만에 훈련
3. Main Results
- Common Sense Reasoning, Closed-book Question Answering, Reading Comprehension,Mathematical reasoning, Code generation, Massive Multitask Language Understanding, Evolution of performance during training 등을 평가했으며 범용적으로 성능이 좋음
4. Instruction Finetuning
- 지시어 미세조정(instruction finetuning)은 모델이 특정 지시에 따라 더 정확하게 반응하도록 하는 과정
- 더 복잡한 작업을 처리할때 좋은 결과를 보여줌
5 Bias, Toxicity and Misinformation
- 대규모 언어 모델들은 훈련 데이터에 존재하는 편견을 재현하고 확대할 수 있으며, 독성이나 공격적인 내용을 생성할 수 있다고 알려져 있음
6. Carbon footprint - 생략
7 Related work - 생략
8. 결론
- 독점적인 데이터셋 없이 공개 데이터만을 사용해도 최고 수준의 성능을 달성할 수 있음을 보여줌
반응형
'자연어처리 > LLM 모델' 카테고리의 다른 글
[LLM] Llama2 - 논문 요약 (2) (3) | 2024.09.11 |
---|---|
[LLM] Llama2 모델 (1) (4) | 2024.09.11 |
LLM공부를 위해 Hugging Face 데이터셋 뒤져본 후기 (3) | 2023.10.11 |
LLM이란? 그리고 공부하려면 (2) | 2023.10.04 |
[LLM] GPT4 - 논문 리뷰 (0) | 2023.05.09 |