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 1 | instruction 없이 input → output |
| Case 2 | dataset 이름만 제공 (예: [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 모델 철학의 출발점임.