Post

FLAN

FLAN

FLAN: Finetuned Language Models Are Zero-Shot Learners

Authors: Jason Wei, Maarten Bosma, Vincent Y. Zhao, Kelvin Guu, et al. (Google Research)

1. 문제 정의

핵심 문제

범용 LLM이 학습 때 보지 못한 새로운 task를, 예시 없이(zero-shot) 잘 수행하게 만드는 것이 핵심 문제임.

당시 LLM 활용 방식은 두 갈래였고, 둘 다 “처음 보는 task에 대한 zero-shot 일반화”에서 약했음.

기존 연구의 한계

1) Pretrain → Finetune 방식 (BERT, T5)

사전학습 후 task별로 finetuning함.

항목내용
방식task마다 별도 모델을 finetune
한계task마다 별도 모델 필요, labeled data 대량 필요, 범용성 낮음

결론적으로 task-specific AI에 가까움.

2) Prompting 기반 방식 (GPT-3)

모델은 고정한 채 prompt engineering으로 풂.

항목내용
방식few-shot exemplar + prompt 설계
한계exemplar에 민감, prompt 품질 따라 편차 큼, zero-shot 성능 낮음

특히 NLI처럼 인터넷 텍스트에 자연스럽게 등장하지 않는 task에서 zero-shot 성능이 매우 낮았음. (“두 문장이 함의 관계인가?”를 사람이 웹에 쓸 일이 거의 없기 때문임.)

3) 미해결 지점

정리하면, 고정 모델 prompting은 새 task에 약하고, task별 finetuning은 범용성이 없음. “하나의 모델로, 본 적 없는 task를, 지시만 보고 수행”하는 길이 비어 있었음.


2. 제안 방법: Instruction Tuning (FLAN)

논문은 단순한 아이디어를 제안함. arXiv:2109.01652, Google, ICLR 2022.

“Instruction 자체를 학습시키자.”

다양한 NLP task를 자연어 instruction 형태로 변환한 뒤, 하나의 모델에 finetuning함. 이를 Instruction Tuning이라 부르며, 그 결과물이 FLAN임.

2.1 핵심 아이디어

기존 finetuning은 “이 입력 → 이 출력”을 외우게 함. FLAN은 대신 “지시문을 읽고 그에 맞는 작업을 수행하는 방식” 자체를 학습시킴. 즉 task를 외우는 게 아니라 instruction-following이라는 메타 능력을 학습하는 것이 목표임.

2.2 FLAN 구축 방법

1) 62개 dataset → 12개 task cluster

NLI, QA, Translation, Summarization, Sentiment, Commonsense, Coreference 등 62개 dataset을 수집해 12개 task cluster로 분류함.

2) 모든 task를 instruction 형태로 변환

사람이 모델에게 지시하는 형태로 입력을 바꿈.

1
2
3
4
5
6
7
8
[기존 NLI 입력]
Premise: ...
Hypothesis: ...

[FLAN 입력]
<premise>
<hypothesis>
Does the premise entail the hypothesis?

3) Dataset당 다중 instruction template

dataset당 최대 10개 템플릿을 사용함. (번역 예시: “Translate this sentence to French”, “Can you convert this into French?”, “Please translate the following text.”)

특정 표현에 overfitting되는 것을 막기 위함임.

4) Base model

LaMDA-PT 137B를 위 instruction mixture로 finetuning한 결과가 FLAN임.

2.3 핵심 주장의 재해석

흔히 FLAN을 단순 multitask finetuning으로 이해하지만, 논문의 진짜 주장은 다름.

모델이 여러 task를 암기한 게 아니라, instruction-following 능력 자체를 학습했다.

번역·QA·NLI를 각각 학습한 게 아니라, “자연어 지시를 보고 새 작업을 수행하는 방식”을 학습했다는 것임. 이 해석이 8장 ablation으로 뒷받침됨.


3. 실험 결과

3.1 엄격한 unseen task 평가

기존 multitask 연구는 train/test dataset만 나누면 unseen으로 간주했으나, FLAN은 cluster 단위 hold-out을 적용함.

  • NLI 평가 시: train에서 NLI cluster 전체 제거(SNLI·MNLI·RTE 등 모두 제외)
  • 사실상 “처음 보는 task type” 테스트

3.2 GPT-3와 비교

비교결과
GPT-3 zero-shot 대비25개 중 20개 dataset에서 FLAN 우위
GPT-3 few-shot 대비일부 task에서 FLAN 우위

FLAN이 특히 강했던 dataset: ANLI, RTE, BoolQ, ARC, StoryCloze.

3.3 Scale의 중요성 (가장 중요한 발견)

Instruction tuning은 작은 모델에서는 오히려 성능을 악화시킴.

비교 크기: 422M, 2B, 8B, 68B, 137B.

모델 규모결과해석
작은 모델성능 악화capacity 부족 → instruction task를 암기하는 데 용량 소진, generalization 대신 memorization 발생
큰 모델성능 급상승task 학습 + instruction-following abstraction 학습이 모두 가능

즉 scale이 일정 수준을 넘어야 instruction tuning 효과가 emergent하게 나타남. 이 발견이 이후 emergent ability·scaling law 연구로 이어짐.

3.4 Ablation: instruction이 정말 중요한가

“그냥 multitask라서 좋아진 것 아닌가?”에 답하기 위한 실험.

조건학습 형태
Case 1instruction 없이 input → output
Case 2dataset 이름만 제공 (예: [Translation Task])
Case 3자연어 instruction (FLAN)

Case 3이 압도적 우위. 성능 향상의 핵심은 multitask 자체가 아니라 instruction format임이 입증됨.


4. 한계 및 비판

논문이 인정한 한계와, 더 따져볼 지점을 함께 정리함.

1) “unseen task”의 엄밀성 논란

cluster 단위 hold-out은 기존보다 엄격하지만, cluster 경계 자체가 주관적임. 형식이 유사한 task(예: 여러 분류 task)는 cluster가 달라도 사실상 같은 풀이 패턴을 공유할 수 있어, 완전한 zero-shot인지 논쟁 여지가 있음.

2) GPT-3와의 비교가 공정한가

FLAN(LaMDA-PT 137B)과 GPT-3는 사전학습 코퍼스가 다름(LaMDA-PT는 대화 비중 큼). “FLAN이 낫다”가 instruction tuning 덕인지, base 모델·코퍼스 차이 덕인지 깔끔히 분리되지 않음.

3) 결국 학술 벤치마크 분포

instruction tuning에 쓴 것도, 평가한 것도 결국 정형화된 학술 NLP dataset임. 실제 사용자가 던지는 자유로운 instruction 분포와는 거리가 있음. 이 간극을 이후 InstructGPT가 실제 user prompt + RLHF로 메움.

4) scale 의존 → 보편성 제한

137B가 필요하고 작은 모델에선 오히려 악화됨. “누구나 쓰는 방법”이 아니라 대형 모델 전용 처방에 가까움. emergent 해석도 사후적이라 “왜 그 지점인가”의 인과는 약함.

5) 효과가 task 의존적

commonsense reasoning·coreference처럼 원래 language modeling과 가까운 task에선 효과가 작거나 악화됨. instruction이 새 inductive bias를 부여하는 task에서만 이득이 큼.


5. 결론 및 의의

1) 패러다임 전환

FLAN의 진짜 의의는 성능 수치가 아니라, “LLM에게 task를 가르치는 방식”을 바꾼 것임.

구분관점
FLAN 이전LM = next-token predictor, task별 별도 모델
FLAN 이후LM = instruction-following generalist, 하나의 모델이 지시로 다양한 task 수행

2) 후속 흐름

이 아이디어를 이어받은 연구: InstructGPT, ChatGPT, T0, Alpaca, LLaMA instruction tuning. 현재 chat 모델 철학의 출발점임.

This post is licensed under CC BY 4.0 by the author.