인공지능 개발자 수다(유튜브 바로가기) 자세히보기

자연어처리

[자연어처리] Llama-1 모델 공부 - Llama1 논문 요약

Suya_03 2023. 11. 22. 20:23

목차

    반응형

    지난 시간 Llama2에대해 공부했었는데, 모델의 세부적인 내용이 Llama1 과 비슷하다고 하여 논문을 한번 보는 것이 좋겠다고 생각해 요약을 해보는 것도 좋은 경험일 것 같아 글을 작성합니다.

     

    - 논문 링크

     

    LLaMA: Open and Efficient Foundation Language Models - Meta Research | Meta Research

    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...

    research.facebook.com

     

    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. 결론

    • 독점적인 데이터셋 없이 공개 데이터만을 사용해도 최고 수준의 성능을 달성할 수 있음을 보여줌

     

     

    반응형