Ch6. 머신러닝 기초 — 최신 트렌드와 LLM 기초
왜 트랜스포머가 등장했는가
딥러닝 초기에는 순차 데이터(텍스트, 음성)를 처리하기 위해 **RNN(Recurrent Neural Network)**이 주류였습니다. RNN은 이전 시점의 상태를 다음 시점으로 전달하는 구조로 동작하지만, 여러 근본적 한계를 가집니다.
RNN의 한계:
1. 장기 의존성(Long-term Dependency) 문제
"나는 [20개 단어] 때문에 기쁘다"
→ 앞의 주어 "나는"과 뒤의 "기쁘다" 연결이 어려움
→ 먼 위치의 정보는 학습 과정에서 점차 희석
2. 순차 처리 → 병렬화 불가
→ GPU 활용 어려움, 학습 느림
3. 기울기 소실·폭발
→ LSTM, GRU로 일부 완화했지만 근본적 해결 아님
2017년 Google이 발표한 논문 “Attention Is All You Need”에서 **트랜스포머(Transformer)**가 등장하며 이 모든 한계를 혁신적으로 해결했습니다.
어텐션 메커니즘 직관
어텐션(Attention)의 핵심 아이디어는 **“현재 처리 중인 단어와 가장 관련 높은 다른 단어에 더 많이 집중하라”**는 것입니다.
직관적 비유
번역 예시:
"나는 오늘 학교에 갔다" → "I went to school today"
"went"를 생성할 때:
→ "갔다"에 높은 어텐션 가중치 (직접 대응)
→ "오늘"에 낮은 어텐션 가중치 (약간 관련)
→ "나는", "학교에"에 매우 낮은 어텐션 (거의 무관)
단순히 순서대로 처리하는 것이 아니라,
필요한 정보를 능동적으로 "찾아서" 활용
Scaled Dot-Product Attention
어텐션 계산 과정:
각 단어를 3개의 벡터로 변환:
Query(Q): "나는 무엇을 찾고 있는가?"
Key(K): "나는 어떤 정보를 가지고 있는가?"
Value(V): "실제로 전달할 정보"
어텐션 점수 계산:
score = Q × Kᵀ / √dₖ (스케일링으로 기울기 안정화)
어텐션 가중치:
weight = softmax(score) (확률 분포로 변환)
최종 어텐션 출력:
output = weight × V
→ 어텐션이 높은(관련 있는) Value를 더 많이 가져옴
멀티헤드 어텐션 (Multi-Head Attention)
단일 어텐션: 한 가지 관점에서 관계 파악
멀티헤드 어텐션: 여러 관점(head)에서 동시에 관계 파악
Head 1: 문법적 관계 ("주어-동사 연결")
Head 2: 의미적 관계 ("고양이와 동물의 연관")
Head 3: 지시적 관계 ("그것이 무엇을 가리키는가")
...
→ 여러 head의 결과를 concatenate + 선형 변환
→ 더 풍부한 문맥 정보 포착
트랜스포머 구조 (Encoder-Decoder)
트랜스포머는 **인코더(Encoder)**와 디코더(Decoder) 두 부분으로 구성됩니다.
트랜스포머 전체 구조:
입력 시퀀스 출력 시퀀스
↓ ↑
[Positional Encoding] [Positional Encoding]
↓ ↑
┌─────────────────┐ ┌─────────────────────┐
│ 인코더 ×N │ │ 디코더 ×N │
│ │ │ │
│ MultiHead │ → │ Masked MultiHead │
│ Attention │ │ Attention │
│ ↓ │ │ ↓ │
│ Add & Norm │ │ Cross Attention │
│ ↓ │ │ (인코더 출력 사용) │
│ Feed Forward │ │ ↓ │
│ ↓ │ │ Feed Forward │
│ Add & Norm │ │ ↓ │
└─────────────────┘ └─────────────────────┘
↓
Linear + Softmax
(다음 토큰 예측)
위치 인코딩 (Positional Encoding)
어텐션은 순서를 무시하는 구조
→ "나는 학교에 갔다"와 "갔다 학교에 나는"이 동일하게 처리됨
해결책: 위치 인코딩을 입력 임베딩에 더함
→ 각 위치마다 고유한 사인/코사인 파형 벡터 추가
→ 모델이 단어의 위치 정보를 인식 가능
PE(pos, 2i) = sin(pos / 10000^(2i/dmodel))
PE(pos, 2i+1) = cos(pos / 10000^(2i/dmodel))
BERT vs GPT — 어떻게 다른가
트랜스포머를 기반으로 한 두 가지 핵심 사전훈련 모델입니다.
BERT (Bidirectional Encoder Representations from Transformers)
개발사: Google (2018)
구조: 트랜스포머 인코더만 사용
핵심 학습 방식:
1. 마스크 언어 모델(MLM):
"나는 [MASK] 학교에 갔다" → [MASK] = "오늘" 예측
→ 문장의 양방향(좌우 모두) 문맥 학습
2. 다음 문장 예측(NSP):
문장 A, 문장 B가 실제로 이어지는지 예측
특징:
→ 문장의 의미를 풍부하게 이해 (양방향)
→ 텍스트 분류, NER, 질문응답에 강함
→ 생성(텍스트 생성)에는 적합하지 않음
GPT (Generative Pre-trained Transformer)
개발사: OpenAI (2018~현재: GPT-1, 2, 3, 4, o1, o3 등)
구조: 트랜스포머 디코더만 사용
핵심 학습 방식:
언어 모델(LM): 이전 토큰들로 다음 토큰 예측 (단방향, 왼쪽→오른쪽)
"나는 오늘" → "학교에" → "갔다" 순차 예측
특징:
→ 자연스러운 텍스트 생성에 탁월
→ 텍스트 완성, 대화, 창작, 코드 생성
→ Few-shot / Zero-shot 학습 능력 (GPT-3 이후 급발전)
| 비교 항목 | BERT | GPT |
|---|---|---|
| 구조 | 인코더 | 디코더 |
| 어텐션 방향 | 양방향 | 단방향 (좌→우) |
| 강점 | 이해(분류·추출) | 생성(텍스트 생성) |
| 대표 활용 | 감성분석, NER | ChatGPT, 코파일럿 |
LLM 활용 방법
프롬프트 엔지니어링 (Prompt Engineering)
LLM에게 작업 지시 방식을 최적화하는 기술
Zero-shot:
"이 리뷰의 감성을 분류하라: '배송이 너무 느렸다'"
→ 예시 없이 바로 지시
Few-shot:
"예시:
'음식이 맛있었다' → 긍정
'서비스가 불친절했다' → 부정
이 리뷰: '배송이 너무 느렸다' → ?"
→ 2~10개 예시 포함
Chain-of-Thought (CoT):
"단계별로 생각해서 답하라:
1. 핵심 감정 단어 파악
2. 문맥 고려
3. 최종 분류"
→ 복잡한 추론이 필요한 작업에 효과적
RAG (Retrieval-Augmented Generation)
LLM의 한계: 훈련 데이터 이후의 정보 모름 (Knowledge Cutoff)
특정 도메인 지식 부족 (사내 문서, 전문 자료)
할루시네이션 (없는 사실 생성)
RAG 해결책:
1. 외부 지식 베이스 구축 (벡터 DB에 문서 저장)
2. 사용자 질의에 관련 문서 검색 (유사도 검색)
3. LLM에 질의 + 검색된 문서를 함께 제공
4. LLM이 근거 문서를 바탕으로 답변 생성
장점:
→ 최신 정보 반영 가능
→ 환각(Hallucination) 감소
→ 출처 명시 가능
파인튜닝 (Fine-tuning)
사전훈련(Pre-training):
→ 수천억 개의 파라미터, 대규모 일반 텍스트로 학습
→ 일반적 언어 이해·생성 능력 획득
파인튜닝(Fine-tuning):
→ 특정 도메인·과제 데이터로 추가 학습
→ 사전훈련 가중치를 시작점으로 수백~수천 샘플로 조정
Full Fine-tuning:
→ 모든 파라미터 업데이트
→ 컴퓨팅 비용 매우 높음
PEFT (Parameter-Efficient Fine-Tuning):
→ 일부 파라미터만 업데이트
→ LoRA: 낮은 랭크 행렬만 학습 → 파라미터의 0.1%로 유사 성능
→ 적은 GPU로도 가능
# Hugging Face로 BERT 파인튜닝 예시 (개념적 코드)
from transformers import BertForSequenceClassification, Trainer, TrainingArguments
model = BertForSequenceClassification.from_pretrained(
'klue/bert-base', # 한국어 BERT
num_labels=2 # 이진 분류
)
training_args = TrainingArguments(
output_dir='./results',
num_train_epochs=3,
per_device_train_batch_size=16,
learning_rate=2e-5, # LLM 파인튜닝은 작은 학습률
evaluation_strategy='epoch',
save_strategy='epoch',
load_best_model_at_end=True
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=train_dataset,
eval_dataset=eval_dataset
)
trainer.train()
AI 윤리와 할루시네이션
할루시네이션 (Hallucination)
LLM이 사실이 아닌 내용을 마치 사실인 것처럼 자신 있게 생성하는 현상
예시:
Q: "2024년 노벨 물리학상 수상자는?"
A (잘못된 LLM): "Dr. James Smith가 양자얽힘 연구로 수상했습니다."
→ 완전히 없는 사람과 사실을 만들어냄
원인:
→ 언어 모델은 "다음에 올 가능성이 높은 토큰"을 예측
→ 사실 여부가 아닌 통계적 패턴으로 생성
→ 훈련 데이터에 없는 정보는 근거 없이 추측
완화 방법:
→ RAG: 신뢰할 수 있는 문서 기반 답변
→ 온도(Temperature) 낮추기: 생성 다양성 감소 → 더 보수적
→ 답변 근거 요구: "출처를 명시하라"
→ 사실 확인 모델 추가 (검증 레이어)
AI 윤리 핵심 원칙
공정성 (Fairness):
→ 훈련 데이터의 편향 → 모델 출력의 편향
→ 예: 특정 성별·인종에 불리한 채용 모델
→ 해결: 다양한 데이터, 공정성 지표 모니터링
투명성 (Transparency):
→ 블랙박스 모델의 결정 근거 설명 불가
→ XAI(설명 가능한 AI): SHAP, LIME 활용
→ EU AI Act: 고위험 AI는 설명 의무화
프라이버시 (Privacy):
→ LLM이 훈련 데이터(개인정보 포함)를 기억할 수 있음
→ 차등 프라이버시(Differential Privacy) 기법
안전성 (Safety):
→ 유해 콘텐츠 생성 방지: RLHF, 안전 필터
→ 적대적 공격(Jailbreaking) 방어
머신러닝 커리어 로드맵
직군별 역할
데이터 사이언티스트:
→ 비즈니스 문제 → ML 문제 변환
→ EDA, 모델링, 인사이트 도출
→ 필요 스킬: Python, SQL, 통계, scikit-learn
ML 엔지니어:
→ 모델 프로덕션화, MLOps
→ 스케일링, 파이프라인 자동화
→ 필요 스킬: Python, Docker, Kubernetes, MLflow
딥러닝 연구원:
→ 새로운 아키텍처·알고리즘 연구
→ 논문 구현·실험
→ 필요 스킬: 수학(선형대수·미적분), PyTorch, 논문 독해
AI 프로덕트 매니저:
→ AI 제품 기획·로드맵
→ 기술과 비즈니스 연결
→ 필요 스킬: ML 이해, 데이터 해석, 커뮤니케이션
단계별 학습 경로
[입문 6개월]
Python 기초 → NumPy/Pandas → 통계 기초
→ scikit-learn → Kaggle 입문 대회 참여
[기초 6개월]
머신러닝 이론 (Ch1~5) → 프로젝트 1~2개
→ TensorFlow/PyTorch 기초 → CNN 실습
[중급 1년]
NLP (Ch4) → 트랜스포머 이해 → BERT 파인튜닝
→ MLOps 기초 (Docker, FastAPI, MLflow)
→ 캐글 실버~골드 메달 도전
[고급]
LLM 응용 (RAG, Fine-tuning) → 논문 구현
→ 오픈소스 기여 → 포트폴리오 구축
→ 취업·이직
핵심 학습 자료
온라인 강의:
- Andrew Ng의 Machine Learning Specialization (Coursera)
- fast.ai Practical Deep Learning
- Hugging Face NLP Course (무료)
실습 플랫폼:
- Kaggle (대회 + 데이터셋 + 노트북)
- Google Colab (무료 GPU)
- Hugging Face (사전훈련 모델 허브)
논문 읽기 시작점:
- Attention Is All You Need (Transformer)
- BERT: Pre-training of Deep Bidirectional Transformers
- Language Models are Few-Shot Learners (GPT-3)
핵심 개념 카드
어텐션 메커니즘 직관 ★★★★★ : Q·K로 관련도 점수 계산 → softmax → V 가중합. “어떤 단어에 얼마나 집중할지” 동적으로 결정. 암기 포인트: Q=질문, K=키워드, V=실제 정보. QK→가중치, 가중치×V→출력
트랜스포머 인코더 vs 디코더 ★★★★★ : 인코더=양방향 어텐션, 이해에 강함(BERT). 디코더=단방향 어텐션, 생성에 강함(GPT). 암기 포인트: BERT=이해(분류), GPT=생성(텍스트 완성)
RAG의 목적 ★★★★☆ : LLM의 지식 단절(Cutoff)·할루시네이션 문제를 외부 문서 검색으로 보완. 검색 + 생성의 결합. 암기 포인트: 인터넷 검색 + LLM 생성 = RAG의 직관
할루시네이션 원인 ★★★★☆ : LLM은 사실이 아닌 통계적으로 그럴싸한 토큰을 예측. 훈련 데이터 외 정보는 근거 없이 추측. 암기 포인트: LLM은 “맞는 말”이 아닌 “그럴듯한 말”을 생성
파인튜닝 vs 프롬프트 엔지니어링 ★★★☆☆ : 파인튜닝=데이터로 모델 가중치 직접 수정(높은 비용·높은 성능), 프롬프트=가중치 변경 없이 지시 최적화(빠르고 저렴). 선택 기준: 소규모 특수 도메인=파인튜닝, 일반 과제=프롬프트 엔지니어링 먼저 시도
실전 퀴즈
Q1. 트랜스포머가 RNN의 한계를 어떻게 해결했는가?
RNN은 순차 처리로 인해 병렬화 불가와 장기 의존성 손실 문제가 있었습니다. 트랜스포머는 어텐션 메커니즘을 통해 시퀀스 내 모든 위치 간의 관계를 한 번에(병렬로) 계산합니다. 거리에 관계없이 필요한 정보를 직접 참조할 수 있어 장기 의존성 문제가 해결되고, 행렬 연산으로 GPU 병렬 처리가 가능해져 학습 속도도 대폭 향상되었습니다.
Q2. BERT와 GPT의 핵심 차이는 무엇이며, 각각 어떤 작업에 적합한가?
BERT는 트랜스포머 인코더를 사용하며 마스크 언어 모델링으로 양방향 문맥을 학습합니다. 텍스트를 이해하는 작업(감성분석, 개체명 인식, 질문응답)에 탁월합니다. GPT는 트랜스포머 디코더를 사용하며 단방향(좌→우) 언어 모델링으로 학습합니다. 이전 토큰으로 다음 토큰을 예측하는 구조상 텍스트 생성(대화, 창작, 코드 생성)에 강점이 있습니다.
Q3. RAG(Retrieval-Augmented Generation)가 필요한 이유와 동작 방식을 설명하라.
LLM은 훈련 데이터의 지식 단절(Knowledge Cutoff) 이후 정보를 모르고, 특정 도메인(사내 문서 등) 전문 지식이 부족하며, 없는 사실을 만들어내는 할루시네이션 문제가 있습니다. RAG는 사용자 질의가 들어오면 ① 외부 벡터 DB에서 관련 문서를 검색하고 ② 해당 문서와 질의를 LLM에 함께 제공하여 ③ LLM이 검색된 근거를 바탕으로 답변을 생성합니다. 이를 통해 최신 정보 반영과 할루시네이션 감소가 가능합니다.
Q4. LLM 파인튜닝에서 LoRA가 주목받는 이유는?
Full Fine-tuning은 수십억 개의 파라미터를 모두 업데이트해야 하여 고성능 GPU 여러 대가 필요하고 비용이 막대합니다. LoRA(Low-Rank Adaptation)는 원본 가중치 행렬을 동결하고 낮은 랭크의 두 작은 행렬만 학습합니다. 전체 파라미터의 0.1~1%만 업데이트하면서도 Full Fine-tuning에 준하는 성능을 달성할 수 있어, 단일 소비자급 GPU로도 대형 모델을 파인튜닝할 수 있게 됩니다.
Q5. 머신러닝 실무자로서 AI 윤리를 고려해야 하는 구체적인 이유를 두 가지 사례로 들어라.
첫째, 편향(Bias) 문제: 채용 모델을 특정 기업의 역사적 채용 데이터(남성 우세)로 학습하면 여성 지원자를 체계적으로 불이익을 주는 모델이 만들어집니다(Amazon의 실제 사례). 이는 법적 문제와 사회적 불평등을 야기합니다. 둘째, 프라이버시 침해: 의료 AI 모델에 익명화 처리가 불충분한 환자 데이터를 사용하면 개인정보 유출 위험이 있습니다. GDPR·HIPAA 같은 규정 위반으로 법적 책임이 발생하며, 특히 한국의 개인정보보호법에 따라 민감정보 처리에는 엄격한 동의 절차가 필요합니다.
OIYO 편집부
Content Editor지식 인큐베이터이자 전문 콘텐츠 크리에이터. 경영, 경제, 법률 및 실생활에 유용한 실무/자격증 중심의 깊이 있는 정보를 연구하고 공유합니다.