Yongil Kim

Seoul National University

A Survey of Large Language Models (1)

24 Dec 2023 » Transformer, PLM, LLM

[pdf] [github]

Wayne Xin Zhao, Kun Zhou, Junyi Li, Tianyi Tang, Xiaolei Wang, Yupeng Hou, Yingqian Min, Beichen Zhang, Junjie Zhang, Zican Dong, Yifan Du, Chen Yang, Yushuo Chen, Zhipeng Chen, Jinhao Jiang, Ruiyang Ren, Yifan Li, Xinyu Tang, Zikang Liu, Peiyu Liu, Jian-Yun Nie and Ji-Rong Wen

이 글은 Large Language Model (LLM) 의 survey 논문으로 cited paper 의 link 는 생략한다.

image

Abstract

  • LLM:Large Langauge Model 은 tens or hundreds of billions of params 를 가지는 언어모델로, in-context learning 등의 몇몇 special ability 를 보인다는 측면에서 PLM:Pre-trained Langauge Model 과 차이를 보인다.
  • 이 연구에서는 최신 LLM 연구를 pre-training, adaptation tuning, utilization, capacity evaluation 네 가지 측면에서 조사한 survey 논문이다.

1. Introduction

image

Machine 에게 있어 인간이 comminucate 하는 것과 유사하게, read, write 하는 기술을 갖게하는 것은 오랜 목표이다.

Langauge Modeling (LM) 은 machine 에게 언어 지능을 가르치는 major 한 방법으로, 다음 단어의 확률을 예측하도록 generative likelihood 를 model 하도록 학습시킨다. LM 의 연구분야는 시대에 따라 크게 네 가지로 나뉜다.

  • Statistical Language Models (SLM) : n-gram 기반으로 markov assumption 으로 word prediction 을 진행하는 통계적 방식이다. curse of dimension 문제가 발생한다.
  • Neural Language Models (NLM) : MLP:multi-layer perceptron 이나 RNN:Recurrent Neural Network 등을 활용하여 word prob 을 예측한다. NLP 연구의 매우 중요한 impact 를 가져온 연구들이다.
  • Pre-trained Language Models (PLM) : “pre-training” and “fine-tuning” 패러다임. ELMO, BERT, GPT-2, BART 등.
  • Large Langauge Models (LLM) : Scaling Law 논문을 기반으로 PLM 의 성능이 scale 이 커짐에 따라 좋아진다는 연구가 있었다. 175-B GPT-3, 540-B PaLM 등이 그것인데, 이들은 성능이 그저 좋아지는 점을 넘어, complex task 를 푸는 special ability 를 보인다 (in-context learning 등)

image

특히나, 위의 그림에서 보는 것처럼 chatGPT 의 등장 이후 LLM 연구가 매우 활발하다. LLM 연구는 기존의 text data 를 model 하고 generate 하는 연구와 다르게, complext task solving 을 하는데 치중되어 있다. (From langauge modeling to task sloving)

(1) Differences between LLM and PLM
LLM 은 PLM 과 비교하여 크게 아래 세 가지의 차이점을 보인다.

  • LLM 은 PLM 에 비교하여 전례없는 powerful 한 성능을 보인다. (특히 complex task 에서)
  • GPT-4 API 처럼 prompting interface 를 통해 인간이 AI 시스템을 사용하는데 혁명을 불러왔다.
  • 압도적인 크기로 인해, research 와 engineering 의 영역을 무너뜨렸다.

(2) LLM 의 단점
그러나 이러한 LLM 의 underlying principle 은 여전히 explored 되지 않았다. LLM 이 PLM 보다 압도적인 성능을 언제부터, 어떻게 내어놓는지에 대한 연구가 더 필요하다. 그리고, LLM 은 압도적인 크기로 인해 몇몇 industry 에서만 활용 가능하며, data collection and cleaning 등의 중요한 training detail 은 공개되지 않는다. 마지막으로 LLM 은 toxic, fictitious, harmful content 를 생성한다.

(3) LLM 연구의 필요성
따라서 이러한 문제를 극복하기 위하여 LLM 에 대한 더욱 깊은 연구가 필요하다. 이 survey 에서는 네 가지 관점에서 연구들을 정리한다.

  • pre-training (how to pretrain a capable LLM)
  • adaptation (how to effectively adapt pre-trained LLMs for better use)
  • utilization (how to use LLMs for solving various downstream tasks)
  • capability evaluation (how to evaluate the abilities of LLMs and existing empirical findings)

이후 추가적으로, some useful prompt design, LLM application in specific-domain 등을 다룬다.

2. Overview

2.1. Background for LLMs

(1) Scaling Laws for LLMs
LLM 은 기본적으로 Transformer 를 기반으로 하지만, model size, data size, total computation cost 등에서 매우 압도적으로 크다. 여러 연구에서 scaling 이 model 의 capacity 를 키운다는 것을 발견했다. 여기서는 두 가지 scaling law 를 소개한다.

  • KM scaling law

2020 년 OpenAI 팀의 Kaplan et al. 은 model size (N), dataset size (D), amount of training compute (C) 에 대해, 다음 세 가지 scaling law 를 보였다. image

이들은, model performance 가 세 가지 factor 에 strong dependence 를 갖는 것을 보였다. 이후, follow-up 연구에서 OpenAI 팀은 LM loss 를 두 가지로 구분하였는데, 하나는 irreducible loss(the entropy of the trud data distribution) 이고, 다른 하나는 reducible loss(an estimate of the KL divergence between the true and model distributions) 이다.

  • Chinchilla scaling law

Google DeepMind team 의 Hoffmann et al. 은 다른 형태의 scaling law 를 제안하였다. 여러 모델 사이즈와 여러 데이터 사이즈를 통해 아래의 식을 경험적으로 찾아낸다.

image

Compute budget 이 커질 때, KM scaling law 는 모델 사이즈를 키우는 것을 더 favor 하는 반면, Chinchilla scaling law 는 모델 사이즈와 데이터셋 사이즈 모두 equal scale 로 올려야 한다고 주장한다.

(2) Discussion on Scaling Laws
Scaling law 를 두 가지 측면에서 분석할 수 있다.

  • Predictable Scaling.

Scaling law 를 기반으로, smaller model 을 통해 larger model 의 performance 를 estimate 하는 것이 feasible 하다고 볼 수 있다. 너무 큰 모델은 그 성능을 측정하는 것조차 버거울 수 있는데, small model 로 부터 얻은 경험이 적용이 될 수 있다는 점은 매우 큰 장점이 된다. 그리고, LLM 을 학습시킬 때, training spike 같은 abnormal performance 가 있을 수 있는데, scaling law 는 가 LLM 의 training status 를 monitor 하는데 employ 될 수 있다는 장점이 된다. 또한, 모델의 크기가 커짐에 따라, LLM 학습을 위한 public dataset 이 “exhausted” 될 수 있으며, data scarcity 해결을 위한 data augmentation 기법이 매우 필요함을 의미하기도 한다.

  • Task-level Predictability.

LLM 의 scaling law 는 LM loss 에 치중되어 있다. 그러나 실제로 LM loss 의 감소가 모델의 performance 증가와 같은 말을 의미한다고 볼 수는 없다. GPT-4 는 coding ability 를 포함한 몇몇 capability 의 경우, scaling law 에 따라 정확하게 예측할 수 있다고 한다. 그러나 많은 경우 inverse scaling 이라 불리는 현상이 있으며, 이는 LM loss 가 감소함에도 task performacne 는 오히려 나빠지는 경우이다. 그리고 in-context learning 같이, scaling law 로는 예측할 수 없는 능력도 있다.

(3) Emergent Abilities of LLMs
“Emergent ability” 는 smaller model 에는 나타나지 않지만, large model 에 갑자기 나타난 능력을 의미한다. 특히 이러한 능력은 copmlex task 에서 나타난다.

  • In-context learning.

In-context learning (ICL) 은 GPT-3 에서 처음 제안된 개념으로, 추가적인 training 이나 gradient update 없이 주어진 instruction 에 따라 문장을 완성하는 능력을 말한다. ICL 은 task 에 따라 천차만별이며, arithmetic task 의 경우, 13B 정도의 GPT-3 에서도 잘하지만, Persian QA task 는 175-B 도 잘하지 못한다.

  • Instruction Following (Instruction Tuning).

흔히 Instruction Tuning 이라고 부르는, 자연어 decription 을 통한 multi-task fine-tuning 을 통해, LLM 은 instruction form 을 이용하여 explicit example 없이도 unseen task 를 잘 풀어낸다. 대표적인 예시로, LaMDA-PT 는 68B 에서 unseen task 를 잘 해결하며, PaLM 의 경우 62B 부터 MMLU, BBH, TyDiQA, MGSM 같은 eval benchmark 에서 좋은 성능을 보인다.

  • Step-by-step reasoning (Chain-of-Thought ; CoT).

CoT prompting 을 이용한 grounding 능력은 100B 이상은 되어야 효과적이다.

(4) How Emergent Abilities Relate to Scaling Laws
Scaling Law 와 Emergent ability 는 전혀 상반된 결과이다. 하나는 continous improvement 에 대한 내용이며, 하나는 sharp performance leap 에 관한 내용이다. 이에 대한 연구는 더욱 필요하지만, emergent ability 는 인간이 언어를 배우는 것과 유사하다고 한다. 인간은 몇몇 단어만 말하다가 ‘갑자기 어느순간’ discontinuous 하게 문장을 구사하게 되는데, 이러한 것이 LLM 이 emergent ability 능력을 가지는 것과 유사하다고 본다.

(5) Key Techniques for LLMs
LLM 이 general and capable learner 가 되게 하는 성공요소는 아래와 같다.

  • Scaling.

앞서 언급했듯이, LLM 은 Transformer 모델을 scaling 한 것이다. GPT-3 가 175B 에서, PaLM 이 540B 에서 scaling limit 을 경험했듯이, compute budget 이 정해진 상황에서는 scaling limit 이 있다. 이런 상황에서 Scaling Law 는 compute-efficent allocation 을 수행하기 위해 더 고려되어야 한다. Chinchilla 는 Gopher 과 비교하여, 같은 compute budget 조건에서, 모델 사이즈 대신 더 많은 training token 을 써서, 더 좋은 성능을 보인다. 추가적으로, data scaling 은 careful cleaning process 가 필요한데, pre-training data 의 quality 는 모델에 매우 큰 영향을 미친다.

  • Training.

LLM 은 크기가 매우 크기 때문에 distributed training 알고리즘을 요한다. 이러한 병렬적인 학습을 위해 여러 optimization framework 들이 등장했는데, DeepSpeed 나 Megatron-LM 등이 그 예시이다. 또한, training loss spike 극복을 위한 restarting 기법이나, mixed precision training 같은 기법들도 고려되어야 한다. GPT-4 는 독자적인 infrastructure 와 optimization method 를 제안하여, 작은 모델로 큰 모델의 성능을 예측할 수 있는 방법을 제안하였다.

  • Ability eliciting.

LLM 이 학습된 이후에는 instruction tuning 이나 CoT prompting 같은 techinical approach 를 통해 LLM 의 능력을 이끌어내는 (eliciting) 것이 중요하다.

  • Alignment tuning.

LLM 은 toxic, biased, harmful content 를 생성해낼 수 있다. InstructGPT 에서 제안되었듯이, helpful, honest, harmless (3h) 세 human value 에 LLM 이 align 되어야 한다. InstrucGPT 에서는 RLHF(Reinforcement Learning with Human Feedback) 을 통해 이를 해결하고자 하였다.

  • Tools manipulation.

LLM 은 parameter 내에 정보를 배우는 형식이기 때문에, pre-training data 안에 능력이 한정될 수 밖에 없고, out-date information 을 생성할 수 밖에 없다. 이를 해결하기 위해, external tool 을 활용하여 LLM 의 결점을 극복하고자 하는 시도가 있다. 즉 LLM 에 “eyes and ears” 를 달아주는 것이다.

2.2. Technical Evolution for GPT-series Models

ChatGPT 의 발전으로, GPT Series 는 LLM 연구를 리드하게 되었다. GPT Series 는 decoder-only model 로 (1) next word 를 정확하게 예측할 수 있다는 점, (2) LM 의 scaling up이 가능하다는 점 이 key point 이다. 아래 그림에서 GPT Series 의 발전사를 볼 수 있다.

image

(1) Early Explorations.
OpenAI 는 (Google DeepMind 의) Transformer 를 기반으로 GPT-1, GPT-2 를 만들었다. GPT-1 은 GPT(Generative Pre-Training) Series 의 시작이다 (2017). Decoder-only Model 의 근간이다. GPT-2 는 GPT-1 을 1.5B scale 로 증가시킨 것으로, large web data 인 WebText 를 학습시켰다. GPT-2 는 BERT 와 같은 세대로, Transfer learning 에 용이하게, unsupervised LM 학습을 더 치중했다(sought to). 이들의 논문에서 소개하는 아래 문구를 바탕으로 GPT Series 는 next word prediction 의 unsupervised LM 에 더 치중하게 된다.

“Since the (task-specific) supervised objective is the same
as the unsupervised (language modeling) objective but only
evaluated on a subset of the sequence, the global minimum
of the unsupervised objective is also the global minimum
of the supervised objective (for various tasks)”

(2) Capacity Leap.
GPT-2 가 “unsupervised multitask learner”를 표방함에도 불구하고, 많은 supervised fine-tuning 을 통해 SOTA 를 달성하였다(특히 Dialog 분야에서). GPT-3 는 model size 를 175B 까지 늘렸다 (2020). 이 논문에 처음으로 In-context Learning (ICL) 의 개념이 등장한다. 이 논문에서 언급하지는 않지만, GPT-3 는 scaling law 를 뛰어넘는(transcend) emergent ability 를 보인다. PLM 으로부터 LLM 이 등장하는 순간이다.

(3) Capacity Enhancement.
GPT-3 는 이제 LLM 의 근간(base)이 되었다. OpenAI 는 두 가지 방향에서 GPT-3 모델을 further improving 한다.

  • Training on code data.

GPT-3 의 최대 약점은 reasoning ability 로 특히 code generation, sovling math problem 에 약했다. 이를 극복하기 위해 2021년 7월 OpenAI 는 Github code 를 대량으로 학습한 Codex 모델을 소개한다. 이는 code 생성과 수학 문제에 탁월한 능력을 보였으며, 이후 contrastive learning 을 통해 더욱 강력한 성능을 얻을 수 있었다(2022년 1월). 실제로 이 code-based GPT model(code-davinci-002) 은 이후 GPT-3.5 모델의 base 가 된다. 이 발견을 통해 code data 를 training 하는 것이 reasoning ability 를 크게 증가시킨다는 것을 검증할 수 있다.

  • Human alignment.

2017 년전에 이미 OpenAI 는 human preference 를 RL 로 학습하는 방법에 대하여 블로그를 통해 소개한 적이 있다. 이에 더불어, 2017 년 PPO (Proximal Policy Optimization) 이라는 RL 알고리즘이 소개되면서 본격적으로 Human preference 를 학습하는 모델이 등장한다. 2020년 1월, GPT-2 는 PPO 알고리즘을 통해 Human preference 를 학습하여 성능을 올렸다. 2022년 1월, OpenAI는 이러한 연구를 바탕으로 GPT-3 에 RLHF 를 적용시켜 instructGPT 를 소개한다.

이 두 가지 기법을 바탕으로 발전한 GPT-3 는 GPT-3.5 로 불리게 된다.

(4) The Milestones of Language Models.
위의 exploration effort 를 바탕으로 OpenAI 는 ChatGPT 와 GPT-4 라는 두 가지 거대한 milestone 을 달성한다.

  • ChatGPT

2022년 11월 30일, GPT-3.5 를 기반으로하는 conversation model chatGPT 가 release 된다. ChatGPT 소개 블로그글의 “sibling model to instructGPT” 처럼, instructGPT 와 유사한 방식으로 학습된 모델이지만, dialogue 에 specially optimze 되었다. ChatGPT 는 인간과 소통하는 능력, 수학적 문제 해결 능력, multi-turn dialog 의 context 를 정확히 tracing 하는 능력, human value (3h) 를 잘 align 하는 능력을 모두 갖추었다. So far, it seems to be the ever most powerful chatbot in the AI history. ChatGPT 의 등장은 AI 연구의 양지화의 시작이다.

  • GPT-4

2023년 3월, multimodal signal 을 입력으로 처리하는 GPT-4 가 등장한다. 4-series 의 이름이 붙은 이유는 model capacity 가 이전의 세대들보다 압도적으로 좋기 때문이다. 심지어, 6개월 간의 RLHF 를 통해 human value alignment 도 훌륭하다(red teaming 등). 추가적으로, OpenAI 는 predictable scaling 이라는 메커니즘을 처음 소개하는데, 이는 training 도중 small portion 으로 final performance 를 예측할 수 있는 메커니즘이다.

  • GPT-4V, GPT-4 turbo, and beyond.

2023년 9월 GPT-4 를 기반으로, OpenAI 는 vision 측면에서 safety 를 더 키운 GPT-4V 를 release 한다(vision 입력에서의 risk 를 mitigation). GPT-4V 는 강력한 vision 능력을 기반으로, powerful multmiodla learning system 로써의 강력한 potential 을 지닌다. 2023년 11월, OpenAI 는 GPT-4 Turbo 를 공개하였고, 이는 성능이 GPT-4 보다 좋고, knowledge source 를 2023년 4월까지로 확장하였으며, context window 를 더 길게 볼 수 있고(128K token), API 를 통해 사용자 편의성도 제공한다.

이러한 발전에도 LLM 은 여전히 hallucination 의 문제에 취약하다. (이는 7장에서 더 자세히 다룬다)

3. Resources of LLMs

LLM 을 develop 하거나 reproduce 하는 것은 쉽지 않다. 따라서 LLM 을 잘 “활용”하는 것이 중요하다. 이 section 에서는, publicly available LLM resource 에 대해 요약한다.

3.1. Publicly Available Model Checkpoints or APIs

Budget 에 따라 tenshundreds of billions param 으로 나눠서 살펴보자.

(1) Models with Tens of Billions of Parameters.
LLAMA 와 LLAMA2 (70B, Meta AI), NLLB(54.5B), Falcon(40B) 를 제외하고 대부분은 10B ~ 20B 에 속한다. T5-large, PunGu-$\alpha$, T0, CodeGen, Flan-T5, GPT-NeoX-20B 등이 속한다. 이 중 FLAN-T5 는 instruction tuning 을 활용한 premier model 격으로, 학습시 (1) increasing the number of tasks, (2) scaling the model size, (3) fine-tuning with chain-ofthought prompting data 를 활용하였다.

Code Generation 에서는 CodeGen(11B) 이 모델이 좋은 성능을 보인다. 이 논문에서는 MTPB 라는 benchmark 를 제시하였고, 이는 LLM 정도의 scale 은 되어야 풀 수 있다. CodeGen2 와 StarCoder 역시 tens of billions model 에 속한다.

Multilingual Setting 에서는, mT0 (13B) 가 좋은 성능을 보이며, PanGu-$\alpha$의 경우 중국어에서 성능이 좋다.

LLaMA (65B) 는 다른 모델보다 대략 5 배정도의 파라미터를 갖는 모델답게, 이 체급에서는 가장 강력한 성능을 보인다. 특히 instruction following (instruction tuning) 에서 강력한 면모를 보이는데, 어느 정도 위에서 기술한 emergent ability 와 궤를 같이 한다고 볼 수 있다. LLaMA2 는 LLaMA 에 RLHF 를 적용하여 발전시켰고, 추가적으로 chat-oriented version 인 LLaMA-chat 으로도 발전하였다. LLaMA 는 체급이 (hundreds of billions LLM 에 비해) 낮고, 공개되어있어서, research 에서 매우 ‘핫’하게 사용이 되고 있다. 최근, Falcon 모델은 RefinedWeb 이라는 정제된 Pretraining dataset 을 학습하여 좋은 성능을 보이기도 하였다.

Typically, 이 체급의 모델들 역시 수백에서 수천개의 GPU 혹은 TPU 를 사용해야 pretraining 할 수 있다. GPT-NeoX-20B 의 경우, 8 개의 A100-40G 서버 12개 (96개 A100-40G)를 사용했고, LLaMA 는 2,048 개의 A100-80G 을 사용했다.

(2) Models with Hundreds of Billions of Parameters.
이 체급에서는 publicly released 된 것은 많지 않다. OPT, OPT-IML, BLOOM, BLOOMZ 는 GPT-3 와 유사한 175B 정도의 param 을 가지며, GLM 과 Galactica 는 각각 130B, 120B 의 param 을 갖는 공개된 오픈소스 모델이다. 이 체급은 pretraining 시 엄청난 양의 GPU 를 필요로 한다. OPT-175B 는 992개의 A100-80G 를, GLM-130B 는 752개 A100-40G 를 사용하여 학습하였다.

(3) LLaMA Model Family.

image

2023년 2월, Meta AI 에 의해 LLaMA family 가 처음 공개되었다(7B, 13B, 30B, 65B). Open resource 중 가장 강력한 성능을 보여 LLaMA 는 research 에서 매우 많이 사용되는 모델이 되었다. 많은 연구자들이 LLaMA 를 instruction tuning 과 continual pretraining 의 baseline 으로 활용하였다.

이 중 Stanford 대학의 Alpaca 모델은 first open instruct-following model fine-tuned based on LLaMA (7B) 모델이다. 이들은 text-davinci-003 의 sef-instruct 기법을 적용하였다. 이 instruction data 는 Alpaca-52K 이고, 이 때 사용된 코드는 뒤에 Alpaca-LoRA, Koala, BELLE 등의 모델에 사용되기도 하였다. Vicuna 역시 유명한 LLaMA variant 이며, 특히 multimodal language model 에서 LLaVA, MiniGPT-4, InstructBLIP, PandaGPT 등의 출현을 이끈 모델이기도 하다.

(4) Public API of LLMs.
모델은 locally 서버에 올려서 inference 하는 대신, API 를 활용한 연구가 학계/업계에서도 활발하다. GPT-3 에서의 ada, baggage, curie, davinci 등이 그 예시이다.

3.2. Commonly Used Corpora for Pre-training.

image

LLM 모델은 다양하지만, Pre-training corpus 는 비슷비슷하다. 크게 6개로 나눠서 소개하면: Books, CommonCrawl (CC), Reddit links, Wikipeida, Code 그리고 others 이다. 위의 표에서 많이 사용되는 pre-training dataset 들을 살펴볼 수 있다.

아래는 세 대표적인 LLM 의 pre-training dataset 모음이다.

  • GPT-3 175B : mixture of 300B tokens; CommonCrawl, WebText2, Books1, Books2, Wikipedia
  • PaLM 540B : mixture of 780B tokens; social media conversations, filtered webpages, books, Github, multilingual Wikipedia, and news.
  • LLaMA ; CommonCrawl, C4 [82], Github, Wikipedia,books, ArXiv, and StackExchange. The training data size for LLaMA (6B) and LLaMA (13B) is 1.0T tokens, while 1.4T tokens are used for LLaMA (32B) and LLaMA (65B).

3.3. Commonly Used Datasets for Fine-tuning

(1) Instruction Tuning Datasets
image

※ 각 dataset 에 대한 자세한 설명은 논문 참조.

(2) Alignment Datasets
image

※ 각 dataset 에 대한 자세한 설명은 논문 참조.

3.4. Libary Resource

LLM 개발을 위한 library 들을 간단히 소개한다.

  • Transformers : Hugging face 에서 관리하는 python transformer API.
  • DeepSpped : Microsoft 에서 관리하는 PyTorch deep learning optimization API.
  • Megatron-LM : NVIDIA 에서 관리하는 large-scale LM training 을 위한 deep learning library. data parallelism, mixed-precision training, FlashAttention 등을 포함한다.
  • JAX : Google 에서 관리하는 high-performance machine learning algorithm library. TPU 호환이 장점이다.
  • Colossal-AI : HPC-AI 에서 관리하는 large-scale AI training 을 위한 tool.
  • BMTrain : OpenBMB 에서 관리하는 large-scale param 모델을 효율적으로 관리하도록 도와주는 tool. FLAN-T5, GLM 등을 쓸 수 있다.
  • FastMoE : MoE (Mixture-of-Experts) 관리 Tool.
  • vLLM : high serving throughput, effective attention memory management using PagedAttention, continuous batching, and optimized CUDA kernels 등을 활용한 fast, memory-effeicient LLM inference tool.

A Survey of Large Language Models (2) 에서 계속…