‹ Lecture 4 01 / 20

PLM Families & Transfer Learning

Pre-trained Language Model은 text corpus에서 언어를 처리하는 backbone을 먼저 학습하고, 그 backbone을 여러 downstream tasks에 재사용한다. 이전에도 word vectors를 재사용했지만 감성 분류와 개체명 인식에는 task별 network를 다시 학습해야 했다. 변화의 핵심은 재사용하는 단위가 단어 vector에서 문맥을 처리하는 network 전체로 넓어졌다는 것이다. Transfer Learning 자체가 이 시기에 처음 생겼다는 뜻은 아니다.

  1. Word vectors
  2. Pretrained backbone
  3. feature extraction 또는 fine-tuning
  4. task adaptation

Pre-trained Language Models

Lecture 4는 Pre-trained Language Models를 다룬다. 큰 text corpus의 self-supervised objective로 backbone을 학습하고 이후 task에 맞게 재사용하는 흐름을 다룬다.

Architecture Families

Encoder-only BERT는 bidirectional visibility와 masked-token objective, Decoder-only GPT2는 causal visibility와 next-token objective, Encoder-decoder T5/BART는 full source와 causal target의 conditional generation으로 비교한다. 공통은 Attention+FFN, 차이는 visibility와 objective다. 표의 Prefix+causal 그림은 source/target visibility를 개략적으로 비교한다.

Feature Extraction & Fine-Tuning

ELMo는 사전 학습한 bidirectional LM을 freeze하고, 그 contextual vectors를 task model의 features로 사용한다. 교수님은 각 token의 여러 layer outputs를 Softmax weights로 가중합하고 scale을 조절하는 scalar를 곱해, task에 맞는 ELMo 표현을 만드는 과정을 설명했다. 이를 기존 word vector와 함께 task model에 넣을 수 있다. 문맥을 활용하지만 backbone 자체를 task마다 새로 업데이트하는 방식은 아니다.

ULMFiT, GPT-1, BERT의 fine-tuning에서는 사전 학습한 backbone의 most/all weights도 task loss로 조정한다. 따라서 “미리 학습한 모델을 가져온다”는 말만으로 frozen feature extraction인지 fine-tuning인지 알 수 없다. 무엇을 재사용하는가와 무엇을 업데이트하는가는 별도의 선택이다.

ULMFiT

ULMFiT는 fine-tuning 중 사전 지식을 크게 잊거나 적은 labeled data에 과적합하는 문제를 training recipe로 다룬다. General-domain LM pretraining에서는 WikiText-103의 약 103M words로 모든 layers를 학습한다. Target-task LM fine-tuning에서는 task text를 가져오되 labels는 무시하고 같은 LM objective로 domain에 적응시킨다. 마지막에 labeled task data와 새 classifier head로 task를 학습한다.

둘째 단계의 discriminative learning rates는 layers마다 같은 속도로 바꾸지 않는다는 뜻이다. 기본 언어 패턴을 담은 lower layers는 덜 바꾸고 task-specific 조정이 필요한 upper layers는 더 바꾼다는 직관이다. Slanted triangular schedule은 learning rate를 초반에 빠르게 올린 뒤 천천히 낮추어 새 task에 적응하면서 수렴하도록 한다.

Classifier fine-tuning에서는 처음부터 모든 layers를 한꺼번에 풀지 않고, top layer부터 gradual unfreezing한다. 새 head를 학습하는 동시에 이미 가진 표현을 갑자기 망가뜨리지 않으려는 선택이다. Review sentiment, question type, topic classification처럼 서로 다른 task에도 이 단계 구분을 사용할 수 있다는 것이 reusable backbone의 의미다.

ULMFiT의 예시 datasets는 같은 backbone을 서로 다른 label 공간에 적응시키는 상황을 보여 준다.

DatasetTypeClassesExamples
TREC-6Question65.5k
IMDbSentiment225k
Yelp-biSentiment2560k
Yelp-fullSentiment5650k
AGTopic4120k
DBpediaTopic14560k

Encoder-only · Encoder-decoder · Decoder-only

Architecture와 pretraining objective, downstream task fit를 연결한다.

AspectEncoder-onlyEncoder-decoderDecoder-only
VisibilityBidirectionalFull source / causal target / crossCausal
ObjectiveMLM / RTDSpan corruption / denoising / conditional LMNext-token prediction
주요 outputContextual representationsSource-conditioned sequenceGenerated continuation
대표 모델BERT / RoBERTa / ELECTRAT5 / BART / NLLB / WhisperGPT / LLaMA
대표 taskClassification / retrieval / rerankTranslation / summarization / ASRPrompting / dialogue / open generation

대표적인 용도이며 배타적 제한이나 절대적인 architecture 순위가 아니다.

Check

Pretrained word vector만 재사용하는 방식과 pretrained backbone 재사용은 무엇이 다른가?

Answer

후자는 문맥을 계산하는 network 자체를 학습된 상태로 가져온다. ELMo의 frozen feature extraction과 weights를 업데이트하는 fine-tuning은 다시 구분한다.

ULMFiT의 target-task LM fine-tuning과 classifier fine-tuning은 데이터와 objective가 어떻게 다른가?

Answer

전자는 task text의 labels를 무시하고 LM을 적응시킨다. 후자는 labeled task와 classifier로 목표 task를 학습하며 gradual unfreezing을 쓴다.

Encoder-only · Encoder-decoder · Decoder-only를 축별로 비교하고 그 차이가 필요한 이유를 설명하세요.

Answer

Architecture와 pretraining objective, downstream task fit를 연결한다.

Visibility: Encoder-only=Bidirectional / Encoder-decoder=Full source / causal target / cross / Decoder-only=Causal

Objective: Encoder-only=MLM / RTD / Encoder-decoder=Span corruption / denoising / conditional LM / Decoder-only=Next-token prediction

주요 output: Encoder-only=Contextual representations / Encoder-decoder=Source-conditioned sequence / Decoder-only=Generated continuation

대표 모델: Encoder-only=BERT / RoBERTa / ELECTRA / Encoder-decoder=T5 / BART / NLLB / Whisper / Decoder-only=GPT / LLaMA

대표 task: Encoder-only=Classification / retrieval / rerank / Encoder-decoder=Translation / summarization / ASR / Decoder-only=Prompting / dialogue / open generation

조건: 대표적인 용도이며 배타적 제한이나 절대적인 architecture 순위가 아니다.

Pre-training · Fine-tuning · In-Context Learning를 축별로 비교하고 그 차이가 필요한 이유를 설명하세요.

Answer

학습 데이터, weights update와 task interface를 구분한다.

목표: Pre-training=일반 언어 backbone 학습 / Fine-tuning=Task / instruction / domain adaptation / ICL=Prompt context의 task 수행

Weights: Pre-training=업데이트 / Fine-tuning=업데이트 / ICL=Test time 고정

입력/신호: Pre-training=Self-supervised corpus targets / Fine-tuning=Task labels / text / instructions 등 / ICL=Instructions / demonstrations

대표 흐름: Pre-training=BERT MLM / GPT causal LM / Fine-tuning=ULMFiT / BERT head / FLAN / ICL=GPT3 zero/one/few-shot

조건: Fine-tuning을 head-only와 동의어로 쓰지 않는다.

ICL의 learning을 실제 parameter backprop과 혼동하지 않는다.

L4의 사용 방식 변화에서 빈 node를 복원하세요. 모델의 직접 계보가 아니라 강의의 interface 흐름입니다.

Answer

Pretrained backbone → Task-specific fine-tuning + heads → GPT-2 zero-shot completion → GPT-3 zero/one/few-shot ICL → Base + post-trained instruction ecosystem 각 화살표가 입력/처리인지 사용 방식의 역사 흐름인지 구분해서 설명한다.

Contents