GPT-3에 관한 논문이며
"Few-shot"이 왜 중요한지에 대해 얘기한다
1. 기존 한계점
- 수많은 라벨링 데이터가 필요하다
- Fine-tuning 과정에서 일반화가 불가능하다
- 사람과의 능력 차이가 많이 난다
GPT-3로 세 가지 평가를 진행한다.
- Zero, One, Few-shot (In-context learning)
- 추가적으로 모델 크기는 13B~125B 사이 모델을 사용한다.
※ In-context learning
- 내가 이해한 개념 : 별도의 학습 없이 예시 프롬프트를 가지고 LLM에게 원하는 방향에 답변을 유도하는 것
- 종류
- Zero-shot : 예시없이 지시문만 제공하는 방법
- One-shot : Few-shot 방법과 비슷하지만 예시를 1개만 제공하는 방법
- Few-shot : K개의 예시를 보여주는 방법
Fine-tuning 기법이랑 차이는 Fine-tuning은 특정 task에 데이터만 학습하여 모든 것을 잘할 수 없다는 단점이 존재한다.
하지만 In-context learning을 이용하면 해당 단점을 극복할 수 있는 가능성이 있다.
2. Dataset
- Common Crawl (60%)
- WebText (22%)
- Book1,2 (16%)
- Wikipedia (3%)
3. 평가
※ Few-shot 방법에서 K가 높다고 항상 성능이 좋은 건 아니다.
4. Task
다양한 Task를 통해서 성능을 검증하였다.
- Cloze ( 문장/문단 완성도)
- Fine-tuning 없이 준수한 성능을 보인다. (한 벤치마크에서는 Few-shot이 SOTA보다 성능이 좋다)
- "Closed Book" QA Task
- 데이터 저장, 검색 능력이 있다는 것을 알 수 있다.
- Translation (BLEU)
- 몇가지 언어에서 SOTA를 능가하는 성능을 보인다.
- Winograd Task (대명사 지칭 문제)
- SOTA 성능에 거의 근접하고 문맥 이해 능력이 준수하다.
- Common Sense Reasoning (상식 추론)
- 물리적 상호 작용 문제에서 좋은 성능을 보인다.
- Reading Comprehension (독해 능력)
- GPT-3는 일반적 대화에 강점을 보이는 특징 존재한다.
- SuperGLUE (언어 이해 능력)
- 데이터 셋 내용, 어체를 더 고려해야 판단이 가능하다고 한다.
- NLI (두 문장 관계 파악, 기본<->가설)
- 포함, 모순, 중립 중 한가지로 대답, SOTA 성능에 못 미치고 두 문장 관계 파악에 어려움을 보인다.
- 산수 문제
- GPT-3는 '대화' 데이터 셋 위주로 학습이 되어서 산수 관련 지식이 상대적으로 적지만 추론하여 푸는 능력이 있다.
- 단어, 문장 재배열
- zero vs one/few 차이 많이 나는 것이 특징이다.
- SAT
- 대학생 평균보다 잘한다.
- 기사 생성 (가짜 뉴스 잘 만드는지)
- 사람이 평가해도 절반정도가 가짜 뉴스인지 판별 못한다. (잘함)
- 새로운 단어 습득 및 활용 능력
- 실제 존재하지 않는 단어를 설명하고 이를 사용해서 생성을 유도. '잘 사용한다'-> 지시문을 응용한 추론 가능
- 문법 오류 (영어)
- 수정 능력이 존재하는 것을 알 수 있다.
5. 한계
- 여전히 잘 못 푸는 문제가 존재한다.
- 문장 생성 시, 종종 오류가 발생한다.
- 몇가지 문제에서 In-context learning 성능 하락
이 문제들은 사람과 대화 가능한 응용 어플리케이션이라는 관점에서 문제점들이다.
(+) 본질적 한계
- 토큰 예측을 학습하는 방법
. Autoregressive 방식 학습인데 모든 토큰에 가중치를 동일하게 주는 것이 부적절 -> Attention 연구
- 실제 세상에 대한 Context 부족
. 목적 함수, 강화 학습, 모달리티 등 다양한 방법이 제안되었다.
- 막대한 자원이 든다는 문제
- Few-shot이 왜 효과적인지 정확하게 파악할 필요가 있다.
6. 결론 및 생각
Few-shot 기법으로 좋은 성능을 보였다. 하지만 가짜 뉴스, 답변 편향, 많은 에너지 자원 소모 등 사회적 파장 문제가 존재한다.
학습 없이 모델의 성능을 끌어올리는 좋은 방향성을 제시한 논문이다.
....하지만 결국 LLM의 좋은 답변을 위한 방법으로는 모델 크기, 파라미터 수 큰 게 좋다라는 생각이 들었다