인공지능

Post Transformer(feat. GPT, BERT)

원담 2025. 5. 27. 18:56
728x90

왜 Pre-trained models가 등장했을까?

이전에는 NLP 모델을 각 작업마다 처음부터 학습해야 했습니다. 데이터도 많이 필요하고 시간도 오래 걸리고, 일반화가 잘 안되었다.

문제점 

  • 태스크마다 모델을 새로 학습해야 함
  • 데이터 부족 문제
  • 모델이 문법, 어휘 등 기본 언어 능력을 갖추지 못함

그래서 등장한 것이 바로 Pre-trained Language Model (사전학습 언어모델)입니다. 이 모델은 언어의 공통된 지식을 먼저 익힌 후, 다양한 태스크에 쉽게 적용할 수 있게 해줍니다.

Pre-trained models란?

Pre-trained models는 말 그대로 "미리 학습된 모델"입니다. 이 모델들은 아래 두 단계를 거칩니다:

  1. Pre-training (언어의 일반 능력을 학습 / 사전학습)
    • 아주 방대한 데이터(위키피디아, 웹 문서 등)를 기반으로 일반적인 언어 패턴을 먼저 학습
    • 주로 self-supervised learning 방식 사용한다. 예를들면 문장에서 일부 단어를 가려놓고 맞추게 함 (BERT), 다음 단어를 예측하게 함 (GPT)
  2. Fine-tuning (미세 조정)
    • 이후 특정 과제(질의응답, 번역, 감정분석 등)에 맞춰 소량의 데이터로 다시 학습

대표 모델들

  • BERT (2018, 이해에 특화된 파인 튜닝): 문맥을 양방향으로 이해하는 대표 모델
    • 대규모 코퍼스에서 masked language modeling 방식으로 사전학습
    • Encoder-only 로서 문장을 이해하는데 집중한다
  • GPT (2018~, 생성에 특화된 파인튜닝 혹은 Instruct-tuning): 다음 단어를 예측하는 생성 기반 모델
    • 대규모 텍스트에서 다음 단어 예측(next token prediction) 방식으로 사전학습
    • Decoder-only 로서 문장을 생성하는데 집중한다
  • T5, Megatron, GPT-3 등: 점점 더 커지고 강력해진 모델들
구분
설명
Pre-trained model 대규모 텍스트로 일반 언어 패턴을 먼저 학습한 모델
왜 필요했나? 각 태스크마다 처음부터 학습하기 어려워서, 언어의 기본기를 갖춘 모델 필요
어떻게 학습? Self-supervised 방식으로 먼저 pre-training → 이후 fine-tuning
무엇이 달라졌나? 소량 데이터로도 좋은 성능, 다양한 작업에 쉽게 적용 가능
항목 BERT  GPT
구조 Encoder-only 구조 (양방향 Transformer Encoder) Decoder-only 구조 (Transformer Decoder stack)
방향성 Bidirectional (앞/뒤 단어 모두 고려) Unidirectional (왼쪽→오른쪽, 과거 단어만 사용)
학습 방식 Masked Language Modeling (MLM) Causal Language Modeling (CLM)
마스킹 방식 입력 문장에서 일부 단어를 마스킹 → 해당 위치 예측 다음 단어를 하나씩 예측 (자연스러운 문장 생성 훈련)
목적 문장 이해 (classification, Q/A 등) 문장 생성 (chat, 번역, 스토리 생성 등)
대표 사용처 문장 분류, 질의응답, 감정분석 등 이해 중심 텍스트 생성, 요약, 번역 등 생성 중심
대표 모델 BERT, RoBERTa, ALBERT 등 GPT-1, GPT-2, GPT-3, GPT-4 등

BERT, GPT로 NLP 혁명이 시작된 이후, 더 높은 성능, 더 긴 문맥, 더 적은 계산으로 더 똑똑한 모델을 만들기 위해 구조를 개선한 다양한 모델들이 등장했다. 아래 모델들은 대부분 Pre-trained LM 기반이고 LLM(대규모 언어모델) 로 확장되는 중간 단계 또는 진화형이라고 볼 수 있다.

Language Model 구조 개선


모델
연도 핵심 개선점설명
Transformer-XL 2019 장기 의존성 학습 긴 문장에서도 정보가 끊기지 않게 기억 (segment reuse, recurrence)
XLNet 2019 BERT보다 우수한 학습 방식 BERT보다 문맥 정보 더 풍부하게 사용 + Transformer-XL 기반
RoBERTa 2019 BERT 학습 전략 개선 BERT 구조는 그대로, 학습 방식만 개선해서 성능 향상
ALBERT 2020 파라미터 공유로 효율화 더 적은 파라미터로 BERT 성능 유지, 연산량↓
Longformer 2020 긴 문서 처리 효율 향상 Local+global attention 방식 도입 → 긴 문서에서도 계산 효율 보장
발전 흐름 요약
  1. 2018~2020: BERT, GPT 계열 모델의 등장 → 성능은 뛰어나나 계산량, 메모리, 문맥 제한 등의 구조적 한계 존재
  2. 2019 이후: 각종 구조 개선 모델들이 등장하면서 해당 한계를 하나씩 극복
    • 문맥 처리 → Transformer-XL, Longformer
    • 학습 효율 → RoBERTa, ALBERT
    • 생성 및 이해 능력 강화 → XLNet
  3. 결과적으로: 다양한 Downstream task (질의응답, 요약, 생성 등)에 적합한 전문화된 모델 구조 등장

Transformer 구조 이후 언어모델(특히 LLM)들이 성능을 더욱 향상시키기 위해 사용한 학습 기술

단순히 모델 구조만 바꾸는 것으로는 부족하다. 이제는 학습 방식(learning technique) 자체를 고도화해서 성능, 효율성, 일반화 능력까지 모두 끌어올리기 위한 노력들이 있었다. 즉, Post-Transformer 시대의 특징은 더 큰 모델 + 더 똑똑한 학습 전략을 선택하였다.

Transfer Learning

  • 핵심: A작업에서 학습된 지식을 → B작업에 활용
  • Pre-training on A → Fine-tuning on B (예: GPT가 웹에서 학습 후, 법률 문서 분류에 활용)
  • 대부분의 Pre-trained LM이 이 방식을 따름

Zero-shot & Few-shot Learning

  • Pre-trained 모델이 예제 없이(Zero) 또는 몇 개 예제만 보고(Few-shot) → 새로운 작업을 수행할 수 있는 능력
  • GPT-3 이후 LLM 시대의 핵심 기술 (예: 예시 없이 “이 문장 번역해줘” → 바로 번역 가능)

Knowledge Distillation

  • 큰 모델의 지식을 작은 모델로 압축해 전달 → 속도 빠르고 가벼운 모델 생성 (예: TinyBERT, DistilBERT)
  • Teacher model → Student model → 모바일, 엣지 디바이스에서도 성능 유지 가능

Multi-task Learning

  • 여러 작업을 동시에 학습시켜 모델의 일반화 능력 향상
  • 예: 번역 + 요약 + 감정 분석을 한 모델에서 동시에 학습
  • 코드 완성, 추천 등 복합 작업에 특히 유용

Hierarchical Attention

  • 문장 구조를 고려한 다단계적으로 중요도 파악 → 핵심 정보에 더 집중
    예: 논문 요약할 때 중요한 문단/문장/단어에 단계적으로 집중

Human Feedback 기반의 Reinforcement Learning

  • 사람이 판단한 좋은 응답을 보상으로 사용 → 성능 개선
  • 예: ChatGPT의 학습법 → 생성된 문장 중 사람이 “이게 더 좋다”고 평가한 것을 보상으로 삼아 학습

Language Model의 4세대 진화 흐름

1세대: Statistical LM (1990s) 대표 기술: n-gram 모델, 확률 기반 방법

특징 설명
단어 시퀀스의 확률을 기반으로 예측 "I want to eat" 다음에 "pizza"가 올 확률 계산
통계 기반 특정 단어 조합만 기억, 문맥 이해는 약함
규칙 기반 NLP 토큰화, 품사 태깅 등 수작업 많음
 "Specific task helper": 특정한 NLP 작업만 도와주는 수준

2세대: Neural LM (2013경) 대표 기술: Word2Vec, GloVe, NPLM

특징 설명
단어를 벡터로 표현 (word embeddings) 고정된 의미 벡터: "king - man + woman ≈ queen"
문맥은 반영 못함 "bank"가 강인지, 은행인지 구분 못함
신경망 기반 등장 통계에서 딥러닝 기반으로 전환 시작

"Task-agnostic feature learner": 다양한 작업에 재활용 가능한 정적 특성(feature) 생성

구분  n-gram 모델  Word2Vec
방식 통계적 확률 계산 신경망 기반 예측
벡터 없음 (숫자만) 단어 임베딩 벡터 생성
문맥 반영 안됨 (고정된 범위) 간접 반영 (로컬 윈도우 내에서만)
학습 대상 단어 조합의 확률 단어 간 의미 관계 (벡터로)

3세대: Pre-trained LM (2018~) 대표 기술: ELMo, BERT, GPT-1/2

특징 설명
문맥에 따라 단어 의미 달라짐 "bank" in "river bank" vs "bank account" 구분 가능
사전학습 + 파인튜닝 구조 먼저 일반 언어 능력을 학습 → 그다음 작업에 맞게 조정
대표 모델 BERT (MLM), GPT-2 (CLM)

"Transferable task solver": 다양한 NLP 태스크에 전이 학습(Transfer learning) 가능

예시) 1. He sat by the river bank. 2. I need to go to the bank to withdraw money.
  • Statistical LM / Word2Vec:
    → 두 문장에서 "bank"는 항상 같은 벡터
  • Pre-trained LM (BERT 등):
    → "bank"는 문맥에 따라 다른 벡터로 표현됨
    • Transformer 구조가 전체 문장을 한 번에 보고→ 각각의 단어를 문맥에 따라 인코딩하기 때문이다(문맥 기반 임베딩(contextual embedding))

4세대: LLM (Large Language Models) (2020~현재) 대표 기술: GPT-3/4, ChatGPT, Claude

특징 설명
파라미터 수 수십억~수천억 GPT-3: 175B, GPT-4는 수백B 이상
Few-shot, Zero-shot 능력 탑재 별도 학습 없이 프롬프트로 다양한 작업 수행
멀티모달, 실세계 응용 가능 텍스트, 코드, 이미지, 음성까지 다룸

"General-purpose task solver":실제 현실 문제까지 해결할 수 있는 범용 지능형 모델로 발전

4세대 Language Models

GPT-3 (2020)의 핵심 발견: In-context Learning

모델을 따로 재학습(fine-tuning)하지 않고, 단지 프롬프트에 예시 몇 개만 주면 새로운 작업도 수행 가능하다는 사실 발견!

In-context learning (GPT-3 방식)

종류
설명 예시 Gradient update
Zero-shot 예시 없이, 지시어만 보고 수행 “이 문장을 요약해줘” 학습없이 즉석 대응
One-shot 예시 1개 제공 “예: A → B / 이건? C → ?” 학습없이 즉석 대응
Few-shot 예시 여러 개 제공 번역 예시 3~5개 주고 새 문장 번역 학습없이 즉석 대응
➡ GPT-3는 175B 파라미터로 인해 이 능력이 강력히 발휘됨
  • 파라미터 수가 클수록 Few-shot 성능 급상승
  • 별도 학습 없이도 다양한 태스크 수행 가능
  • 모델이 기억하거나 수정되는 게 아님, 단지 "입력(프롬프트)을 문맥처럼 해석해서 바로 답을 생성"

Fine-tuning 방식 (GPT-3에서 사용 안 함) 에서는?

방식 
설명  특징
Supervised learning 예제와 정답을 수천 개 학습 ✅ Gradient update 필요
→ 파라미터가 계속 수정됨 학습 반복 시간, 비용, 연산 많이 듦

Chain-of-Thought Prompting (2022)

모델에게 단순히 정답만 요구하지 않고, 추론 과정을 프롬프트에 함께 작성하면 모델이 훨씬 정확히 응답함

방식
설명
Standard prompting “Q: ... A: [정답]”
Chain-of-thought prompting “Q: ... A: [생각을 적어가며 정답 도출]”
 
➡ 복잡한 수학, 논리 추론, 상식 문제 해결에서 탁월한 효과

Instruction Tuning (InstructGPT, 2022)

사람이 주는 지시문(instruction)을 모델이 잘 이해하고 따르도록 다양한 지시-응답 데이터를 가지고 모델 전체를 fine-tuning 하는 방법이다. 단순한 텍스트 생성 능력을 넘어서 "사람의 지시를 정확히 따르는 능력"을 키우기 위한 학습 방식이다. 기존 GPT는 텍스트 생성은 잘하지만 "이 문장 요약해줘" 같은 자연어 지시어를 잘 못 따라가기 때문에,  “지시(instruction)를 잘 따르는 능력”을 학습시키려고 나온 방식 (대표: InstructGPT → ChatGPT)

  1. 사람이 직접 “좋은 응답” 예시 데이터 작성 (Supervised Fine-tuning)
  2. 여러 모델의 응답을 비교하고 순위 매김 (Reward Model 학습)
  3. 좋은 응답을 하도록 보상 주며 강화학습 (RLHF: PPO 방식)

➡ 이를 통해 GPT-3 → InstructGPT → ChatGPT로 발전
➡ 대화형 AI에서 지시 이해, 문체 조정 등 가능

Instruction Tuning은 좋지만 모델이 너무 크면 훈련 비용, GPU 메모리, 시간 너무 크고 여러 태스크마다 튜닝해야 하면 매번 전체 fine-tuning은 부담이였다. 그래서 나온 해결책이 “조금만 튜닝하자”는 전략 = PEFT 이다.

Beyond ChatGPT: PEFT, 경량화, 효율적 미세조정

  • Instruction tuning은 비용, 데이터, 시간이 많이 듦
  • 수백억 파라미터 모델 전체를 fine-tuning 하는 건 비효율

해결책

기술
설명
PEFT (Parameter-Efficient Fine-Tuning) 전체 파라미터가 아닌 일부만 학습
LoRA, Prefix-tuning, Adapter 등 적은 연산, 적은 데이터로도 튜닝 가능
항목  Instruction Tuning  PEFT
목적 지시어 따르게 훈련 파인튜닝을 더 효율적으로
훈련 범위 모델 전체 일부 파라미터만
비용 높음 (시간·메모리↑) 낮음 (빠르고 가벼움)
특징 자연어 지시 대응 능력 향상 경량화, 태스크별 튜닝 적합
대표 기술 InstructGPT, FLAN, T0 LoRA, Adapter, Prefix-Tuning
항목  기존 Fine-tuning  PEFT (Parameter-Efficient Fine-Tuning)
대상 모델 전체 파라미터를 업데이트 일부만 업데이트 (보통 0.1~5%)
연산량 많음 (메모리·시간↑) 적음 (GPU 부담↓, 빠름)
저장공간 파인튜닝 모델을 전부 저장해야 함 작은 추가 파라미터(Delta)만 저장
사용 목적 성능 극대화 성능은 비슷하게 유지하면서 효율 개선
사용 예 InstructGPT, FLAN, 일반 fine-tuning LoRA, Adapter, Prefix-tuning 등
728x90