Skip to main content

GPT 진화 — Generative Pre-trained Transformer

GPT 계열은 OpenAI가 개발한 자기회귀(autoregressive) 디코더 모델입니다. “다음 토큰 예측”이라는 단순한 목표를 극한까지 스케일링하여, 텍스트 생성에서 범용 AI까지의 발전을 이끌었습니다.

핵심 아이디어

GPT의 핵심은 Autoregressive Language Modeling입니다. 주어진 토큰 시퀀스에서 다음 토큰의 확률을 최대화합니다. P(x1,x2,...,xn)=i=1nP(xix1,...,xi1)P(x_1, x_2, ..., x_n) = \prod_{i=1}^{n} P(x_i \mid x_1, ..., x_{i-1}) 학습 목표(손실 함수): L=i=1nlogP(xix1,...,xi1)\mathcal{L} = -\sum_{i=1}^{n} \log P(x_i \mid x_1, ..., x_{i-1}) BERT가 양방향으로 문맥을 이해하는 데 초점을 맞췄다면, GPT는 좌에서 우로의 생성(generation) 능력에 집중합니다. 이 단순한 목표가 충분한 스케일에서 놀라운 능력을 발휘합니다.

동작 방식

Transformer 디코더의 **Masked Self-Attention(Causal Attention)**을 사용하여, 각 토큰은 자신보다 앞에 있는 토큰만 참조할 수 있습니다.

GPT-1 (2018): 비지도 사전학습 + 지도 Fine-tuning

아키텍처

항목
레이어 수12
Hidden 차원768
Attention Head12
파라미터117M
컨텍스트 길이512
학습 데이터BooksCorpus (약 7,000권, 5GB)

핵심 기여: 2단계 학습 프레임워크

GPT-1의 핵심 인사이트는 비지도 사전학습이 다양한 NLP 태스크의 성능을 크게 향상시킨다는 것입니다. 이는 BERT와 같은 시기에 독립적으로 발견된 결과이며, 사전학습 패러다임의 시작점입니다.

태스크별 입력 변환

GPT-1은 다양한 태스크를 하나의 모델 구조로 처리하기 위해, 입력 형식을 변환합니다.
태스크입력 형식
분류[Start] 텍스트 [Extract]
함의[Start] 전제 [Delim] 가설 [Extract]
유사도[Start] 텍스트A [Delim] 텍스트B [Extract] (양방향)
다지선다[Start] 문맥 [Delim] 답 [Extract] (각 선택지마다)

GPT-2 (2019): Zero-shot과 스케일의 시작

아키텍처 변화

항목GPT-1GPT-2변화
파라미터117M1.5B13배
레이어12484배
Hidden 차원7681,6002배
컨텍스트5121,0242배
학습 데이터5GB40GB (WebText)8배
Batch 크기645128배

핵심 기여: Fine-tuning 없는 Zero-shot

GPT-2의 혁신적 주장: 충분히 큰 언어 모델은 Fine-tuning 없이도 태스크를 수행할 수 있다.
# GPT-2의 Zero-shot 개념
# Fine-tuning 없이 프롬프트만으로 태스크 수행

# 번역 (학습하지 않았지만 수행)
prompt = "Translate English to French: cheese =>"
# 모델 출력: "fromage"

# 요약 (학습하지 않았지만 수행)
prompt = "Article: [긴 기사 텍스트]\nTL;DR:"
# 모델 출력: 기사 요약
이 발견은 언어 모델링이 암묵적으로 다양한 태스크를 학습한다는 것을 보여줍니다.

아키텍처 세부 변경

# GPT-2의 주요 아키텍처 변경점

# 1. Pre-Norm (Layer Normalization 위치 변경)
# GPT-1: Post-Norm (Attention → Add → LayerNorm)
# GPT-2: Pre-Norm (LayerNorm → Attention → Add) → 학습 안정성 향상

class GPT2Block:
    """GPT-2 Transformer 블록의 개념적 구조입니다."""
    def forward(self, x):
        # Pre-Norm 구조
        residual = x
        x = self.layer_norm_1(x)     # LayerNorm 먼저
        x = self.attention(x)         # Attention
        x = residual + x              # Residual 연결

        residual = x
        x = self.layer_norm_2(x)     # LayerNorm 먼저
        x = self.feed_forward(x)     # FFN
        x = residual + x              # Residual 연결
        return x

# 2. 어휘 크기 확대: 40,478 → 50,257 (BPE)
# 3. 최종 LayerNorm 추가 (마지막 블록 출력에)

GPT-3 (2020): In-Context Learning과 Few-shot

스케일의 도약

항목GPT-2GPT-3변화
파라미터1.5B175B117배
레이어48962배
Hidden 차원1,60012,2887.7배
Attention Head25963.8배
컨텍스트1,0242,0482배
학습 데이터40GB~570GB (필터링 후 약 300B 토큰)
학습 비용-~$4.6M (추정)

핵심 기여: In-Context Learning (ICL)

GPT-3의 가장 중요한 발견은 In-Context Learning입니다. 모델의 가중치를 업데이트하지 않고, 프롬프트에 예시를 넣어 태스크를 수행합니다.
접근법설명파라미터 업데이트성능
Zero-shot예시 없이 태스크 설명만없음낮음~중간
One-shot1개 예시 제공없음중간
Few-shot수~수십 개 예시 제공없음높음
Fine-tuning태스크 데이터로 모델 학습있음최고
GPT-3의 Few-shot 성능은 일부 태스크에서 Fine-tuning한 BERT와 비슷하거나 우수했습니다. 이는 “규모가 곧 능력”이라는 스케일링 가설을 강력히 지지합니다.

GPT-3 모델 변형

모델파라미터레이어HiddenHead
GPT-3 Small125M1276812
GPT-3 Medium350M241,02416
GPT-3 Large760M241,53616
GPT-3 XL1.3B242,04824
GPT-3 2.7B2.7B322,56032
GPT-3 6.7B6.7B324,09632
GPT-3 13B13B405,14040
GPT-3 175B175B9612,28896

GPT-3.5 / ChatGPT (2022): 대화에 최적화

GPT-3.5는 GPT-3에 **RLHF(Reinforcement Learning from Human Feedback)**를 적용하여 대화에 최적화한 모델입니다.

학습 파이프라인

RLHF의 세 단계:
  1. SFT: 사람이 작성한 이상적인 대화 데이터로 GPT-3를 Fine-tuning
  2. Reward Model: 모델 응답들의 품질을 평가하는 보상 모델 학습
  3. PPO: 보상 모델의 피드백으로 정책(언어 모델)을 최적화

GPT-4 (2023): 멀티모달과 추론

GPT-4는 멀티모달(multimodal) 모델로, 텍스트와 이미지를 모두 입력으로 받을 수 있습니다.
항목GPT-3.5GPT-4
입력 모달리티텍스트텍스트 + 이미지
컨텍스트 길이4,096 / 16,3848,192 / 128,000
추론 능력중간높음 (수학, 코딩, 논리)
안전성기본향상 (더 정교한 RLHF)
Bar Exam하위 10%상위 10%
SAT Math590/800710/800
GPT-4의 세부 아키텍처는 공개되지 않았습니다. Mixture of Experts(MoE) 구조(8개 전문가, 각 ~220B 파라미터)를 사용한다는 비공식 보도가 있지만, OpenAI가 공식 확인하지는 않았습니다.

GPT 진화의 핵심 인사이트

세대핵심 교훈
GPT-1비지도 사전학습이 NLP 태스크 성능을 크게 향상시킨다
GPT-2충분히 큰 모델은 Fine-tuning 없이도 태스크를 수행할 수 있다
GPT-3스케일링이 In-Context Learning이라는 새로운 능력을 만들어낸다
GPT-3.5RLHF로 모델을 인간의 의도에 정렬(align)할 수 있다
GPT-4멀티모달 입력과 고도의 추론이 가능한 범용 AI에 근접한다

구현: HuggingFace로 GPT-2 사용

from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torch

# GPT-2 모델과 토크나이저 로드
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")
model.eval()

# 텍스트 생성
prompt = "Artificial intelligence will"
input_ids = tokenizer.encode(prompt, return_tensors="pt")

# 다양한 생성 전략
with torch.no_grad():
    # Greedy 생성
    greedy = model.generate(input_ids, max_new_tokens=50)
    print("Greedy:", tokenizer.decode(greedy[0], skip_special_tokens=True))

    # Top-k 샘플링
    top_k = model.generate(
        input_ids,
        max_new_tokens=50,
        do_sample=True,
        top_k=50,
        temperature=0.7,
    )
    print("Top-k:", tokenizer.decode(top_k[0], skip_special_tokens=True))

    # Nucleus (Top-p) 샘플링
    top_p = model.generate(
        input_ids,
        max_new_tokens=50,
        do_sample=True,
        top_p=0.9,
        temperature=0.7,
    )
    print("Top-p:", tokenizer.decode(top_p[0], skip_special_tokens=True))

관련 기술 비교

모델유형주요 강점약점
GPT디코더텍스트 생성, 대화, 범용양방향 이해 부족
BERT인코더텍스트 이해, 분류, 추출생성 불가
T5인코더-디코더생성 + 이해 모두효율성 (양쪽 모두 연산)
GPT는 Causal(자기회귀) Attention을 사용하여 좌에서 우로 순차적으로 토큰을 생성합니다. 이는 자연스러운 텍스트 생성 과정과 일치합니다. 반면 BERT의 양방향 Attention은 모든 위치를 동시에 참조하므로, 순차적 생성에는 부적합합니다. BERT로 생성을 시도하면 토큰 간 의존성이 깨집니다.
완전한 이해는 아직 연구 중이지만, 주요 가설은: 1) 대규모 사전학습 중 다양한 태스크 패턴이 암묵적으로 학습됨, 2) Transformer의 Attention 메커니즘이 프롬프트 내 예시에서 패턴을 추출할 수 있음, 3) 충분한 모델 크기에서 “메타 학습(learning to learn)” 능력이 창발함. 최근 연구에서는 Transformer가 내부적으로 경사 하강법과 유사한 연산을 수행한다는 분석도 있습니다.
OpenAI는 GPT-4 기술 보고서에서 “경쟁 환경과 안전 문제”를 이유로 아키텍처, 학습 데이터, 하드웨어 등의 세부 사항을 공개하지 않았습니다. 이는 GPT-1/2/3까지 논문을 공개하던 것과 대조적이며, AI 연구 커뮤니티에서 공개성(openness)에 대한 논쟁을 촉발했습니다.

참고 논문

논문저자연도핵심 기여
Improving Language Understanding by Generative Pre-Training (GPT-1)Radford et al.2018비지도 사전학습 + 지도 Fine-tuning
Language Models are Unsupervised Multitask Learners (GPT-2)Radford et al.2019Zero-shot, 스케일링
Language Models are Few-Shot Learners (GPT-3)Brown et al.2020In-Context Learning, 175B
Training language models to follow instructions with human feedbackOuyang et al.2022InstructGPT, RLHF
GPT-4 Technical ReportOpenAI2023멀티모달, 추론 능력