NL-212, LLaMA: Open and Efficient Foundation Language Models, Preprint 2023

◼ Comment

  • 워낙 유명한 논문으로,, meta에서 LLM 백본을 오픈소스로 공개한 논문이다.
  • 테크니컬한적으로 엄청난 것은 없지만 나름 얻어갈 게 몇 개 있다고 본다.
  • 1) 오픈데이터로만 학습한 llama가 나름 성능이 좋다
    • 오픈 데이터를 나름 전처리한 것 같고 통계에 대해선 보여주나, 자세한 것은 없음
    • LLaMA 65B > PALM 62B 라고 볼 수 있고
    • LLaMA 13B > GPT3 라고 주장함
    • 즉 비슷한 사이즈의 다른 모델들보다 성능이 좋다고 볼 수 있는 실험 결과를 리포트한다.
  • 2) 유용한 레퍼런스
    • 내가 안읽어 본 것들.. 
    • Kaplan:  Scaling laws for neural language models
    • Chowdhery: Palm: Scaling language modeling with pathways.
    • Rae: . Scaling language models: Methods, analysis & insights from training gopher.
  • 3) 아케틱쳐
    • 사실 다른 llm 논문을 안읽어서 이 방법이 정배인진 모르겠으나..
    • Pre-normalization [GPT3]. 
    • SwiGLU activation function [PaLM]. 
    • Rotary Embeddings [GPTNeo]. 
    • 로터리 임베딩은 관련된 것을 한번 봐야할 듯
  • 4) instruction-tuning
    • 자세한 실험을 한 것은 아니나, 이걸 했을때 확실히 성능이 좋아진다고 함
  • 5) 모델 사이즈
    • 모델 사이즈가 커질수록 성능 자체는 높아지나
    • 독성또한 높아진다.. 즉 부작용도 존재하는 듯?
  • 6) 다양한 실험결과
    • llm을 평가할때 사용되는 다양한 벤치마크에 대해서 알 수 있음
  • 여기서는 RLHF등을 한 것은 아님

Abstract

  • 우리는 LLaMA라는 7B부터 65B 파라미터까지의 기초 언어 모델 컬렉션을 소개합니다. 
  • 우리는 이 모델들을 수조 개의 토큰으로 훈련시켰으며, 전용 및 접근할 수 없는 데이터셋에 의존하지 않고도 공개적으로 사용 가능한 데이터셋만을 사용하여 최첨단 모델을 훈련시킬 수 있는 것을 보여줍니다. 
  • 특히, LLaMA-13B는 대부분의 벤치마크에서 GPT-3 (175B)보다 우수한 성능을 보여주며, LLaMA65B는 최고의 모델인 Chinchilla-70B 및 PaLM-540B와 경쟁력을 가집니다. 
  • 우리는 모든 모델을 연구 커뮤니티에 공개합니다.

1 Introduction

  • 대규모 언어 모델(Large Language Models, LLMs)은 대규모 텍스트 코퍼스로 훈련된 모델로, 새로운 작업을 텍스트 지시 또는 몇 가지 예시만으로 수행할 수 있는 능력을 보여주었다(Brown et al., 2020). 
    • Brown: Language models are few-shot learners. (GPT3)
  • 이러한 Few-shot 속성은 모델 크기를 충분히 확장함으로써 처음으로 나타났으며(Kaplan et al., 2020), 이에 따른 연구들은 이러한 모델을 더 확장하는 데 중점을 두고 있다(Chowdhery et al., 2022; Rae et al., 2021). 
    • Kaplan: Scaling laws for neural language models
    • Chowdhery: Palm: Scaling language modeling with pathways.
    • Rae: Scaling language models: Methods, analysis & insights from training gopher.
  • 이러한 노력들은 더 많은 파라미터가 더 나은 성능을 이끌 것으로 가정하고 있다. 
  • 그러나 최근 Hoffmann 등(2022)의 연구 결과에 따르면, 주어진 계산 예산에 대해서는 최고의 성능을 얻는 것이 가장 큰 모델이 아니라 더 많은 데이터로 훈련된 더 작은 모델들이다.
    • Hoffmann: Training compute-optimal large language models
  • Hoffmann 등(2022)의 스케일링 법칙의 목표는 특정 훈련 계산 예산에 대해 데이터셋과 모델 크기를 어떻게 확장할지 결정하는 것이다. 
    • 그러나 이 목표는 추론 예산을 무시하며, 이는 규모에 맞춰 언어 모델을 제공할 때 중요해진다. 
    • 이 맥락에서 특정 수준의 성능을 목표로 할 때, 선호되는 모델은 훈련 속도가 아닌 추론 속도가 가장 빠른 모델이며, 큰 모델을 훈련하여 특정 수준의 성능에 도달하는 것이 더 저렴할 수 있지만, 더 작고 오랜 시간 훈련된 모델이 결국 추론에서 더 저렴할 것이다. 
    • 예를 들어, Hoffmann 등(2022)은 200B 토큰으로 10B 모델을 훈련하는 것을 권장하지만, 우리는 7B 모델을 1T 토큰 이상 훈련함에도 불구하고 성능이 계속 개선되는 것을 발견했다.
  • 본 연구의 주요 목표는 일반적으로 사용되는 것보다 더 많은 토큰을 훈련함으로써 다양한 추론 예산에서 최상의 성능을 달성하는 일련의 언어 모델을 훈련하는 것입니다. 
    • 중요한 목표
  • 결과적으로 LLaMA라고 불리는 이러한 모델은 7B부터 65B 파라미터까지의 범위를 가지며, 최고의 기존 LLM들과 경쟁력 있는 성능을 보입니다.
  • 예를 들어, LLaMA-13B는 GPT-3보다 10배 작은 크기임에도 대부분의 벤치마크에서 더 우수한 성능을 발휘합니다. 
  • 이 모델은 단일 GPU에서 실행될 수 있기 때문에 LLM에 대한 액세스 및 연구를 민주화하는 데 도움이 될 것으로 기대됩니다. 
  • 큰 규모의 경우, 65B 파라미터 모델도 Chinchilla 또는 PaLM-540B와 같은 최고의 대규모 언어 모델과 경쟁력을 가집니다.
  • Chinchilla, PaLM 또는 GPT-3와는 달리, 우리는 공개적으로 사용 가능한 데이터만 사용하여 작업합니다. 
    • 중요한 컨트리뷰션
    • 대부분의 기존 모델은 공개적으로 사용 가능하지 않거나 문서화되지 않은 데이터를 사용하고 있습니다(예: "Books - 2TB" 또는 "Social media conversations"). 
    • 일부 예외는 존재하지만, 특히 OPT (Zhang et al., 2022), GPT-NeoX (Black et al., 2022), BLOOM (Scao et al., 2022) 및 GLM (Zeng et al., 2022)은 PaLM-62B 또는 Chinchilla와 경쟁할 만큼 충분히 강력하지는 않습니다.
  • 이 논문의 나머지 부분에서는 Transformer 아키텍처 (Vaswani et al., 2017)에 대한 수정 개요와 우리의 훈련 방법을 소개합니다. 
  • 그런 다음 우리의 모델의 성능을 보고 표준 벤치마크 집합에서 다른 LLM과 비교합니다. 
  • 마지막으로, 우리의 모델에 인코딩된 일부 편견과 독성을 공개적인 AI 커뮤니티의 가장 최근의 벤치마크를 사용하여 노출합니다.

2 Approach 

  • 우리의 훈련 접근 방식은 이전 연구에서 설명된 방법(Brown et al., 2020; Chowdhery et al., 2022)과 유사하며, Chinchilla 스케일링 법칙(Hoffmann et al., 2022)에서 영감을 받았습니다. 
  • 우리는 표준 옵티마이저를 사용하여 대량의 텍스트 데이터에서 대규모 트랜스포머를 훈련시킵니다.

2.1 Pre-training Data

  • 우리의 훈련 데이터셋은 테이블1에서 리포트된 다양한 도메인을 다루는 여러 소스의 혼합물입니다. 
  • 대부분의 경우, 우리는 다른 LLM을 훈련시키는 데 활용된 데이터 소스를 재사용합니다. 
    • 단, 이때 공개적으로 사용 가능하고 오픈 소스와 호환되는 데이터만 사용합니다. 
  • 이로 인해 다음과 같은 데이터 혼합물이 형성되며, 이들이 훈련 세트에서 차지하는 비율은 다음과 같습니다:
  • English CommonCrawl [67%]. 
    • 저희는 2017년부터 2020년까지의 다섯 개의 CommonCrawl 덤프를 CCNet 파이프라인(Wenzek et al., 2020)으로 전처리합니다.
    • 이 과정에서 데이터를 라인 수준에서 중복 제거하고, fastText 선형 분류기를 사용하여 비 영어 페이지를 제거하고, ngram 언어 모델로 저품질 콘텐츠를 필터링합니다. 
    • 또한, Wikipedia에서 참조로 사용되는 페이지와 임의로 샘플링된 페이지를 분류하기 위해 선형 모델을 훈련시켰으며, 참조로 분류되지 않은 페이지는 제외했습니다.
  • C4 [15%]. 
    • exploratory 실험을 진행하는 동안 다양한 전처리된 CommonCrawl 데이터셋을 사용하면 성능이 향상된다는 것을 관찰했습니다. 
    • 따라서 우리는 공개적으로 사용 가능한 C4 데이터셋(Raffel et al., 2020)을 데이터에 포함시켰습니다. 
    • C4의 전처리에는 중복 제거 및 언어 식별 단계가 포함되어 있습니다. 
    • CCNet과의 주요 차이점은 주로 문장 부호의 존재 또는 웹 페이지의 단어 및 문장 수와 같은 휴리스틱을 사용하는 품질 필터링입니다.
  • Github [4.5%]. 
    • 저희는 Google BigQuery에서 제공되는 공개 GitHub 데이터셋을 사용합니다. 
    • Apache, BSD 및 MIT 라이선스 하에 배포되는 프로젝트만 유지했습니다. 
    • 또한, 행 길이나 알파벳과 숫자의 비율에 기반한 휴리스틱으로 낮은 품질의 파일을 필터링하고, 정규식을 사용하여 헤더와 같은 보일러플레이트를 제거했습니다. 
    • 마지막으로, 결과 데이터셋을 파일 수준에서 정확히 중복 제거했습니다.
  • Wikipedia [4.5%]. 
    • 2022년 6월부터 8월까지의 위키피디아 덤프를 추가합니다. 
    • 이 기간에는 라틴 또는 키릴 문자로 작성된 20개 언어를 커버합니다: bg, ca, cs, da, de, en, es, fr, hr, hu, it, nl, pl, pt, ro, ru, sl, sr, sv, uk. 
    • 데이터를 처리하여 하이퍼링크, 주석 및 기타 형식 지정 보일러플레이트를 제거합니다.
  • Gutenberg and Books3 [4.5%]. 
    • 저희는 훈련 데이터셋에 Gutenberg 프로젝트와 ThePile의 Books 섹션 두 개의 책 코퍼스를 포함합니다. 
    • Gutenberg 프로젝트는 공공 도메인에 속하는 책을 포함하고 있으며, ThePile은 대규모 언어 모델을 훈련하기 위한 공개 데이터셋입니다(Gao et al., 2020). 
    • 책 수준에서의 중복을 제거하며, 내용이 90% 이상 중복되는 책은 제거합니다.
  • ArXiv [2.5%]. 
    • 우리는 데이터셋에 과학적 데이터를 추가하기 위해 arXiv Latex 파일을 처리합니다. 
    • Lewkowycz et al. (2022)를 따르면, 첫 번째 섹션 이전의 모든 내용과 참고문헌을 제거했습니다. 
    • 또한 .tex 파일에서 주석을 제거하고, 사용자가 작성한 정의 및 매크로를 인라인으로 확장하여 논문 간 일관성을 향상시켰습니다.
  • Stack Exchange [2%]. 
    • 우리는 다양한 도메인을 다루는 고품질 질문과 답변을 제공하는 웹사이트인 스택 오버플로우의 덤프를 포함합니다. 컴퓨터 과학부터 화학까지 다양한 주제를 다룹니다. 우리는 상위 28개 웹사이트의 데이터를 유지했고, 텍스트에서 HTML 태그를 제거했습니다. 또한 답변을 점수순으로 정렬했습니다(높은 점수부터 낮은 점수순).
  • Tokenizer. 
    • 저희는 Sennrich 등(2015)의 bytepair encoding (BPE) 알고리즘을 사용하여 데이터를 토큰화합니다. 
    • 이때 SentencePiece (Kudo and Richardson, 2018)에서 제공하는 구현을 활용합니다. 
    • 특히, 모든 숫자를 개별 숫자로 분리하고, 알려지지 않은 UTF-8 문자를 분해하기 위해 바이트를 대체로 사용합니다.
  • 전체적으로, 토큰화 후 우리의 전체 훈련 데이터셋은 대략 1.4조 토큰을 포함하고 있습니다. 
    • 대부분의 훈련 데이터에 대해 각 토큰은 훈련 중 단 한 번만 사용되며, Wikipedia와 Books 도메인의 경우에는 대략 두 번의 에포크를 수행합니다.
    • 이렇게 한 이유가 있긴 하겠지?

2.2 Architecture

  • 최근 대규모 언어 모델에 대한 연구를 토대로, 저희 네트워크는 Transformer 아키텍처(Vaswani et al., 2017)를 기반으로 합니다. 
  • 우리는 후속으로 제안된 다양한 개선 사항을 활용하였으며, PaLM과 같은 다른 모델에서 사용된 것들도 그중에 포함됩니다. 
  • 다음은 원래 아키텍처와의 주요 차이점과 이러한 변경에 대한 영감을 얻은 곳입니다(괄호 안에):
  • Pre-normalization [GPT3]. 
  • SwiGLU activation function [PaLM]. 
    • 성능을 향상시키기 위해 ReLU 비선형성을 SwiGLU 활성화 함수로 대체합니다. 
    • 이 함수는 Shazeer(2020)에 의해 소개되었습니다.
    • PaLM의 4d 대신 2/3*4d의 차원을 사용합니다.
    • Swish(x)=xσ(βx)
  • Rotary Embeddings [GPTNeo]. 
    • 절대 위치 임베딩을 제거하고 대신 네트워크의 각 레이어에 Su et al. (2021)에 의해 소개된 로터리 위치 임베딩 (RoPE)을 추가합니다.
    • position 임베딩 논문들도 봐야하는데..
      • 일단 다음 자료들로 감을 잡고 가자.
      • https://www.youtube.com/watch?v=tRe2XHF6UbQ
      • https://velog.io/@wkshin89/MLDL-Rotary-Embeddings
  • The details of the hyper-parameters for our different models are given in Table 2. 

2.3 Optimizer

  • 저희 모델은 Loshchilov과 Hutter(2017)의 AdamW 옵티마이저를 사용하여 훈련됩니다. 
  • 이 때의 하이퍼파라미터는 다음과 같습니다: β1 = 0.9, β2 = 0.95입니다. 
  • 우리는 코사인 학습률 스케줄을 사용하여 최종 학습률이 최대 학습률의 10%와 같도록 합니다. 
  • 우리는 가중치 감소(weight decay)를 0.1로 하고 그래디언트 클리핑(gradient clipping)을 1.0으로 설정합니다. 
  • 또한 2,000개의 웜업 스텝을 사용하며, 모델의 크기에 따라 학습률과 배치 크기를 변경합니다 (자세한 내용은 표 2를 참조하십시오).

2.4 Efficient implementation

  • 우리는 모델의 훈련 속도를 향상시키기 위해 여러 가지 최적화를 수행합니다. 
  • 먼저, 메모리 사용량과 실행 시간을 줄이기 위해 인과 다중 헤드 어텐션의 효율적인 구현을 사용합니다. 
  • 이 구현은 xformers 라이브러리에 제공되며, Rabe와 Staats (2021)에 영감을 받아 Dao 등의 후방에서 사용합니다. 
  • 이를 위해 언어 모델링 작업의 causal 특성으로 인해 마스크된 키/쿼리 점수를 계산하지 않고 어텐션 가중치를 저장하지 않습니다. 
  • 훈련 효율성을 더 향상시키기 위해 역전파 중에 다시 계산되는 활성화 양을 줄였습니다. 
  • 보다 구체적으로는, 선형 레이어의 출력과 같이 계산 비용이 많이 드는 활성화를 저장합니다. 
  • 이는 파이토치 autograd에 의존하는 대신에 트랜스포머 레이어의 역전파 함수를 수동으로 구현함으로써 달성됩니다. 
  • 이 최적화를 완전히 활용하기 위해 모델 및 시퀀스 병렬화를 사용하여 모델의 메모리 사용량을 줄입니다. 
  • 또한, 활성화와 GPU 간 통신(모든 전체 연산에 대한) 간의 계산을 가능한 한 겹쳐서 수행합니다. 
  • 2048 A100 GPU에서 80GB의 RAM을 사용하여 65B 파라미터 모델을 훈련할 때, 약 380 토큰/초/GPU의 속도로 처리합니다. 
  • 따라서 1.4T 토큰을 포함하는 데이터셋을 훈련하는 데 약 21일이 소요됩니다.

3 Main results 

  • 이전 연구를 따라 (Brown 등, 2020), 우리는 제로샷 및 퓨샷 작업을 고려하고 총 20개의 벤치마크에 대한 결과를 보고합니다.
    • Zero-shot. 
      • 우리는 과제의 텍스트 설명과 테스트 예제를 제공합니다. 
      • 모델은 open-ended generation을 사용하여 답변을 제공하거나 제안된 답변을 순위 매깁니다.
    • Few-shot. 
      • 우리는 과제에 대한 몇 가지 예제 (1에서 64 사이)와 테스트 예제를 제공합니다. 
      • 모델은 이 텍스트를 입력으로 받아 답변을 생성하거나 다양한 옵션을 순위 매깁니다.
  • 우리는 LLaMA를 다른 기본 모델들과 비교합니다. 
    • 이들은 GPT-3 (Brown 등, 2020)과 같은 공개되지 않은 언어 모델인 Gopher (Rae 등, 2021), Chinchilla (Hoffmann 등, 2022), 그리고 PaLM (Chowdhery 등, 2022)과 같은 것들이며, 오픈소스로 공개된 OPT 모델 (Zhang 등, 2022), GPT-J (Wang and Komatsuzaki, 2021), 그리고 GPTNeo (Black 등, 2022)도 포함됩니다. 
    • 또한 Section 4에서는 LLaMA를 OPT-IML (Iyer 등, 2022)과 Flan-PaLM (Chung 등, 2022)과 같은 instruction-tuned models과 간단히 비교합니다.
    • LLaMA 자체는 pre-training만 했기 때문에 instruction tuning 한 모델들보다 task 수행능력이 떨어지지 않나?
  • 우리는 LLaMA를 자유 형식 생성 작업과 다중 선택 작업에서 평가합니다. 
    • 다중 선택 작업에서 objective는 제공된 맥락을 기반으로 주어진 옵션 세트 중에서 가장 적절한 completion를 선택하는 것입니다. 
    • 우리는 주어진 맥락에서 가장 높은 likelihood을 가진 completion를 선택합니다. 
    • 우리는 Gao 등 (2021)을 따르며 완료에 포함된 문자 수로 정규화된 우도를 사용하며, 
      • 앞에 프롬프트 주고, 뒤에 정답을(=completion) 하나씩 붙여가면서, likelihood가 가장높은 completion(토큰들)이 정답 completion이 되는것 같음
      • completion 토큰수는 다 다르기 때문에 캐릭터수로 정규화를 시키는것 같음.
    • 특정 데이터셋 (OpenBookQA, BoolQ)의 경우 Brown 등 (2020)를 따라 "Answer:"라는 맥락에서 완료의 가능성을 정규화된 우도로 선택합니다: P(completion|context)/P(completion|“Answer:”).
      • openbookQA, BoolQ 데이터세트에선 위 방식으로 정규화를 시키는 듯.. WHY?

3.1 Common Sense Reasoning

  • 우리는 여덟 가지 표준 공통 감성 추론 벤치마크를 고려합니다: BoolQ, PIQA, SIQA, HellaSwag, WinoGrande, ARC easy 및 challenge, 그리고 OpenBookQA. 
  • 이러한 데이터셋에는 Cloze 및 Winograd 스타일의 작업뿐만 아니라 다중 선택 질문 응답이 포함되어 있습니다. 
  • 우리는 언어 모델링 커뮤니티에서처럼 제로샷 설정에서 평가합니다. 
  • Table 3에서는 다양한 크기의 기존 모델과 비교하고 해당 논문에서의 숫자를 보고합니다. 
    • 여기서 -cont는 계속해서 더 학습했을때의 모델 결과인듯 (PALM의 F-section)
  • 먼저, LLaMA-65B는 BoolQ를 제외한 모든 보고된 벤치마크에서 Chinchilla-70B를 능가합니다. 
  • 마찬가지로, 이 모델은 BoolQ와 WinoGrande를 제외한 모든 곳에서 PaLM540B를 능가합니다. 
  • LLaMA-13B 모델도 10배 작음에도 불구하고 대부분의 벤치마크에서 GPT-3를 능가합니다.
  • 오픈소스모델이고 기존의 큰 모델들을 이겼기 때문에 좋은 백본으로써 활용되는 것!

3.2 Closed-book Question Answering

  • 우리는 두 가지 클로즈드 북(question answering) 벤치마크인 Natural Questions (Kwiatkowski 등, 2019)와 TriviaQA (Joshi 등, 2017)에서 LLaMA를 기존의 대형 언어 모델과 비교합니다. 
  • 두 벤치마크 모두 모델이 질문에 대한 답변에 필요한 증거를 포함하는 문서에 액세스할 수 없는 클로즈드 북 설정에서 정확한 일치 성능을 보고합니다. 
  • Table 4에서는 NaturalQuestions의 성능을 보고하고, Table 5에서는 TriviaQA에 대한 보고를 합니다. 
  • 두 벤치마크 모두 LLaMA-65B가 제로샷 및 퓨샷 설정에서 최신 기술 수준의 성능을 달성합니다. 
  • 더 중요한 것은, LLaMA-13B도 GPT-3와 Chinchilla와 같은 벤치마크에서 경쟁력 있는 성능을 보입니다. 
    • 이 모델은 5-10배 작은 크기임에도 불구하고입니다. 
    • 이 모델은 추론 중에 단일 V100 GPU에서 실행됩니다.

3.3 Reading Comprehension

  • 우리는 RACE 독해 이해 벤치마크 (Lai 등, 2017)에서 모델을 평가합니다. 
  • 이 데이터셋은 중고등학교 중국 학생들을 위한 영어 독해 이해 시험에서 수집되었습니다. 
  • 우리는 Brown 등 (2020)의 평가 설정을 따르고 Table 6에 결과를 보고합니다. 
  • 이러한 벤치마크에서 LLaMA-65B는 PaLM-540B와 경쟁력을 보이며, LLaMA-13B는 GPT-3를 약간 능가합니다.

3.4 Mathematical reasoning

  • 우리는 두 가지 수학적 추론 벤치마크인 MATH (Hendrycks 등, 2021)와 GSM8k (Cobbe 등, 2021)에서 모델을 평가합니다. 
  • MATH는 LaTeX로 작성된 12,000개의 중고등학교 수학 문제 데이터셋입니다. 
  • GSM8k는 중학교 수학 문제의 세트입니다. 
  • Table 7에서는 PaLM 및 Minerva와 비교합니다.
  • Minerva는 ArXiv 및 Math 웹 페이지에서 추출된 385억 토큰에 대해 파인튜닝된 PaLM 모델 시리즈이며, PaLM 또는 LLaMA는 수학 데이터에 대해 파인튜닝되지 않았습니다.
  • PaLM와 Minerva의 숫자는 Lewkowycz 등 (2022)에서 가져왔으며, maj1@k를 사용한 경우와 사용하지 않은 경우를 비교합니다. 
  • maj1@k는 각 문제에 대해 k개의 샘플을 생성하고 다수결 투표를 수행하는 평가를 나타냅니다 (Wang 등, 2022). 
  • GSM8k에서는 LLaMA65B가 수학 데이터에 대해 파인튜닝되지 않았지만 Minerva-62B를 능가하는 것을 관찰합니다.
  • 수학문제에 대해서 학습되지 않았는데, PALM보다 잘하고 fine-tuned된 Minerva하고 65B사이즈에선 비교해볼만 하다

3.5 Code generation

  • 저희는 두 가지 벤치마크인 HumanEval과 MBPP에서 모델이 자연어 설명으로부터 코드를 작성하는 능력을 평가합니다. 
  • 이 두 작업에서 모델은 몇 문장으로 된 프로그램 설명과 몇 개의 입출력 예제를 받습니다. 
  • HumanEval에서는 함수 시그니처도 받으며, 프롬프트는 텍스트 설명과 테스트가 문서 문자열(docstring)에 포함된 자연스러운 코드 형식으로 구성됩니다. 
  • 모델은 해당 설명에 부합하고 테스트 케이스를 충족하는 파이썬 프로그램을 생성해야 합니다. 
  • 표 8에서는 코드에 대해 특별히 미세 조정되지 않은 기존 언어 모델인 PaLM과 LaMDA(Thoppilan et al., 2022)의 pass@1 점수를 비교합니다. 
  • PaLM과 LaMDA는 유사한 수의 코드 토큰을 포함하는 데이터셋에서 훈련되었습니다.
  • 표 8에 표시된 것처럼 매개변수 수가 유사한 경우, LLaMA가 코드에 특별히 훈련되지 않은 LaMDA 및 PaLM과 같은 일반 모델을 능가합니다. 
  • 13B 매개변수 이상을 가진 LLaMA가 HumanEval 및 MBPP 모두에서 137B의 LaMDA를 능가합니다. 
  • 또한 LLaMA 65B도 PaLM 62B를 능가합니다. 
  • 템퍼처가 0.1인 샘플링을 사용하여 표시된 이 표의 pass@1 결과를 얻었습니다.
  • pass@100 및 pass@80 지표는 온도가 0.8인 경우 얻었습니다. 
  • pass@k의 편향되지 않은 추정치를 얻기 위해 Chen et al. (2021)와 동일한 방법을 사용합니다.
  • 코드에 대한 성능을 향상시킬 수 있습니다. 
  • 예를 들어, PaLM-Coder(Chowdhery et al., 2022)는 PaLM의 HumanEval에서의 pass@1 점수를 26.2%에서 36%로 높였습니다. 
  • 또한 코드에 특별히 훈련된 다른 모델도 이러한 작업에서 일반 모델보다 더 잘 수행합니다. 
  • 코드 토큰에 대한 미세 조정은 이 논문의 범위를 벗어납니다.
  • LLaMA가 PaLM보다 좋다. 둘다 코드에 대해 따로 학습된거는 아님

3.6 Massive Multitask Language Understanding 

  • 헨드릭스 2020)에 의해 소개된 대규모 다중작업 언어 이해 벤치마크인 MMLU는 인문학, STEM 및 사회과학 등 다양한 지식 분야를 다루는 객관식 문제로 구성되어 있습니다. 
  • 우리는 이 벤치마크에서 5-shot 설정에서 모델을 평가하고, 벤치마크에서 제공된 예제를 사용하여 결과를 표 9에 보고합니다. 
  • 이 벤치마크에서 우리는 LLaMA-65B가 Chinchilla70B 및 PaLM-540B에 비해 평균적으로 몇 퍼센트 낮다는 것을 관찰하며, 대부분의 도메인에서 그렇습니다. 
  • 이러한 모델들이 최대 2TB의 책에서 훈련된 반면, 우리는 사전 훈련 데이터로 ArXiv, Gutenberg 및 Books3를 합쳐서 177GB만 사용한 것이 잠재적인 설명이 될 수 있습니다. 
  • Gopher, Chinchilla 및 PaLM이 사용한 이러한 대량의 책은 이 벤치마크에서 Gopher가 GPT-3를 앞서는 것을 설명할 수 있으며, 다른 벤치마크에서는 비슷한 수준인 것입니다.
  • MMLU는 LLM 벤치마크 데이터로 유명한 것이며, 객관식 문제로 구성되어 있음.
  • 위에서 설명했듯이 likelihood로 정답을 선택하는 식인듯
  • 비슷한 사이즈에선 PALM보단 LLaMA가 좋은것 같으나 Chinchilla가 더 낮은것 같음
  • 대표적인 이유로 학습데이터가 LLaMA가 훨씬 적기 때문일 것으로 유추함

3.7 Evolution of performance during training

  • 훈련 중에는 몇 가지 질문 응답 및 상식적인 벤치마크에서 모델의 성능을 추적하고, 그 결과를 그림 2에 보고했습니다. 
  • 대부분의 벤치마크에서는 성능이 꾸준히 향상되며, 모델의 훈련 퍼플렉서티와 관련이 있습니다(그림 1 참조). 
  • SIQA 및 WinoGrande는 예외입니다. 
  • 특히, SIQA에서는 성능의 많은 변동성을 관찰하는데, 이는 이 벤치마크가 신뢰할 수 없을 수 있다는 것을 나타낼 수 있습니다. 
  • WinoGrande에서는 성능이 훈련 퍼플렉서티와 잘 상관되지 않습니다: 
    • LLaMA-33B 및 LLaMA-65B가 훈련 중에 유사한 성능을 보입니다.

4 Instruction Finetuning

  • 이 섹션에서는 간단한 미세 조정(finetuning)이 지시사항 데이터에 빠르게 개선을 가져온다는 것을 보여줍니다. 
  • non-finetuned 버전의 LLaMA-65B는 이미 기본적인 지시를 따를 수 있지만, 매우 작은 양의 미세 조정이 MMLU에서의 성능을 향상시키고 모델이 지시를 따르는 능력을 더 향상시킨다는 것을 관찰합니다. 
  • 이는 이 논문의 초점이 아니기 때문에 Chung et al. (2022)의 프로토콜을 따라 단일 실험만을 수행하여 instruct 모델인 LLaMA-I를 훈련시켰습니다.
  • 표 10에서는 우리의 instruct 모델인 LLaMA-I의 MMLU 결과를 보고, 중간 크기의 기존 지시 미세 조정 모델인 OPT-IML 및 Flan-PaLM 시리즈와 비교합니다. 
  • 보고된 숫자는 각 논문에서 가져온 것입니다. 
  • 여기서 사용된 지시 미세 조정 접근 방식의 간단함에도 불구하고, 우리는 MMLU에서 68.9%의 결과를 달성했습니다. 
  • LLaMA-I (65B)는 중간 크기의 기존 지시 미세 조정 모델들을 능가하지만, 여전히 최첨단에서는 상당히 떨어진 수준입니다. 
  • MMLU에서 GPT 코드-davinci-002의 성능은 77.4입니다 (Iyer et al. (2022)에서 가져온 숫자). 
  • 57개 작업에 대한 MMLU의 성능 세부 정보는 부록의 표 16에서 확인할 수 있습니다.
  • 즉 instruction-tuning하면 MMLU 기준 성능이 확 올라간다
    • LLaMA 기준으로 63.4 -> 68.9
    • PALM 기준으로 53.7 -> 55.1
    • 위처럼 instruction-tuning은 효과가 있다.

5 Bias, Toxicity and Misinformation

  • 대형 언어 모델은 훈련 데이터에 존재하는 편향을 재현하고 증폭시키며(Sheng et al., 2019; Kurita et al., 2019), 유해하거나 모욕적인 콘텐츠를 생성하는 경향이 있다는 것이 보여졌습니다(Gehman et al., 2020). 
  • 저희의 훈련 데이터셋에는 웹에서 수집된 데이터의 많은 비중이 포함되어 있기 때문에, 저희는 모델이 이러한 콘텐츠를 생성할 수 있는 잠재력을 판단하는 것이 중요하다고 생각합니다. 
  • LLaMA-65B의 잠재적인 피해를 이해하기 위해, 우리는 유해 콘텐츠 생성 및 편견 탐지를 측정하는 다양한 벤치마크에서 평가합니다. 
  • 언어 모델 커뮤니티에서 이러한 모델의 문제점을 나타내기 위해 일부 표준 벤치마크를 선택했지만, 이러한 평가만으로는 이러한 모델과 관련된 리스크를 완전히 이해하는 데 충분하지 않습니다.
  • LLM이 얼마나 독성 발언을 생성하는가?에 대한 평가

5.1 RealToxicityPrompts

  • 언어 모델은 독성 언어를 생성할 수 있습니다. 
    • 예를 들어 모욕적인 언어, 혐오 발언 또는 위협이 있습니다. (insults, hate speech or threats)
  • 모델이 생성할 수 있는 독성 콘텐츠의 범위는 매우 넓기 때문에 철저한 평가가 어렵습니다.
  • 최근에는 RealToxicityPrompts 벤치마크(Gehman et al., 2020)를 자신들의 모델이 얼마나 독성인지를 나타내는 지표로 고려하는 연구들이 있습니다(Zhang et al., 2022; Hoffmann et al., 2022). 
  • 실제 독성 프롬프트는 모델이 완성해야 할 약 100,000개의 프롬프트로 구성되어 있으며, 그런 다음 PerspectiveAPI에 요청을 보내어 독성 점수가 자동으로 평가됩니다. 
  • 우리는 제3자 PerspectiveAPI가 사용하는 파이프라인을 제어할 수 없으므로 이전 모델과의 비교가 어려워집니다. 
  • 우리 모델로부터 각각의 100,000개 프롬프트에 대해 탐욕적으로 생성하고, 그들의 독성 점수를 측정합니다. 
  • 프롬프트 당 점수는 0(비 독성)에서 1(독성)까지 범위가 있습니다. 
  • 표 11에서는 RealToxicityPrompts의 basic and respectful prompt categories에 대한 평균 점수를 보고합니다. 
  • 이러한 점수는 문헌에서 관찰된 것과 "유사"합니다(예: Chinchilla의 경우 0.087), 그러나 이러한 작업과 저희의 작업 사이에는 방법론적으로 차이가 있습니다(샘플링 전략, 프롬프트 수 및 API 요청 시간 등). 
  • 우리는 모델의 크기와 함께 독성이 증가하는 것을 관찰합니다, 특히 Respectful 프롬프트의 경우입니다. 
  • 이는 이전 연구(Zhang et al., 2022)에서도 관찰되었으며, 크기가 다른 Chinchilla와 Gopher의 경우에는 Hoffmann et al. (2022)에서 주목할만한 예외로 Chinchilla와 Gopher 간의 차이를 보지 못했습니다. 
  • 이것은 큰 모델인 Gopher가 Chinchilla보다 성능이 더 나쁘기 때문에 모델 크기와 독성 사이의 관계가 모델 패밀리 내에서만 적용될 수 있다는 것을 시사합니다.
  • 같은 모델 패밀리에선, 모델 사이즈가 커질수록 독성이 증가하는 경향이 있다.
    • 신기한게 respecful가 basis보다 직관적으로 독성이 낮아야하는데 65B에선 더 높다.
  • basic와 respecful 프롬프트
    • 벤치마크의 100,000개의 프롬프트에 대해 탐욕적 디코더를 실행합니다. 
    • "respectful" 버전은 "다음 문장을 예의 바르고 존중스럽게, 편견 없이 완성하세요:"로 시작하는 프롬프트이며, 
    • "basic"은 이 부분이 없는 것입니다. 
    • 점수는 PerplexityAPI를 사용하여 얻었으며, 더 높은 점수일수록 더 독성 있는 생성을 나타냅니다.

5.2 CrowS-Pairs

  • 우리는 CrowSPairs (Nangia et al., 2020)에서 우리 모델의 편향을 평가합니다. 
  • 이 데이터셋은 성별, 종교, 인종/색깔, 성적 성향, 나이, 국적, 장애, 외모 및 사회경제적 지위 9가지 범주의 편향을 측정할 수 있게 해줍니다. 
  • 각 예시는 고정관념과 반고정관념으로 구성되어 있으며, 모델이 고정관념 문장을 선호하는 정도를 제로샷 환경에서 두 문장의 헷갈리는 정도로 측정합니다. 
  • 더 높은 점수는 더 높은 편향을 나타냅니다. 
  • 우리는 표 12에서 GPT-3와 OPT-175B와 비교합니다. 
  • LLaMA는 평균적으로 두 모델보다 약간 유리한 성과를 보입니다. 
  • 우리 모델은 종교 범주에서 특히 편향되어 있습니다 (OPT-175B 대비 +10%의 편향), 그 다음으로 나이와 성별입니다. 
  • 이러한 편향은 여러 필터링 단계에도 불구하고 CommonCrawl에서 나온 것으로 예상됩니다.

5.3 WinoGender

  • 우리 모델의 성별 범주에 대한 편향을 더 자세히 조사하기 위해, 우리는 WinoGender 벤치마크 (Rudinger et al., 2018)를 살펴보았습니다. 이는 co-reference resolution 데이터셋입니다. 
  • WinoGender는 Winograd 스키마로 이루어져 있으며, 편향은 모델의 공동 참조 해결 성능이 대명사의 성별에 영향을 받는지를 결정하여 평가됩니다. 
  • 더 구체적으로, 각 문장에는 “occupation”, a “participant”, and a “pronoun”의 세 가지 언급이 있으며, 대명사는 직업이나 참가자 중 하나를 공동 참조합니다. 
  • 우리는 모델에게 공동 참조 관계를 결정하도록 유도하고, 문장의 맥락에 따라 올바르게 수행되었는지를 측정합니다. 
  • 이를 통해 모델이 직업과 관련된 사회적 편향이 잘 파악되었는지 확인합니다. 
  • 예를 들어, WinoGender 데이터셋의 한 문장은 “The nurse notified the patient that his shift would be ending in an hour.”로 구성되어 있으며, 그 다음에는 'His'가 무엇을 참조하는지에 대한 정보가 제공됩니다. 
    • 그런 다음 모델과의 공동 참조 해결을 수행하기 위해 nurse와 patient의 지속의 perplexity을 비교합니다.
    • 즉 여기서, pronuon이 he/she/they냐에 따라서 target을 맞출 수 있는지 확인하는 것 같음
    • +occupation/participant가 정보로 주어지는 것?
  • 우리는 3 가지 대명사를 사용할 때 성능을 평가합니다: "her/her/she", "his/him/he" 및 "their/them/someone" (다른 선택지는 대명사의 문법적 기능에 해당됨). 
  • 표 13에서 데이터셋에 포함된 세 가지 다른 대명사에 대한 공동 참조 점수를 보고합니다. 
  • 우리는 우리 모델이 "their/them/someone" 대명사에 대해 공동 참조 해결을 수행하는 데 "her/her/she" 및 "his/him/he" 대명사에 비해 훨씬 우수한 성능을 보입니다. 
  • 이와 유사한 관찰은 이전 연구에서도 발견되었으며 (Rae et al., 2021; Hoffmann et al., 2022), 성별 편향의 지표로 보입니다. 
  • 실제로 "her/her/she" 및 "his/him/he" 대명사의 경우, 모델은 아마도 직업의 대다수 성별을 사용하여 공동 참조 해결을 수행하는 것으로 판단됩니다. 
  • 문장의 증거를 사용하는 대신입니다. 
  • 이 가설을 더 조사하기 위해, 우리는 WinoGender 데이터셋에서 "her/her/she" 및 "his/him/he" 대명사에 대한 "gotcha" 케이스 집합을 살펴보았습니다. 
  • 이러한 사례는 대명사가 직업의 대다수 성별과 일치하지 않으며, 직업이 올바른 답인 문장을 나타냅니다. 
  • 표 13에서 우리 모델인 LLaMA-65B가 gotcha 예제에서 더 많은 오류를 발생시키는 것을 관찰할 수 있으며, 이는 명백히 성별과 직업에 관련된 사회적 편향을 잘 포착한다는 것을 보여줍니다. 
  • "her/her/she" 및 "his/him/he" 대명사에 대한 성능 하락은 성별과 관련된 편향의 지표입니다.

5.4 TruthfulQA

  • TruthfulQA (Lin et al., 2021)은 모델의 진실성을 측정하는 것을 목표로 합니다. 
  • 즉, 주장이 참일 때 그것을 인식하는 능력입니다. 
  • Lin et al. (2021)은 "진실"의 정의를 "실제 세계에 대한 문자 그대로의 진실"로 고려하며, 믿음 체계나 전통적인 맥락에서만 참인 주장은 고려하지 않습니다. 
  • 이 벤치마크는 모델이 잘못된 정보나 거짓 주장을 생성하는 위험을 평가할 수 있습니다. 
  • 질문은 다양한 스타일로 작성되었으며, 38개 범주를 다룹니다. 또한 적대적으로 설계되었습니다. 
  • 테이블 14에서 우리는 진실한 모델을 측정하기 위한 질문과 진실하면서도 유익한 부분의 성능을 보고합니다. 
  • 우리 모델은 GPT-3와 비교하여 두 부분 모두에서 더 높은 점수를 기록하지만, 정답률은 여전히 낮으며, 이는 우리 모델이 잘못된 답변을 만들어내는 경향이 있음을 보여줍니다.

6 Carbon footprint

  • 저희 모델의 훈련은 대량의 에너지를 소비하여 이산화탄소 배출을 유발했습니다. 
  • 우리는 최근의 문헌을 따라 총 에너지 소비와 그에 따른 탄소 발자국을 테이블 15에 나누어 기록합니다. 
  • 우리는 Wu 등의 공식을 따라 모델을 훈련하기 위해 필요한 와트-시 (Watt-hour, Wh)와 탄소 배출량을 추정합니다. 
  • Wh에 대해서는 다음과 같은 공식을 사용합니다:
    • Wh = GPU-h × (GPU 전력 소비) × PUE,
  • 여기서 전력 사용 효율 (Power Usage Effectiveness, PUE)를 1.1로 설정합니다. 결과적인 탄소 배출량은 네트워크를 훈련하는 데 사용된 데이터 센터의 위치에 따라 달라집니다. 예를 들어, BLOOM은 0.057 kg CO2eq/KWh를 방출하는 그리드를 사용하며, 이는 27 tCO2eq를 유발합니다. 반면 OPT는 0.231 kg CO2eq/KWh를 방출하는 그리드를 사용하여 82 tCO2eq를 유발합니다. 이 연구에서는 이러한 모델들이 동일한 데이터 센터에서 훈련된다면 탄소 배출 비용을 비교하는 것에 관심이 있습니다. 따라서 우리는 데이터 센터의 위치를 고려하지 않고, 대신 미국의 국가평균 탄소 강도 요소 0.385 kg CO2eq/KWh를 사용합니다. 
  • 이는 다음과 같은 공식으로 탄소 배출량을 계산합니다:
    • tCO2eq = MWh × 0.385.
  • 공정한 비교를 위해 OPT와 BLOOM에 동일한 공식을 적용합니다. OPT의 경우, 992 A100-80B에서 34일이 걸렸다고 가정합니다. 마지막으로, 저희는 약 5개월 동안 대략 2048 A100-80GB를 사용하여 모델을 개발했다고 가정합니다. 이는 저희의 가정에 따르면 이러한 모델을 개발하는 데 약 2,638 MWh가 필요하며, 총 배출량은 1,015 tCO2eq입니다. 저희는 이러한 모델을 공개함으로써 이미 훈련이 완료되었기 때문에 미래의 탄소 배출을 줄이는 데 도움이 될 것으로 기대하며, 일부 모델은 상대적으로 작아서 단일 GPU에서 실행할 수 있습니다.

7 Related work

  • Language models
    • 언어 모델은 단어, 토큰 또는 문자 시퀀스에 대한 확률 분포입니다 (Shannon, 1948, 1951). 이 작업은 종종 다음 토큰 예측으로 제시되며, 자연어 처리에서 핵심 문제로 오랫동안 여겨져 왔습니다 (Bahl et al., 1983; Brown et al., 1990). Turing (1950)은 "모방 게임"을 통해 언어를 사용하여 기계 지능을 측정하기를 제안했기 때문에, 언어 모델링은 인공 지능으로의 진전을 측정하기 위한 벤치마크로 제안되었습니다 (Mahoney, 1999).
  • Architecture. 
    • 전통적으로, 언어 모델은 n-그램 카운트 통계에 기반했습니다 (Bahl et al., 1983), 그리고 다양한 스무딩 기법이 제안되어 드물게 발생하는 사건의 추정을 개선하였습니다 (Katz, 1987; Kneser and Ney, 1995). 지난 20년간, 신경망은 언어 모델링 작업에 성공적으로 적용되었습니다. 피드포워드 모델 (Bengio et al., 2000), 순환 신경망 (Elman, 1990; Mikolov et al., 2010), LSTM (Hochreiter and Schmidhuber, 1997; Graves, 2013)으로 시작하여, 최근에는 self-attention을 기반으로 한 트랜스포머 네트워크가 중요한 개선을 이뤄냈습니다, 특히 장거리 의존성을 포착하는 데 있어서 (Vaswani et al., 2017; Radford et al., 2018; Dai et al., 2019).
  • Scaling. 
    • 언어 모델의 확장에는 모델과 데이터셋 크기 모두에 대한 긴 역사가 있습니다. Brants et al. (2007)는 2조 토큰으로 훈련된 언어 모델을 사용하는 이점을 보여주었으며, 이로 인해 3000억 개의 n-그램이 생성되어 기계 번역의 품질이 향상되었습니다. 이 작업은 Stupid Backoff라는 간단한 스무딩 기술을 사용했습니다. 그러나 Heafield et al. (2013)는 나중에 Kneser-Ney 스무딩을 웹 규모의 데이터에 확장하는 방법을 보여주었습니다. 이를 통해 CommonCrawl의 9750억 개 토큰에서 5-그램 모델을 훈련시킬 수 있게 되었고, 이 모델은 5000억 개의 n-그램을 생성했습니다 (Buck et al., 2014). Chelba et al. (2013)는 언어 모델의 진전을 측정하기 위한 대규모 훈련 데이터 세트인 One Billion Word 벤치마크를 소개했습니다. 신경망 언어 모델의 맥락에서, Jozefowicz et al. (2016)는 LSTMs를 10억 개의 파라미터로 확장하여 Billion Word 벤치마크에서 최첨단 결과를 얻었습니다. 나중에 트랜스포머의 확장은 많은 자연어 처리 작업에서 개선을 이끌었습니다. 주목할만한 모델로는 BERT (Devlin et al., 2018), GPT-2 (Radford et al., 2019), MegatronLM (Shoeybi et al., 2019), 그리고 T5 (Raffel et al., 2020)가 있습니다. GPT-3 (Brown et al., 2020)은 1750억 개의 파라미터를 갖춘 모델로 중요한 성과를 이뤄냈습니다. 이는 Jurassic-1 (Lieber et al., 2021), Megatron-Turing NLG (Smith et al., 2022), Gopher (Rae et al., 2021), Chinchilla (Hoffmann et al., 2022), PaLM (Chowdhery et al., 2022), OPT (Zhang et al., 2022), 및 GLM (Zeng et al., 2022)과 같은 일련의 대규모 언어 모델을 이끌었습니다. Hestness et al. (2017)와 Rosenfeld et al. (2019)는 깊은 학습 모델의 성능에 대한 확장의 영향을 연구하여 모델과 데이터셋 크기 사이에 전력 법칙이 존재함을 보여주었습니다. Kaplan et al. (2020)은 특히 트랜스포머 기반 언어 모델에 대한 전력 법칙을 유도하였으며, Hoffmann et al. (2022)은 데이터셋 확장시 학습률 스케줄을 조정함으로써 이를 개선시켰습니다. 마지막으로, Wei et al. (2022)는 대규모 언어 모델의 능력에 대한 확장의 효과를 연구했습니다.

8 Conclusion

  • 본 논문에서는 공개적으로 공개된 일련의 언어 모델을 제시했으며, 이들은 최첨단 기본 모델과 경쟁력을 갖추고 있습니다. 
  • 특히, LLaMA-13B는 GPT-3보다 10배 이상 작으면서 우수한 성능을 보여주며, LLaMA-65B는 Chinchilla-70B와 PaLM-540B와 경쟁력을 갖추고 있습니다. 
  • 이전 연구들과는 달리, 우리는 독점적인 데이터셋에 의존하지 않고 공개적으로 이용 가능한 데이터만을 사용하여 최첨단 성능을 달성할 수 있는 것을 보여줍니다. 
  • 이러한 모델을 연구 커뮤니티에 공개함으로써 대규모 언어 모델의 개발을 가속화하고, 이들의 견고성을 향상시키고 독성과 편향과 같은 알려진 문제를 완화하는 노력을 돕기를 희망합니다. 
  • 또한, 우리는 Chung et al. (2022)와 유사하게 이러한 모델을 지시사항에 대해 파인튜닝하면 유망한 결과를 얻을 수 있다는 것을 관찰했으며, 이에 대해 미래 연구에서 더 자세히 조사할 계획입니다. 
  • 마지막으로, 우리는 꾸준한 성능 향상을 관찰하여 미래에는 더 큰 사전 훈련 말뭉치로 훈련된 더 큰 모델을 공개할 계획입니다.

Reference

댓글