
LLM 완벽 가이드 시리즈 | [Part 2] LLM의 핵심 원리 - Transformer부터 RLHF까지
시리즈 목차:
-[Part 1] LLM의 역사와 진화 - 2017년부터 2026년까지의 여정
-[Part 2] LLM의 핵심 원리 - Transformer부터 RLHF까지
-[Part 3] 2026년 최신 트렌드 - Hugging Face 인기 모델과 실전 코드
Transformer는 인코더(Encoder)와 디코더(Decoder)로 구성됩니다.
입력 문장: "나는 사과를 좋아한다"
↓
Token 임베딩
↓
위치 인코딩 (순서 정보)
↓
Self-Attention (문맥 파악)
↓
Feed Forward Network
↓
출력: 문맥을 이해한 표현
프롬프트: "Python으로 피보나치"
↓
Token 임베딩
↓
Masked Self-Attention (이전 토큰만 참조)
↓
Feed Forward Network
↓
다음 토큰 예측: "수열을"
↓
반복 → "수열을 구현하는 코드는..."
문장 내 모든 단어가 서로를 "주목"합니다.
예시: "The cat sat on the mat"
# 'cat'이 다른 단어들과의 관계 파악
attention_scores = {
"The": 0.1,
"cat": 0.4, # 자기 자신에 높은 점수
"sat": 0.3, # 동사와 강한 연결
"on": 0.05,
"the": 0.05,
"mat": 0.1
}
대규모 텍스트로 언어의 패턴을 학습합니다.
학습 목표:
# GPT 스타일 학습
문장: "인공지능은 미래의 ___"
목표: "핵심" 예측
# BERT 스타일 학습
문장: "인공지능은 [MASK]의 핵심"
목표: "미래" 예측
특정 작업에 맞게 추가 학습합니다.
from transformers import AutoModelForSequenceClassification
# 사전 학습된 모델 로드
model = AutoModelForSequenceClassification.from_pretrained(
"bert-base-uncased",
num_labels=2 # 긍정/부정 분류
)
# 감성 분석 데이터로 파인튜닝
train_data = [
("이 영화 정말 좋아요!", 1), # 긍정
("너무 지루했어요", 0), # 부정
]
# ... 학습 코드 ...
인간 피드백으로 모델을 개선합니다.
1단계: 여러 응답 생성
프롬프트: "Python 학습 방법은?"
→ 응답 A, B, C, D 생성
2단계: 인간 평가
평가자: "응답 B가 가장 도움됨"
3단계: 보상 모델 학습
B > A > D > C 순서 학습
4단계: 강화학습
더 나은 응답을 생성하도록 모델 최적화
효과적인 프롬프트 작성법:
# ❌ 나쁜 예
"코드 작성해줘"
# ✅ 좋은 예
"""
Python으로 다음 요구사항을 만족하는 코드를 작성해주세요:
- 기능: CSV 파일 읽기 및 데이터 분석
- 입력: pandas DataFrame
- 출력: 기술 통계량 (평균, 중앙값, 표준편차)
- 스타일: 주석 포함, PEP8 준수
"""
텍스트를 모델이 이해할 수 있는 토큰으로 변환합니다.
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("gpt2")
text = "안녕하세요! LLM을 배워봅시다."
tokens = tokenizer.tokenize(text)
print(tokens)
# ['안', '녕', '하', '세', '요', '!', 'LLM', '을', ...]
ids = tokenizer.encode(text)
print(ids)
# [1234, 5678, 9012, ...]
토큰을 고차원 벡터로 변환합니다.
# 각 토큰이 768차원 벡터로 표현됨 (BERT base)
"안녕" → [0.23, -0.45, 0.67, ..., 0.12] # 768개 숫자
단어의 순서 정보를 추가합니다.
# "I love AI"와 "AI love I"를 구분
position_1 = sin(1/10000^(0/768))
position_2 = sin(2/10000^(0/768))
# ...
1. 데이터 수집
↓
2. 전처리 (클리닝, 토큰화)
↓
3. 사전 학습 (수백억~수조 토큰)
- 비용: 수백만~수천만 달러
- 시간: 수주~수개월
↓
4. 파인튜닝 (특정 작업)
↓
5. RLHF (인간 피드백)
↓
6. 평가 및 배포
지금까지 LLM의 핵심 원리에 대해서 알아보았습니다. 질문이나 피드백이 있으시다면 댓글 부탁드립니다 !