https://littlefoxdiary.tistory.com/44
GPT-3 관련 논문리뷰 (방법론, evaluation 위주임)
Abstract
Bidirectional Encoder Representations from Transformers
= 이름에서 유추할 수 있듯 transformer의 encoder 모듈을 활용해 bidirectional하게 학습한 모델
- english wiki + bookscorpus 같은 대용량의 unlabeled data로 pre-trained한 후 task-specific하게 labeled data로 fine tune을 시켰다 (transfer learning)
- BERT 이전 모델인 ELMo (Left to Right, Right to Left를 단순하게 concat한), OpenAI GPT (unidirectional, left to right architecture, transformer decoder 사용)의 접근 방식은 language representation이 부족하다고 주장
- 특정 task를 처리하기 위해 새로운 nw를 붙이는 feature-based approach가 아닌 fine-tuning approach
- conceptually simple하지만 emperically powerful
Introduction
- pre-trained lnaguage representation을 적용하는 방식에는 크게 두 가지 방식이 있음
- feature-based approach: pre-trained representation와 task-specific architecture를 붙여 사용, ELMo
- fine-tuning approach: task-specific한 parameter를 최대한 줄이고 pre-trained parameters를 downstream task 학습을 통해 전체적으로 조금씩 바꿔줌, OpenAI GPT
- 앞선 모델들은 pre-training 시에 동일한 objective function으로 학습을 수행 = unidirectional = limits the choice of architectures
- BERT는 masked language model pre-training objective를 적용하여 deep bidirectional Transformer를 학습시켰으며, next sentence prediction task를 적용해 pretrain을 수행하였다
Related Work
- Unsupervised Feature-based Approaches
- Unsupervised Fine-tuning Approaches
- Transfer Learning from Supervised Data
About BERT
- BERT의 framework는 two-step으로 진행됩니다 = pre-trianing + fine-tuning
- downstream의 각 task마다 같은 pre-trained parameters에서 시작함
Model Architecture
- encoder 모듈만을 사용한 multi-layer bidirectional transformer
-
number of layers를 L, the hidden size를 H, number of self-attention heads를 A 라고 할 때
- BERT_base : L=12, H=768, A=12 (110M params)
- BERT_large : L=24, H=1024, A=16 (340M params)
Input/Output Representation
- input representation은 위와 같이 token embedding + segment embedding + position embedding 합으로 구성
- token embedding => wordpiece embedding 사용
- sequence의 시작 token은 special token [CLS]
- [CLS] 토큰에 대응되는 final hidden state는 aggregate sequence representation => 분류 task에 활용됨
- segment embedding
- 서로 다른 sentence 간에는 [SEP] special token으로 구분하고
- learned embedding을 더해 구분
- position embedding => transformer에서 사용한 방식과 동일
Pre-training Tasks - 1 : Masked LM
- 약 15% 정도의 token position을 random하게 선택하여 masking 진행
- 80%는 [MASK] token으로 대체, 10%는 유지, 10%는 랜덤한 토큰으로 대체
- fine-tuning 단계에서는 [MASK] 토큰을 사용하지 않기에 그 mismatch를 줄이기 위해
- 언어 모델이 아무런 제약조건 없이 Bidirectional하게 학습을 하게 되면 간접적으로 예측하려는 단어를 참조하게 되고, multi-layered 구조에서 해당 단어를 예측하게 됨
- 문장 전체를 restore하는게 아니라 mask된 token만을 예측하는 방식으로 deep bidirectional representation을 학습
Pre-training Tasks - 2 : Next Sentence Prediction (NSP)
- Question Answering (QA) and Natural Language Inference (NLI) 같은 downstream task들에서는 문장들 간의 relationship이 중요함, 이러한 관계는 language modeling에서 capture되지 않음
- binarized next sentence prediction task를 설계함
- 50%는 sentence A 다음에 실제 다음 문장인 sentence B가 등장, IsNext 로 라벨링
- 50%는 sentence A 다음에 corpus 내에서 random으로 뽑은 sentence C가 등장, NotNext 라벨링
- [CLS] token의 final hidden state C가 NSP에서 사용됨
Pre-training data
- BooksCorpus (800M words) + English Wikipedia (2,500M words, text passage만)
Fine-tuning procedure
- sequence-level classification task
- [CLS] token의 transformer output 벡터 H 차원을 K(클래스 개수)로 줄여주어야 함
- classification layer W + softmax 붙인 후 전체를 fine-tune
- span-level task
- 질문과 지문이 주어지고, 그 중 substring인 정답을 맞추는 SQuAD dataset
- 질문을 A embedding, 지문을 B embedding으로 처리. 지문에서 정답이 되는 substring의 start/end를 찾는 task로 문제를 치환 => start vector와 end vector를 학습시킨다
- token-level prediction task
- 각 토큰에 모두 classifier을 붙여 제시된 class (ex. person, organization, location, other)에 대해 판별을 함
- 각 prediction은 주위의 prediction에 영향 받지 x
- pre-training에 비해 relatively inexpensive
Ablation Studies
- 위 표에서 알 수 있듯이 NSP, MLM 을 제거하면 성능이 떨어지더라
- model size를 늘릴수록 정확도가 상승하더라, downstream task를 수행하는 dataset scale이 작아도 !!
- 물론 fine-tuning approach가 아니라 feature-based approach로도 사용 가능하다
끗
'AI > NLP (LLM)' 카테고리의 다른 글
[논문 리뷰] Insight-V: Exploring Long-Chain Visual Reasoning with Multimodal Large Language Models (1) | 2024.11.28 |
---|---|
[논문 리뷰] LLaVA-CoT: Let Vision Language Models Reason Step-by-Step (2) | 2024.11.28 |
[논문 리뷰] PARROT: MULTILINGUAL VISUAL INSTRUCTION TUNING (1) | 2024.10.31 |
LLaVA-OneVision (opensource VLM) (0) | 2024.08.15 |
업스테이지 Solar LLM - tool RAG (0) | 2024.05.19 |