주제: 4-3 GPT-3 (In-Context Learning 메커니즘)

분류: llm

타입: concept

난이도: 중상

선수지식: 있음 — Transformer Decoder, Language Modeling

문제 설정

기존 NLP 모델(BERT 등)은 새로운 작업(task)을 수행하려면 fine-tuning이 필요했습니다.

Pretrain
↓
Fine-tune
↓
Task 수행

하지만 GPT-3는 새로운 작업을 수행할 때 모델 파라미터 업데이트 없이 학습할 수 있습니다.

이 능력을 In-Context Learning (ICL)이라고 합니다.

직관 비유

즉 모델이 프롬프트 안에서 즉석 학습을 수행합니다.

1. GPT-3 구조

GPT-3는 Transformer Decoder 기반 모델입니다.

Input tokens
↓
Masked Self-Attention
↓
Feed Forward Network
↓
Next token prediction

목표:

P(xt|x1,...,xt1)

기호 의미

왜 필요한가

텍스트 생성 모델로 학습됩니다.

2. Language Modeling Objective

GPT 계열 모델은 다음 목적함수를 사용합니다.

L=ΣlogP(xt|x1,...,xt1)

기호 의미

왜 중요한가

모델이 문맥 기반으로 텍스트를 생성하도록 학습합니다.

3. In-Context Learning

ICL은 프롬프트에 예제를 포함하여 모델이 패턴을 추론하도록 하는 방법입니다.

예:

Input:
English: dog → French: chien
English: cat → French: chat
English: bird → French:

모델 출력:

oiseau

직관 설명

4. Few-shot / Zero-shot

방법 설명
Zero-shot 예시 없이 task 수행
One-shot 예시 1개 제공
Few-shot 여러 예시 제공

예시

Question: Translate English to French
dog → ?

5. ICL 작동 직관

Transformer는 다음 연산을 수행합니다.

Attention(Q,K,V)

프롬프트 예시 토큰들도 attention 대상이 됩니다.

결과

주의점

모델 파라미터는 업데이트되지 않습니다.

6. ICL을 수식으로 보면

프롬프트:

context=example1,example2,...,query

모델 목표:

P(answer|context)

기호 의미

왜 중요한가

fine-tuning 없이 task를 수행할 수 있습니다.

7. 왜 GPT-3에서 가능해졌나

모델이 다양한 task 패턴을 내부적으로 학습합니다.

8. In-Context Learning 한계

문제 설명
context 길이 제한 긴 prompt 불가능
prompt sensitivity 프롬프트에 따라 성능 변화
추론 비용 큰 모델 연산 비용

코드-수식 연결

개념 코드 설명
GPT 모델 transformers.GPT2LMHeadModel decoder language model
prompt 입력 tokenizer(prompt) 프롬프트 토큰화
텍스트 생성 model.generate() 다음 토큰 생성

자주 하는 오해 5개

체크리스트 (스스로 설명 가능해야 하는 질문)