경영자를 위한 AI 딥러닝
2026년 10월 7일 · 6주차 · NLP·트랜스포머·LLM

글을 숫자로 바꿔 이해하는 법: NLP에서 트랜스포머와 LLM까지

오늘은 컴퓨터가 글을 이해하는 과정을 처음부터 끝까지 따라가요. 글을 토큰으로 자르고, 뜻을 담은 벡터로 바꾸고, RNN·LSTM으로 순서를 기억하는 방법을 배워요. 이어서 트랜스포머의 핵심인 쿼리·키·밸류 어텐션과 ChatGPT가 만들어진 과정, 그리고 CoT·MoE·RAG·멀티모달·에이전트 같은 요즘 LLM 기술까지 살펴봐요.

보충 표시는 교수님 자료와 필기에 없는데 이해를 위해 더한 내용이에요.

1부 글 → 숫자 토큰 · 임베딩 2부 순서 기억 RNN · LSTM 3부 트랜스포머 Q · K · V 어텐션 4부 트랜스포머 가족 BERT · GPT · RAG 5부 요즘 LLM CoT · MoE · 에이전트 글을 숫자로 바꾸고 → 순서와 문맥을 계산하고 → 답을 만들어요 핵심 질문: 컴퓨터는 어떻게 문장의 "뜻"을 계산할까?
오늘 수업 한눈에 보기

용어 사전

이 노트에 나오는 줄임말이에요. 처음 보면 이 표로 돌아와서 확인하세요.

용어뜻
NLP
Natural 자연 + Language 언어 + Processing 처리
사람의 말과 글을 컴퓨터가 다루게 하는 기술
BPE
Byte-Pair 글자 쌍 + Encoding 합치기
자주 붙어 나오는 조각을 합쳐 토큰을 만드는 방법
RNN
Recurrent 되돌아오는 + Neural 신경 + Network 망
앞 내용을 상태로 넘기며 순서대로 읽는 신경망
LSTM
Long 긴 + Short-Term 짧은 + Memory 기억
문으로 잊을 것과 기억할 것을 조절하는 RNN
Q · K · V
Query 질문 · Key 열쇠 · Value 내용
어텐션이 정보를 찾을 때 쓰는 세 벡터
FFN
Feed-Forward 앞으로만 + Network 망
위치마다 의미를 다듬는 다층 퍼셉트론 층
RoPE
Rotary 회전 + Position 위치 + Embedding 임베딩
Q·K를 회전시켜 단어 간 거리를 알려 주는 방법
BERT
Bidirectional 양방향 + Encoder 인코더 + Representations 표현 + Transformers
앞뒤 문맥을 모두 보는 인코더 모델
GPT
Generative 생성 + Pre-trained 사전 학습 + Transformer
다음 토큰을 맞히며 글을 만드는 디코더 모델
LLM
Large 큰 + Language 언어 + Model 모델
엄청난 양의 글로 학습한 대규모 언어 모델
SFT
Supervised 정답 있는 + Fine-Tuning 미세 조정
좋은 답 예시를 보여 주며 모델을 다듬는 학습
RLHF
Reinforcement 강화 + Learning 학습 + from Human 사람 + Feedback 피드백
사람의 순위 평가로 모델을 다듬는 학습
RAG
Retrieval 검색 + Augmented 보강된 + Generation 생성
관련 자료를 찾아 근거로 붙여 답하는 방법
CoT
Chain 사슬 + of Thought 생각
중간 단계를 거쳐 답하게 하는 방법
MoE
Mixture 섞음 + of Experts 전문가들
토큰마다 일부 전문가 신경망만 계산하는 구조
KV 캐시
Key · Value + Cache 임시 저장소
앞에서 계산한 K·V를 저장해 다시 쓰는 장치

1부. 글을 숫자로 바꾸기

1-1. NLP는 무슨 일을 하나요

이 장에서 배울 것
NLP가 무엇이고, 회사에서 어떤 일에 쓰이는지 알아봐요.

NLP(Natural 자연 + Language 언어 + Processing 처리)는 사람이 쓰는 말과 글을 컴퓨터가 다루게 하는 기술이에요. 핵심은 하나예요. 글을 숫자로 바꾸는 것이에요. 신경망은 숫자만 계산할 수 있기 때문이에요.

숫자로 바뀐 글이 뜻을 담고 있으면, 신경망은 입력에 맞는 적절한 답을 줄 수 있어요. 예를 들어 고객 상담 챗봇은 고객의 글이 불평인지 칭찬인지, 혹은 칭찬하면서 불편을 말하는지 가려내야 해요.

분류 불평인가 칭찬인가 → "불만" 추출 필요한 값 찾기 → "갱신일" 검색 관련 문서 찾기 → 문서 3번 생성 새 글 쓰기 → 답장 초안 고객 메일 한 통으로 할 수 있는 일 같은 글이라도 원하는 결과(출력)가 다르면 다른 일이에요
NLP(자연어 처리)가 하는 대표적인 일 네 가지 (슬라이드 3쪽 예시)
핵심 정리
  • NLP의 출발점은 글을 숫자로 바꾸는 것이에요.
  • 분류·추출·검색·생성은 원하는 출력이 서로 달라요.

1-2. 토큰: AI가 읽는 글 조각

이 장에서 배울 것
글을 토큰으로 자르는 이유와, 토큰이 비용과 연결되는 이유를 알아봐요.

글을 숫자로 바꾸는 첫 단계는 글을 조각으로 자르는 거예요. 이 조각이 언어를 처리하는 기본 단위예요.

개념 카드

토큰 Token · 토큰화 Tokenization

💡개념
AI가 글을 읽고 쓸 때 쓰는 가장 작은 글 조각이에요.

컴퓨터는 글자를 그대로 이해하지 못해요. 그래서 글을 먼저 작은 조각으로 자르는데, 이 조각이 토큰이고 자르는 일을 토큰화라고 해요.

토큰은 단어 하나일 때도 있고 단어의 일부일 때도 있어요. "New York"처럼 두 단어가 한 덩어리로 쓰이면 함께 묶이기도 하고, "un+believ+able"처럼 앞뒤에 붙는 조각을 나누면 처음 보는 단어도 아는 조각으로 읽을 수 있어요.

AI는 토큰을 하나씩 만들어 내요. 그래서 AI를 쓰는 비용과 시간은 대체로 토큰 수에 비례해요. 모델마다 자르는 방식이 달라서, 모델과 짝이 되는 토큰 자르개(tokenizer)를 써야 해요.

👀그림으로 먼저 보기
문장 "unbelievable delivery" 토큰 un believ able delivery 번호 512 8841 1376 3020 토큰 4개 = 이 문장을 처리하는 비용 단위
단어를 자주 나오는 조각으로 자르고, 조각마다 번호를 붙여요 (번호는 예시)
❓이게 없으면?
Q글을 통째로 넣으면 안 되나요?A세상의 모든 문장을 따로 외울 수는 없어요. 조각으로 나누면 몇만 개 조각만으로 거의 모든 글을 표현할 수 있어요.
⚙️어떻게 작동할까
1
글을 자주 쓰이는 조각 단위로 잘라요.
→
2
조각마다 고유 번호(ID)를 붙여요.
→
3
AI는 번호의 줄을 입력으로 받아 다음 조각을 만들어요.
🧱쉬운 비유: 레고 블록
비유AI
완성된 레고 작품↔문장
블록 한 개↔토큰
자주 쓰는 블록 모음↔어휘 사전(약 몇만 개)
블록 개수 = 조립 시간↔토큰 수 = 비용·시간
🔢숫자 예시
예시 문장
4토큰
"unbelievable delivery"를 자른 결과
작은 조각 합치기
l + o → lo
자주 붙어 나오는 쌍을 합쳐 새 조각을 만들어요 (BPE)
⚠️헷갈리기 쉬운 점
토큰 ≠ 단어
한 단어가 여러 토큰이 되기도 하고, 여러 단어가 한 토큰이 되기도 해요.
토큰 수 ≠ 글자 수
같은 글이라도 언어와 모델에 따라 토큰 수가 달라요.
질문 상자

Q. 토큰을 많이 써야 하나요, 적게 써야 하나요?

A. 토큰을 많이 쓸수록 비용이 늘어요. 그렇다고 아끼기만 하면 결과가 나빠질 수 있어요. 수업에서도 "마음껏 쓰라고 했더니 너무 많이 쓰더라"는 이야기가 나왔어요. 정답은 결과를 뽑아낼 만큼 쓰되, 낭비는 줄이는 것이에요. 그래서 요즘은 같은 결과를 더 적은 토큰으로 내는 "효율화"가 중요한 과제예요.

핵심 정리
  • 토큰은 AI가 글을 처리하는 기본 조각이에요.
  • 자주 쓰는 조각으로 나누면 처음 보는 단어도 읽을 수 있어요.
  • AI 비용과 시간은 토큰 수에 비례해요.

1-3. 단어에 번호 붙이기: 원-핫 벡터

이 장에서 배울 것
단어를 처음 숫자로 바꾸는 가장 단순한 방법과 그 한계를 알아봐요.

문제없이 대화하려면 몇 개의 단어를 알아야 할까요? 사람은 보통 몇만 단어를 알아요. 연구에서는 계산을 쉽게 하려고 어휘 사전을 1만 단어 정도로 잡는 경우가 많아요.

개념 카드

원-핫 벡터 One-hot Vector

💡개념
단어마다 칸을 하나씩 정해 두고, 그 단어 칸만 1, 나머지는 0으로 적은 숫자 줄이에요.

"원-핫"은 "하나(one)만 켜짐(hot)"이라는 뜻이에요. 단어가 1만 개라면 칸도 1만 개가 필요하고, 그중 딱 한 칸만 1이에요.

단어 번호(ID)는 이름표일 뿐 크기를 뜻하지 않아요. "refund=2"가 "late=0"보다 두 배 크다는 뜻이 아니에요. 원-핫으로 바꾸면 이런 오해가 사라져요.

하지만 큰 약점이 있어요. 모든 단어가 서로 똑같이 떨어져 있어서 "좋다"와 "훌륭하다"가 비슷하다는 걸 전혀 담지 못해요. 이 문제를 푸는 것이 다음 장의 임베딩이에요.

👀그림으로 먼저 보기
단어 번호 원-핫 벡터 (칸 3개 중 하나만 1) late = 0 1 0 0 fast = 1 0 1 0 refund = 2 0 0 1 세 벡터는 서로 모두 같은 거리만큼 떨어져 있어요 → 비슷함을 못 담아요
단어 번호를 원-핫 벡터로 바꾼 모습 (슬라이드 6쪽 예시)
❓이게 없으면?
Q그냥 단어 번호를 숫자로 쓰면 안 되나요?A번호를 그대로 쓰면 신경망이 "2번 단어가 1번보다 크다" 같은 엉뚱한 관계를 배울 수 있어요. 원-핫은 단어를 공평하게 따로 표시해요.
⚙️어떻게 작동할까
1
쓸 단어 목록(어휘 사전)을 정해요. 연구에서는 흔히 1만 개쯤이에요.
→
2
단어마다 칸 하나를 정해요.
→
3
그 단어 칸만 1로, 나머지 칸은 0으로 적어요.
📋쉬운 비유: 교실 출석부
비유AI
출석부의 학생 한 명↔단어 하나
그 학생 칸에만 ○ 표시↔그 단어 칸만 1
누가 누구랑 친한지는 출석부에 없음↔단어끼리 비슷한지는 담지 못함
🔢숫자 예시
어휘 사전 크기
10,000칸
단어 1만 개면 벡터 길이도 1만
켜진 칸
1칸
나머지 9,999칸은 0
⚠️헷갈리기 쉬운 점
원-핫 벡터
단어를 구분만 해요. 칸이 아주 많고 대부분 0이에요.
단어 세기(Bag of Words)
글에 각 단어가 몇 번 나왔는지 세요. 순서는 사라져요.

원-핫 말고도 단순한 방법이 있어요. 글에 단어가 몇 번 나왔는지 세는 단어 주머니(Bag of Words)예요. 흔한 단어의 점수를 깎는 TF-IDF도 있어요. 쓸 만한 기준점이지만, 세기만 하면 순서가 사라져요.

글"not" 개수"good" 개수
not good11
good, not?11
very good01

위 표에서 "not good"과 "good, not?"은 숫자가 똑같아요. 뜻은 다를 수 있는데 구분하지 못하는 거예요.

핵심 정리
  • 원-핫은 단어마다 한 칸만 1로 켜는 방식이에요.
  • 단어 번호는 이름표일 뿐 크기가 아니에요.
  • 원-핫과 단어 세기는 비슷함과 순서를 담지 못해요.

1-4. 임베딩: 뜻을 담은 숫자

이 장에서 배울 것
단어를 뜻이 담긴 숫자로 바꾸는 방법과, 그 숫자가 관계까지 담는다는 사실을 알아봐요.

수업에서 그린 신경망을 떠올려 볼게요. 입력은 칸 1만 개짜리 원-핫 벡터예요. 가운데 숨은 층(hidden layer)은 300칸이에요. 학습이 끝나면 이 300칸에 단어의 뜻과 관련된 특징이 담겨요. 이것을 꺼내 쓴 것이 임베딩이에요.

개념 카드

임베딩 Embedding · 밀집 벡터 Dense Vector

💡개념
단어를 뜻을 담은 숫자 수백 개로 바꾼 것이에요.

임베딩은 학습으로 만들어진 큰 표(찾아보기 표)예요. 단어 번호를 넣으면 그 단어의 줄을 꺼내 줘요. 그 줄에 든 숫자 300개가 단어의 "뜻 벡터"예요.

숫자 하나하나는 사람이 정한 게 아니에요. 신경망이 많은 글을 학습하면서 "긍정적인가, 큰가 작은가" 같은 특징을 저절로 찾아 숫자에 담아요. 그래서 각 칸이 정확히 무엇을 뜻하는지는 사람이 짐작하기 어려워요.

원-핫의 칸 1만 개가 숫자 300개로 줄어서 계산도 가벼워져요. 그리고 뜻이 비슷한 단어끼리는 비슷한 숫자를 갖게 돼요.

👀그림으로 먼저 보기
단어 번호 ID 2 refund 임베딩 표: 단어 10,000개 × 특징 300개 0 0.12 -0.40 0.88 … 0.05 1 -0.40 0.88 … 0.05 0.12 2 0.88 … 0.05 0.12 -0.40 3 … 0.05 0.12 -0.40 0.88 … … … … … … 번호로 한 줄을 꺼내면 그 단어의 뜻 벡터(숫자 300개)가 돼요
임베딩은 "단어 번호 → 숫자 300개"를 찾아 주는 학습된 표예요 (값은 예시)
❓이게 없으면?
Q원-핫으로도 단어를 구분할 수 있는데 왜 필요하죠?A원-핫은 "좋다"와 "훌륭하다"를 완전히 다른 것으로 봐요. 임베딩이 있어야 비슷한 뜻을 가까운 숫자로 묶어서 처음 보는 표현도 알아들을 수 있어요.
⚙️어떻게 작동할까
1
단어 1만 개 × 특징 300개짜리 표를 준비해요.
→
2
많은 글로 학습해서 표 안 숫자를 채워요.
→
3
단어 번호로 한 줄을 꺼내 뜻 벡터로 써요.
📒쉬운 비유: 학생 생활기록부
비유AI
학생 이름↔단어
성격·키·취미 같은 항목 300개↔특징 300개
항목이 비슷한 학생끼리 친해 보임↔숫자가 비슷한 단어끼리 뜻이 비슷함
🔢숫자 예시
표 크기
3백만 개
단어 10,000개 × 특징 300개 = 숫자 3,000,000개 (슬라이드 8쪽)
벡터 길이
1만 → 300
원-핫보다 훨씬 짧고 촘촘해요
⚠️헷갈리기 쉬운 점
원-핫
칸이 많고 거의 0이에요. 비슷함을 못 담아요.
임베딩
칸이 적고 숫자가 꽉 차 있어요. 비슷함을 담아요.

임베딩의 놀라운 점은 숫자끼리의 차이가 관계를 담는다는 거예요. man→woman, uncle→aunt, king→queen의 차이 화살표가 거의 같은 방향을 가리켜요. 그래서 "king − man + woman ≈ queen" 같은 계산이 돼요.

man woman uncle aunt king queen 세 화살표의 방향이 같아요 = "남성 → 여성"이라는 같은 관계
뜻 공간에서 단어 사이의 차이(화살표)가 관계를 담아요 (슬라이드 9쪽, 개념 그림)

단, 이런 관계는 학습한 글에서 저절로 생긴 패턴이에요. 학습 데이터에 치우침이 있으면 임베딩도 그 치우침을 그대로 배워요.

핵심 정리
  • 임베딩은 단어를 뜻이 담긴 숫자 수백 개로 바꿔요.
  • 숫자의 차이 방향이 단어 사이 관계를 담아요.
  • 관계는 학습 데이터에서 생기므로 데이터의 치우침도 따라와요.

1-5. 비슷한 단어 찾기: 코사인 유사도와 Word2Vec

이 장에서 배울 것
두 단어가 비슷한지 재는 방법과, 임베딩을 학습하는 대표 방법을 알아봐요.
개념 카드

코사인 유사도 Cosine Similarity

💡개념
두 벡터가 얼마나 같은 방향을 가리키는지로 비슷함을 재는 점수예요.

뜻 벡터 300개 숫자를 화살표로 생각해 보세요. 화살표 방향이 비슷하면 뜻도 비슷하다고 봐요.

계산은 두 벡터를 곱해 더하는 내적(dot product, 스칼라 곱)에서 시작해요. 내적을 두 화살표 길이로 나누면 사이 각도의 코사인 값이 나와요. 같은 방향이면 1, 직각이면 0, 반대 방향이면 −1이에요.

길이는 무시하고 방향만 보기 때문에, [1, 0]과 [2, 0]은 길이가 달라도 점수가 1이에요.

👀그림으로 먼저 보기
[1, 0] [2, 0] [1, 1] [0, 1] [1, 0]과 비교한 코사인 [2, 0] 1.000 (같은 방향) [1, 1] 0.707 (45°) [0, 1] 0.000 (직각)
방향이 같을수록 1에 가깝고, 직각이면 0이에요 (슬라이드 10쪽 예시)
❓이게 없으면?
Q단어가 비슷한지 사람이 일일이 정해 주면 안 되나요?A단어가 몇만 개라 사람이 다 정할 수 없어요. 벡터만 있으면 어떤 두 단어든 바로 계산해서 비교할 수 있어요.
⚙️어떻게 작동할까
1
두 단어의 뜻 벡터를 꺼내요.
→
2
같은 칸끼리 곱해서 모두 더해요 (내적).
→
3
두 벡터의 길이로 나눠 −1~1 사이 점수를 얻어요.
🧭쉬운 비유: 친구와 가는 방향
비유AI
두 친구가 같은 쪽으로 걸어감↔코사인 1 (아주 비슷)
한 명은 동쪽, 한 명은 북쪽↔코사인 0 (관련 적음)
누가 더 빨리 걷는지는 상관없음↔벡터 길이는 무시
🔢숫자 예시
[1,0] vs [2,0]
1.000
방향이 같아요
[1,0] vs [1,1]
0.707
45도 벌어져 있어요
[1,0] vs [0,1]
0.000
직각이에요
⚠️헷갈리기 쉬운 점
비슷한 문맥
같은 자리에 자주 나온다는 뜻이에요.
같은 의미·동의
"좋다"와 "나쁘다"도 문맥이 비슷해 점수가 높을 수 있어요. 내 업무 데이터로 꼭 확인해요.

그럼 임베딩 숫자는 어떻게 배울까요? 유명한 방법이 2013년 미콜로프(Mikolov) 등이 발표한 Word2Vec이에요. 그중 Skip-gram은 가운데 단어를 보고 주변 단어를 맞히게 해요. 틀리면 그만큼 단어 벡터를 고쳐요.

parcel the arrived late 가운데 단어 주변 단어 맞히기
Word2Vec(Skip-gram)은 가운데 단어로 주변 단어를 맞히며 뜻 벡터를 배워요 (슬라이드 11쪽)

정답을 사람이 따로 만들 필요가 없다는 게 장점이에요. 글 자체가 "이 단어 옆에는 이 단어가 왔다"는 정답을 품고 있기 때문이에요.

핵심 정리
  • 코사인 유사도는 두 벡터 방향의 비슷함을 재요.
  • Word2Vec은 주변 단어 맞히기로 임베딩을 배워요.
  • 글 자체가 정답을 제공해서 사람 정답이 필요 없어요.

1-6. 문맥과 순서가 뜻을 바꿔요

이 장에서 배울 것
단어 하나에 벡터 하나만 주면 생기는 문제와, 순서가 중요한 이유를 알아봐요.

단어 중에는 뜻이 두 개 이상인 것이 많아요. 영어 "bank"는 은행도 되고 강둑도 돼요. 단어마다 벡터를 하나씩만 주는 방식(정적 임베딩)은 이 차이를 담지 못해요. 그래서 한국어와 영어 단어를 1:1로 번역해도 뜻 공간에서 보면 조금씩 어긋나요.

해결책은 문맥까지 함께 벡터에 담는 것이에요. 앞뒤 단어에 따라 같은 단어도 다른 벡터를 갖게 해요.

정적 임베딩 "bank"는 언제나 같은 벡터 하나 "river bank" → 강둑 "bank loan" → 은행 문맥 임베딩: 앞뒤 단어에 따라 벡터가 달라져요 "Not very good" "good"은 긍정 단어지만 순서대로 합치면 부정 문장이에요
같은 단어도 앞뒤 단어와 순서에 따라 뜻이 달라져요 (슬라이드 12~13쪽)

순서도 뜻을 가져요. "Not very good"에는 긍정 단어 good이 있지만 전체는 부정이에요. 단어 순서를 바꾸면 정반대 뜻이 되기도 해요. 그래서 모델은 단어를 순서대로 합쳐서 읽어야 해요.

정리하면, 컴퓨터가 글의 뜻을 이해하며 처리하려면 ① 토큰으로 자르고 ② 임베딩으로 벡터를 만들고 ③ 비슷한 것끼리 모이게 하고 ④ 순서에 따라 바뀌는 뜻까지 계산해야 해요.

핵심 정리
  • 같은 단어도 문맥에 따라 뜻이 달라요.
  • 단어 순서가 문장의 뜻을 바꿔요.
  • 토큰 → 벡터 → 유사도 → 순서, 네 단계가 필요해요.
실무 관점
고객 문의를 "불만/칭찬/문의"로 자동 분류하거나, 비슷한 과거 문의를 찾는 기능은 모두 임베딩과 유사도 계산 위에서 돌아가요. 도입 전에 우리 회사 문서로 유사도가 잘 맞는지 꼭 시험해 보세요. 일반 글에서 비슷한 단어가 우리 업무에서도 비슷하다는 보장은 없어요.

2부. 순서를 기억하는 신경망: RNN과 LSTM

2-1. 순서가 있는 일의 세 가지 모양

이 장에서 배울 것
순서대로 들어오는 데이터를 다루는 일이 어떤 모양으로 나뉘는지 알아봐요.

트랜스포머가 나오기 전, 순서가 있는 데이터를 다루는 표준은 RNN이었어요. RNN으로 할 수 있는 일은 입력과 출력의 개수에 따라 나뉘어요. 이 분류를 잘 정리한 사람이 안드레이 카파시(Andrej Karpathy)예요. 그는 2015년 글 「RNN의 비상식적인 효과」로 자연어 처리 연구에서 널리 알려졌어요.

일대다 One-to-many 사진 → 설명 문장 다대일 Many-to-one 문장 → 긍정/부정 다대다 Many-to-many 한국어 → 영어 입력과 출력이 몇 개씩인지에 따라 쓰임이 달라요
RNN이 하는 일의 세 가지 모양 (카파시 2015, 슬라이드 14쪽)

문장을 읽고 감정 하나를 고르는 일은 "다대일", 한국어 문장을 영어 문장으로 바꾸는 일은 "다대다"예요. 시퀀스(순서 있는 줄)를 받아 하나로 줄이기도 하고, 하나에서 여러 개를 만들기도 해요.

핵심 정리
  • 순서가 있는 일은 입력·출력 개수로 세 가지 모양이 있어요.
  • 감정 분류는 다대일, 번역은 다대다예요.

2-2. RNN: 메모를 넘기며 읽기

이 장에서 배울 것
RNN이 순서대로 들어오는 단어를 어떻게 읽는지 알아봐요.

신경망은 입력을 넣으면 출력이 나오는 함수예요. 그런데 언어는 순서대로 들어오니까, 출력이 나온 뒤 다음 단어가 또 들어와요. RNN은 출력의 일부를 다음 입력과 함께 다시 넣어 새 출력을 뽑아요.

개념 카드

순환 신경망 RNN · Recurrent Neural Network

💡개념
앞에서 읽은 내용을 "상태"라는 메모로 넘기며 단어를 하나씩 읽는 신경망이에요.

"순환(recurrent)"은 "다시 돌아온다"는 뜻이에요. 출력의 일부(상태)를 다음 단계 입력에 다시 넣기 때문이에요.

사진은 한꺼번에 들어오지만 언어는 순서대로 하나씩 들어와요. RNN은 새 단어와 지난 상태를 합쳐 새 상태를 만들고, 그 상태를 다음 단어에게 넘겨요.

중요한 점은 모든 단계가 같은 신경망, 같은 가중치 한 세트를 쓴다는 거예요. 방금 일했던 그 신경망이 다음 단어도 받아요. 실제로는 한 셀을 빙빙 돌리는 것인데, 그림으로는 옆으로 펼쳐서 그려요. 이 "다시 넣기" 구조는 트랜스포머에도 이어져요. 단위가 더 클 뿐이에요.

👀그림으로 먼저 보기
RNN 셀 같은 가중치 The h1 상태 RNN 셀 같은 가중치 parcel h2 상태 RNN 셀 같은 가중치 arrived h3 h₀
한 RNN 셀을 시간 순서대로 펼친 모습. 상태(분홍)가 다음 단계로 이어져요 (슬라이드 15~16쪽)
❓이게 없으면?
Q단어마다 따로 신경망을 쓰면 안 되나요?A문장 길이가 매번 달라서 단어 수만큼 신경망을 준비할 수 없어요. 같은 셀을 반복해 쓰면 어떤 길이의 문장도 읽을 수 있어요.
⚙️어떻게 작동할까
1
지난 상태 h와 새 입력 x를 합쳐요.
→
2
비선형 함수(tanh)를 통과시켜 새 상태를 만들어요.
→
3
새 상태를 다음 단어에게 넘기고 반복해요.
📓쉬운 비유: 릴레이 일기
비유AI
어제까지 쓴 일기 요약↔이전 상태 h
오늘 있었던 일↔새 입력 x
둘을 합쳐 쓴 새 요약↔새 상태
매일 같은 사람이 씀↔같은 가중치
🔢숫자 예시
합치기
0.6
0.5 × h(0.4) + 0.8 × x(0.5) = 0.2 + 0.4
새 상태
≈ 0.537
tanh(0.6) ≈ 0.537 (슬라이드 17쪽)
⚠️헷갈리기 쉬운 점
상태 (hidden state)
지금까지 읽은 내용의 요약. 단계마다 바뀌어요.
가중치 (weight)
학습으로 정해진 숫자. 모든 단계에서 같아요.
핵심 정리
  • RNN은 상태를 넘기며 단어를 하나씩 읽어요.
  • 모든 단계가 같은 가중치 한 세트를 써요.
  • 트랜스포머 이전에는 언어 처리의 표준이었어요.

2-3. RNN은 어떻게 배우나요: 시간 역전파

이 장에서 배울 것
RNN을 학습시키는 방법을 알아봐요.

RNN은 모든 단계가 같은 가중치를 쓰니까, 학습도 모든 단계를 한꺼번에 생각해요. 예측과 정답의 차이(오차)를 재고, 그 오차를 펼친 단계들을 따라 거꾸로 보내서 가중치를 고쳐요. 이것을 시간 역전파(BPTT, Backpropagation Through Time)라고 해요. 2주차에 배운 경사 하강법과 역전파를 시간 방향으로 늘린 거예요.

1일째 오차 2일째 오차 3일째 오차 4일째 오차 오차를 거꾸로 보내 같은 가중치를 고쳐요
모든 단계의 오차를 함께 줄이도록 거꾸로 보내요 (슬라이드 18쪽, 개념 그림)

수업의 예처럼 매일 주가 변동을 예측한다고 해 볼게요. 오늘 하루만 잘 맞히면 안 되고, 어제·그제를 포함해 모든 날이 비교적 잘 맞아야 해요. 그래서 한 시점이 아니라 모든 단계의 오차를 함께 줄이는 방식으로 배워요.

핵심 정리
  • RNN은 펼친 모든 단계의 오차를 거꾸로 보내 배워요.
  • 한 시점이 아니라 모든 단계의 오차를 함께 줄여요.

2-4. RNN의 약점: 멀리 떨어진 단어

이 장에서 배울 것
RNN이 긴 문장에서 왜 어려움을 겪는지 알아봐요.

RNN의 큰 문제는 긴 거리 의존성(Long-distance dependencies)이에요. 문장이 길어지면 방금 읽은 단어는 기억하지만, 한참 전 단어의 신호는 여러 번 변환을 거치며 약해져요.

그 소포는 어제 비가 많이 와서 늦게 도착했다 주어와 서술어가 멀리 떨어져 있어요 중간을 지나며 신호가 점점 약해져요
한국어는 주어와 서술어 사이가 멀어서 특히 어려워요

수업에서 교수님은 한국어가 AI에게 특히 어려운 언어라고 하셨어요. 영어는 주어와 동사가 붙어 있는 경우가 많아요. 한국어는 주어가 맨 앞, 서술어가 맨 끝에 와서 둘 사이가 가장 멀어요. 그래서 긴 거리를 기억하는 능력이 더 중요해요.

핵심 정리
  • 긴 문장에서 RNN은 앞쪽 정보를 잊기 쉬워요.
  • 한국어는 주어와 서술어가 멀어서 더 어려워요.

2-5. LSTM: 기억을 조절하는 문

이 장에서 배울 것
LSTM이 문을 이용해 긴 기억을 지키는 방법을 알아봐요.

수업에서는 이런 예가 나왔어요. 코드를 깃허브에 올려 둘 때 어떤 설명(코멘트)을 달아 두면 바이브 코딩 도구의 결과가 좋아지더라는 거예요. 특별한 성격의 단어나 문장이 결과에 큰 영향을 줘요. 이런 단어는 네트워크가 꼭 기억해 둬야 해요.

개념 카드

장단기 기억 신경망 LSTM · Long Short-Term Memory

💡개념
"문(gate)"으로 무엇을 잊고 무엇을 새로 기억할지 조절하는 RNN이에요.

LSTM은 1997년 호흐라이터와 슈미트후버가 만들었어요. RNN의 "잊어버림" 문제를 풀려고 별도의 기억 통로(셀 상태)를 둬요.

문은 0~1 사이 숫자로 조절하는 밸브예요. 잊기 문은 옛 기억을 얼마나 남길지, 입력 문은 새 내용을 얼마나 넣을지, 출력 문은 기억 중 얼마를 밖으로 보일지 정해요.

수업 표현으로는 "이건 중요한 단어 같아, 잘 기억해 둬", "이건 별 뜻 없는 단어야" 하고 힌트를 주는 구조예요. 중요한 단어에 방점을 찍어 길게 기억하게 하니 성능이 좋아졌어요.

👀그림으로 먼저 보기
옛 기억 c 0.8 새 후보 내용 0.4 잊기 문 f × 0.5 입력 문 i × 0.25 새 기억 c 0.4 + 0.1 = 0.50 출력 문 o h ≈ 0.416 0.9 × tanh(0.5)
잊기 문과 입력 문이 기억을 고치고, 출력 문이 보일 만큼 꺼내요 (슬라이드 22쪽 예시)
❓이게 없으면?
QRNN만으로는 왜 부족하죠?ARNN은 모든 정보를 한 상태에 섞어서 금방 흐려져요. LSTM은 중요한 정보를 따로 보관하는 통로가 있어 긴 문장도 더 잘 기억해요.
⚙️어떻게 작동할까
1
잊기 문이 옛 기억에 0~1을 곱해 줄여요.
→
2
입력 문이 새 후보 내용을 골라 더해요.
→
3
출력 문이 새 기억 중 보일 만큼을 내보내요.
🗂️쉬운 비유: 공부 노트 정리
비유AI
지난 노트에서 필요 없는 줄 지우기↔잊기 문
오늘 배운 중요한 것만 추가↔입력 문
시험에 낼 부분만 꺼내 보기↔출력 문
🔢숫자 예시
새 기억
0.50
0.5 × 0.8 + 0.25 × 0.4 = 0.4 + 0.1
보이는 상태
≈ 0.416
0.9 × tanh(0.50)
⚠️헷갈리기 쉬운 점
셀 상태 c
안쪽에 보관하는 긴 기억이에요.
숨은 상태 h
그 단계에서 밖으로 보이는 기억이에요.
핵심 정리
  • LSTM은 문으로 잊을 것과 기억할 것을 조절해요.
  • 중요한 정보는 셀 상태라는 통로로 길게 보관해요.

2-6. 어텐션의 등장

이 장에서 배울 것
LSTM 다음에 나온 어텐션이 무엇을 바꿨는지 알아봐요.

LSTM은 중요한 단어와 안 중요한 단어를 가려 기억했어요. 그다음 나온 생각이 어텐션(Attention, 주의 집중)이에요. 단어와 단어의 관계를 직접 보자는 거예요. 두 토큰이 서로 깊은 관계가 있으면 그 관계를 잘 기억해야 한다는 개념이에요.

어텐션은 트랜스포머에서 처음 나온 게 아니에요. RNN 시절에도 중요한 연구였어요. 신경망 출력을 다시 입력과 합칠 때 중요한 것과 버릴 것을 잘 구분하게 해 줬어요.

RNN 상태 하나를 계속 바꿈 메모 한 장 LSTM 문 + 기억 통로 메모 + 보관함 어텐션 필요한 곳을 골라 읽음 책 전체를 펴 놓고 찾기
문맥을 다루는 방식의 발전 (슬라이드 23쪽)

트랜스포머 이전 언어 모델의 요약: 글을 대략 단어 단위 토큰으로 만들고, 뜻을 기억하려고 몇백 차원 벡터로 바꿔요. 벡터의 각 축은 단어의 복잡한 뜻의 한 방향이에요. 단어가 이어져 문장이 되니 문맥 관계가 중요하고, 어떤 단어를 기억해 둘지가 질문에 답하고 문장을 해석하는 데 중요해요.

핵심 정리
  • 어텐션은 단어 사이 관계를 직접 보고 필요한 곳을 골라 읽어요.
  • 어텐션은 RNN 시절에 먼저 나왔고, 트랜스포머의 핵심이 됐어요.
실무 관점
AI 도구에 긴 지시문이나 문서를 줄 때는 중요한 조건을 분명히 드러내세요. 제목, 목록, "반드시" 같은 표시는 모델이 중요한 정보를 놓치지 않게 돕는 힌트가 돼요. 한국어 문장은 주어와 서술어가 멀어지기 쉬우니, 긴 문장을 짧게 나누는 것도 도움이 돼요.

3부. 트랜스포머: 문맥을 계산하는 법

3-1. 왜 트랜스포머가 필요했나: 고정 상태 병목

이 장에서 배울 것
트랜스포머 이전 번역 모델의 한계와, 그 한계를 푼 어텐션의 첫 모습을 알아봐요.

트랜스포머도 단어를 토큰으로 만들고 벡터로 바꿔 뜻을 정하는 것은 똑같아요. 달라진 것은 뜻이 정해진 단어들 사이의 관계를 얼마나 중요하게, 어떻게 기억하느냐예요.

당시 번역 모델은 비전에서 배운 것처럼 인코더와 디코더로 된 신경망이었어요. 인코더가 입력 문장을 축약하고, 디코더가 그 축약을 풀어서 답을 만들어요. 문제는 축약이 상태 하나라는 거예요.

I love you 인코더 요약 상태 1개 디코더 풀어내기 Je t'aime 모든 내용을 상자 하나에 눌러 담아 세부가 사라져요
인코더가 문장 전체를 상태 하나로 요약하면, 긴 문장에서는 정보가 빠져요 (슬라이드 28쪽)

해결책은 단어마다 표현을 따로 남겨 두고, 출력 단어를 만들 때마다 필요한 입력 단어를 골라 보는 거예요. 2015년 바다나우(Bahdanau) 등이 RNN에 이 어텐션을 붙였어요.

영어(원문) → the European Economic Area la zone économique européenne 진할수록 주의를 많이 줌
불어 단어(행)를 만들 때 영어 단어(열) 중 어디를 봤는지. 어순이 달라도 맞는 짝을 찾아요 (바다나우 등 2015을 단순화)
핵심 정리
  • 상태 하나에 모든 내용을 담으면 긴 문장에서 정보가 빠져요.
  • 어텐션은 출력마다 필요한 입력을 골라 봐요.
  • 번역에서 배운 어텐션은 어순이 달라도 짝을 찾아요.

3-2. 셀프 어텐션: 문장이 스스로를 읽어요

이 장에서 배울 것
한 문장 안의 단어들이 서로를 읽는 셀프 어텐션을 알아봐요.

번역의 어텐션은 "출력 문장 → 입력 문장"을 봤어요. 셀프 어텐션은 같은 문장 안에서 토큰끼리 서로를 봐요. "The parcel arrived late"에서 arrived는 무엇이 도착했는지 알려고 parcel을 가장 많이 봐요.

The parcel arrived late 0.6 0.1 0.3 "arrived"는 "parcel"을 가장 많이 봐요 (무엇이 도착했나?)
셀프 어텐션: 한 문장 안에서 토큰이 다른 토큰의 정보를 읽어 와요 (숫자는 예시)

어떤 단어를 얼마나 볼지(가중치)는 그때그때 단어 표현에 따라 계산돼요. 그리고 모든 위치가 주변 정보가 섞인 새 벡터를 받아요. 문맥을 결정하는 정보를 잘 집어넣는 것이 핵심이에요.

핵심 정리
  • 셀프 어텐션은 한 문장 안에서 토큰끼리 서로를 읽어요.
  • 얼마나 볼지는 단어 표현에 따라 그때그때 계산돼요.

3-3. 쿼리·키·밸류: 트랜스포머의 핵심

이 장에서 배울 것
어텐션이 정보를 찾는 세 가지 재료를 알아봐요.
개념 카드

쿼리 · 키 · 밸류 Query · Key · Value

💡개념
무엇이 궁금한지(Q), 무엇과 맞는지(K), 무엇을 넘겨줄지(V)로 정보를 찾는 방식이에요.

"이것만 이해하면 트랜스포머 개념은 끝"이라고 할 만큼 중요해요. 토큰마다 세 가지 벡터를 만들어요. 쿼리는 "어떤 정보가 필요해?"라는 질문, 키는 "나는 이런 정보야"라는 분류표, 밸류는 실제로 넘겨줄 내용이에요.

교수님은 회사 예로 설명하셨어요. 매니저가 직원에게 "이 문제에 대해 우리가 가진 정보가 뭐야?"라고 묻는 게 쿼리예요. 직원이 횡설수설해도 "고객은요…, 불만은요…, 우리 조치는요…" 하는 분류 항목이 키예요. 각 항목의 실제 내용이 밸류예요.

쿼리와 키를 내적(곱해서 더하기)하면 뜻이 비슷할수록 점수가 커요. 점수가 큰 키의 밸류를 많이 가져오면, 정리 안 된 정보도 보고서처럼 깔끔하게 모여 전체 그림이 그려져요.

👀그림으로 먼저 보기
쿼리 Q "고객 불만이 뭐야?" 키: 고객 정보 밸류: AX 고객, 3년 거래 키: 불만 내용 밸류: 배송 지연 2회 키: 우리 조치 밸류: 환불 처리 Q와 잘 맞는 키를 찾고, 그 키의 밸류를 가져와요
쿼리(파랑)와 가장 잘 맞는 키(분홍)의 밸류(초록)를 가장 많이 가져와요
❓이게 없으면?
Q그냥 모든 단어를 똑같이 섞으면 안 되나요?A그러면 중요한 정보와 쓸데없는 정보가 뒤섞여요. Q·K로 관련도를 계산해야 필요한 정보만 골라서 많이 가져올 수 있어요.
⚙️어떻게 작동할까
1
토큰마다 Q, K, V 벡터를 만들어요 (학습된 가중치를 곱해서).
→
2
Q와 모든 K를 내적해 관련도 점수를 내요.
→
3
점수를 가중치로 바꿔 V를 섞어서 새 벡터를 만들어요.
📚쉬운 비유: 도서관에서 책 찾기
비유AI
내가 궁금한 주제↔쿼리 Q
책 등에 붙은 분류 번호↔키 K
책 안의 실제 내용↔밸류 V
관련 깊은 책을 더 오래 읽기↔가중치를 곱해 섞기
🔢숫자 예시
관련도
Q · K
두 벡터를 곱해 더한 값. 클수록 관련이 깊어요
결과
V의 가중합
선택된 단어 하나가 아니라 섞인 벡터예요
⚠️헷갈리기 쉬운 점
키 K
"무엇과 맞는가"를 판단하는 데만 써요.
밸류 V
실제로 다음 층에 넘어가는 내용이에요.
핵심 정리
  • Q는 질문, K는 분류표, V는 내용이에요.
  • Q와 K의 내적으로 관련도를 계산해요.
  • 관련도를 가중치로 V를 섞어 새 벡터를 만들어요.

3-4. 어텐션 계산 3단계

이 장에서 배울 것
어텐션을 숫자로 직접 계산해 보고, 미래를 가리는 마스크를 알아봐요.

실제로는 행렬 곱셈으로 한꺼번에 계산해요. 필요 없는 정보는 빼고, 소프트맥스로 어떤 단어에 관심을 가질지 찾아내요.

개념 카드

스케일드 내적 어텐션 Scaled Dot-Product Attention

💡개념
Q·K 점수를 크기 조정하고 0~1 비율로 바꾼 뒤, 그 비율로 V를 섞는 계산이에요.

2017년 논문 「Attention Is All You Need」(바스와니 등)가 제안한 트랜스포머의 핵심 계산이에요. 이름 그대로 "내적(dot product) → 크기 조정(scaled) → 어텐션" 순서예요.

크기 조정은 점수를 √dₖ(키 벡터 길이의 제곱근)로 나누는 거예요. 벡터가 길면 점수가 너무 커져서 한쪽에만 쏠리는 걸 막아요.

소프트맥스(softmax)는 점수들을 모두 양수이고 합이 1인 비율로 바꿔 줘요. 그 비율대로 V를 곱해 더하면 끝이에요. 결과는 단어 하나를 고른 게 아니라 섞인 벡터예요.

👀그림으로 먼저 보기
① Q·K 점수 ② ÷√2 → softmax ③ V에 곱해 더하기 k₁=[1,0] 1 가중치 0.401 V [2,0] k₂=[0,1] 0 가중치 0.198 V [0,2] k₃=[1,1] 1 가중치 0.401 V [2,2] 출력 [1.604, 1.198] 쿼리 q = [1, 0]. 가중치 세 개를 더하면 1이에요
슬라이드 34~36쪽의 장난감 예시를 한 그림으로 이었어요
❓이게 없으면?
Q점수를 그냥 쓰면 안 되나요?A점수는 음수도 되고 합도 제각각이라 "얼마나 섞을지" 비율로 쓸 수 없어요. 소프트맥스로 합이 1인 비율로 바꿔야 해요.
⚙️어떻게 작동할까
1
쿼리와 각 키를 내적해 점수를 내요: [1, 0, 1].
→
2
√2로 나누고 소프트맥스로 비율을 만들어요: [0.401, 0.198, 0.401].
→
3
비율대로 밸류를 곱해 더해요: [1.604, 1.198].
🗣️쉬운 비유: 팀 회의 의견 반영
비유AI
내 고민과 관련 있는 동료 찾기↔Q·K 점수
발언 시간을 합이 100%가 되게 나누기↔소프트맥스
비율만큼 의견을 섞어 결론 내기↔V 가중합
🔢숫자 예시
점수
[1, 0, 1]
q=[1,0]과 k₁, k₂, k₃의 내적
가중치
0.401 · 0.198 · 0.401
softmax([1,0,1] / √2)
출력
[1.604, 1.198]
0.401×[2,0] + 0.198×[0,2] + 0.401×[2,2]
⚠️헷갈리기 쉬운 점
어텐션 가중치
얼마나 볼지 정하는 비율. 입력마다 새로 계산돼요.
모델 가중치
학습으로 정해진 숫자. 입력과 상관없이 고정돼요.

이 계산을 모든 위치(쿼리)마다 반복하면 표가 하나 생겨요. 행은 쿼리, 열은 키이고 각 행의 합은 1이에요. 글을 만들어 내는 모델은 아직 안 나온 미래 단어를 보면 안 되니까, 인과 마스킹(causal masking)으로 앞쪽만 보게 가려요. 정답을 미리 엿보는 걸 막는 장치예요.

어텐션 가중치 표 (행=쿼리, 열=키) 1 0.6 0.3 0.1 2 0.2 0.5 0.3 3 0.1 0.2 0.7 ✓ — — ✓ ✓ — ✓ ✓ ✓ 모든 위치 계산 (행 합 = 1) 인과 마스크: 앞쪽만 볼 수 있음
왼쪽: 위치마다 어텐션을 계산한 표. 오른쪽: 미래 위치를 가리는 마스크 (슬라이드 37~38쪽)
핵심 정리
  • Q·K 점수 → √dₖ로 나누기 → 소프트맥스 → V 섞기, 네 동작이에요.
  • 결과는 단어 하나가 아니라 섞인 벡터예요.
  • 인과 마스크는 미래 단어를 가려 정답 엿보기를 막아요.

3-5. 멀티헤드 어텐션: 여러 관점으로 보기

이 장에서 배울 것
어텐션을 여러 개 동시에 쓰는 이유와 방법을 알아봐요.

교수님은 GPU 이야기로 시작하셨어요. GPU는 풀HD·4K 화면처럼 규격이 정해진 계산을 빨리 하려고 만들어졌어요. 입력이 줄었다 늘었다 하면 계산을 규격화하기 어려워요. 그래서 트랜스포머는 줄인 것을 여러 개 만들고, 이것들을 합쳐 원래 크기와 똑같이 만들어요. 이게 멀티헤드 어텐션이에요.

개념 카드

멀티헤드 어텐션 Multi-head Attention

💡개념
어텐션을 여러 개(헤드) 따로 돌려서 서로 다른 관점의 관계를 동시에 보는 방법이에요.

헤드마다 자기만의 Q·K·V 변환을 배워요. 한 헤드는 "주어-동사" 같은 문법 관계를, 다른 헤드는 뜻의 관계를 볼 수 있어요.

교수님 비유로는, 같은 영화를 본 세 사람에게 감상을 물으면 셋이 다 달라요. 같은 입력을 여러 방식으로 축약해 해석하는 "해석자"를 여러 명 두는 거예요. 의미를 여러 측면에서 축소하는 셈이에요.

헤드마다 폭을 나눠 작게 계산한 뒤 이어 붙여서 원래 크기로 되돌려요. 크기가 매번 같으니 GPU로 규격화된 계산을 빠르게 할 수 있어요.

👀그림으로 먼저 보기
입력 4 × 8 헤드 1: 문법 관계 Q·K·V 4 × 4 헤드 2: 뜻 관계 Q·K·V 4 × 4 이어 붙이기 4 × 8 출력 헤드마다 다른 관점으로 보고, 합쳐서 원래 크기로 되돌려요
폭 8을 헤드 2개(폭 4씩)로 나눠 계산하고 다시 이어 붙여요 (슬라이드 40쪽 예시)
❓이게 없으면?
Q어텐션 하나로 충분하지 않나요?A한 번의 어텐션은 한 가지 기준으로만 가중치를 정해요. 문장에는 문법·뜻·거리 등 여러 관계가 겹쳐 있어서, 여러 헤드가 나눠 보는 게 좋아요.
⚙️어떻게 작동할까
1
입력 폭(8)을 헤드 수(2)로 나눠요.
→
2
헤드마다 따로 어텐션을 계산해요 (폭 4).
→
3
결과를 이어 붙이고 마지막 변환으로 합쳐요 (다시 폭 8).
🎬쉬운 비유: 영화 감상평
비유AI
같은 영화↔같은 입력 문장
관객 세 명의 감상↔헤드 여러 개
감상을 모은 종합 리뷰↔이어 붙이기 + 마지막 변환
🔢숫자 예시
입력
4 × 8
토큰 4개, 폭 8
헤드 하나
4 × 4
헤드 2개 × 폭 4
합친 결과
4 × 8
원래 크기로 복원
⚠️헷갈리기 쉬운 점
헤드 개수 늘리기
같은 폭을 더 잘게 나눠 여러 관점으로 봐요.
층 개수 늘리기
어텐션 블록을 위로 더 쌓아 여러 번 다듬어요.

논문은 실제로 학습된 어텐션을 그림으로 보여 줘요. "making"이라는 동사가 멀리 떨어진 "more", "difficult"와 강하게 연결되는데, 헤드마다 연결하는 단어가 달라요. 어텐션 헤드는 이렇게 단어 사이의 관계를 동시에 기억해요.

질문 상자

Q. 예를 들어 "손흥민이 프리킥을 차고 싶었는데…"라면요?

A. "손흥민"과 "프리킥"은 거리가 있어도 관계가 아주 깊어요. 어텐션은 두 단어 사이에 높은 가중치를 줘서 이 관계를 기억해요. 그래서 뒤에 "그는"이 나와도 손흥민을 가리킨다는 걸 알 수 있어요.

핵심 정리
  • 멀티헤드는 어텐션을 여러 관점으로 동시에 돌려요.
  • 나눠 계산하고 이어 붙여 원래 크기로 되돌려요.
  • 크기가 같아야 GPU로 빠르게 계산할 수 있어요.

3-6. 순서 알려 주기: 위치 정보

이 장에서 배울 것
어텐션에 단어 순서를 알려 주는 방법을 알아봐요.

어텐션은 모든 단어를 한꺼번에 보기 때문에, 그대로 두면 단어 순서를 몰라요. "Dog bites man"과 "Man bites dog"는 단어가 같지만 뜻이 정반대예요. 그래서 임베딩에 위치 표현을 더해 "몇 번째 단어인지"를 알려 줘요.

Dog 위치 1 bites 위치 2 man 위치 3 → 개가 사람을 물어요 Man 위치 1 bites 위치 2 dog 위치 3 → 사람이 개를 물어요
같은 단어라도 위치가 바뀌면 관계가 바뀌어요 (슬라이드 42쪽)

요즘 많이 쓰는 방법은 RoPE(Rotary Position Embedding, 회전 위치 임베딩)예요. Q와 K의 좌표를 위치만큼 회전시켜서, 두 단어가 얼마나 떨어져 있는지(상대 거리)가 점수에 반영되게 해요. 위치를 알려 주는 방법은 모델마다 달라요.

핵심 정리
  • 어텐션은 그대로는 순서를 몰라서 위치 정보를 더해요.
  • RoPE는 Q·K를 회전시켜 상대 거리를 반영해요.

3-7. 블록의 나머지: 피드포워드, 잔차 연결, 정규화

이 장에서 배울 것
어텐션 다음에 오는 층들과, 모든 층의 크기를 같게 유지하는 이유를 알아봐요.

어텐션으로 단어들 사이에서 정보를 모으고 나면, 그 의미를 원하는 일(분류·번역 등)에 맞게 다듬어야 해요. 이 일을 하는 것이 피드포워드 층(feed-forward sublayer)이에요. 2주차에 배운 다층 퍼셉트론이 위치마다 하나씩 붙는다고 생각하면 돼요. 폭을 넓혔다가(8→32) 비선형 함수를 거쳐 다시 줄여요(32→8).

입력 폭 8 멀티헤드 어텐션 피드포워드 8 → 32 → 8 출력 폭 8 잔차 연결 (입력을 그대로 더함) 잔차 연결 + 정규화
트랜스포머 블록 하나: 어텐션 + 피드포워드 + 잔차 연결·정규화 (슬라이드 44~45쪽)

잔차 연결(residual connection)은 층의 입력을 출력에 그대로 더해 주는 지름길이에요. 층을 아주 많이 쌓아도 원래 정보가 사라지지 않고 학습이 잘 돼요. 정규화(normalization)는 숫자 크기를 고르게 맞춰 학습을 안정시켜요.

질문 상자

Q. 요즘 구조는 몇십 층인데, 모든 층의 크기를 똑같이 유지하는 이유는요?

A. 잔차 연결은 입력과 출력을 더하는 거라서 둘의 크기가 같아야 해요. 크기가 같으면 같은 블록을 몇십 층이든 그대로 쌓을 수 있고, GPU로 규격화된 계산을 하기도 좋아요.

핵심 정리
  • 피드포워드 층은 위치마다 의미를 다듬어요.
  • 잔차 연결은 입력을 더해 깊은 층에서도 정보를 지켜요.
  • 더하기를 하려면 모든 층의 크기가 같아야 해요.

3-8. 원래 트랜스포머: 인코더와 디코더

이 장에서 배울 것
2017년 처음 나온 트랜스포머의 전체 구조를 알아봐요.

2017년의 최초 트랜스포머는 번역을 목표로 했어요. 영어를 불어로 바꾼다면, 인코더가 영어 문장의 의미를 축약하고 디코더가 그것을 풀어서 불어로 만들어요. 불어와 영어는 어순이 달라서 어텐션 구조도 서로 달라요.

인코더 (원문 이해) 셀프 어텐션 피드포워드 디코더 (번역문 생성) 가린 셀프 어텐션 교차 어텐션 피드포워드 K, V
2017년 원래 트랜스포머(번역용). 디코더는 교차 어텐션으로 인코더 결과를 읽어요 (슬라이드 46~48쪽)
어텐션 종류Q는 어디서K·V는 어디서
인코더 셀프 어텐션원문원문
디코더 셀프 어텐션 (가림)번역문번역문 (앞쪽만)
교차 어텐션번역문원문

정리하면 트랜스포머는 입력을 임베딩하고, Q·K·V로 어텐션을 찾고, 피드포워드(다층 퍼셉트론)로 원하는 결과를 뽑아요. 마지막에 선형 층과 소프트맥스가 다음 토큰의 확률을 내요.

핵심 정리
  • 원래 트랜스포머는 번역용 인코더-디코더예요.
  • 교차 어텐션은 Q를 번역문에서, K·V를 원문에서 가져와요.
실무 관점
Q·K·V는 업무에도 그대로 쓸 수 있는 생각법이에요. 보고를 받을 때 "무엇이 궁금한가(Q)"를 먼저 정하고, 정보를 "고객·문제·조치" 같은 항목(K)으로 정리한 뒤, 항목별 내용(V)을 읽으면 횡설수설한 보고도 빠르게 정리돼요. AI에게 일을 시킬 때도 원하는 항목을 미리 정해 주면 결과가 좋아져요.

4부. 트랜스포머 가족과 ChatGPT

4-1. 인코더만 쓰는 BERT

이 장에서 배울 것
트랜스포머의 인코더 부분만 쓴 BERT를 알아봐요.

트랜스포머를 반으로 나눠 쓸 수도 있어요. 인코더만 쓴 대표 모델이 BERT예요. BERT는 문장의 앞뒤 문맥을 양쪽 모두 봐요. 학습할 때 문장 중간 단어를 가리고 맞히게 해요(가린 단어 맞히기, masked language modeling).

인코더만 BERT 앞뒤 문맥 모두 보기 → 이해·분류 인코더 + 디코더 원래 트랜스포머 원문 이해 → 번역문 생성 디코더만 GPT · ChatGPT 앞쪽만 보고 다음 토큰 → 생성 목적에 따라 트랜스포머의 앞쪽·뒤쪽 중 어디를 쓰는지가 달라요
트랜스포머 가족 세 갈래 (슬라이드 49~52쪽)

그래서 BERT는 글을 새로 쓰기보다 글을 이해하는 일에 강해요. 문서 분류, 감정 분석, 검색 같은 일이에요. 한국어 문장 이해용으로 만든 KoBERT 같은 모델도 많이 쓰였어요. BERT의 입력은 토큰 임베딩(무슨 단어), 문장 임베딩(몇 번째 문장), 위치 임베딩(몇 번째 자리) 세 가지를 더해서 만들어요.

핵심 정리
  • BERT는 인코더만 쓰고 앞뒤 문맥을 모두 봐요.
  • 가린 단어 맞히기로 배우고, 이해·분류 일에 강해요.

4-2. 디코더만 쓰는 GPT: 다음 토큰 맞히기

이 장에서 배울 것
GPT가 어떤 구조로, 어떻게 학습하는지 알아봐요.

지금의 대규모 언어 모델(LLM)은 대부분 디코더 모델이에요. 처음 트랜스포머는 인코더로 축약했다가 다시 풀었는데, 지금은 들어온 입력에 이어서 출력을 만들기만 하면 돼요.

개념 카드

다음 토큰 예측 Next-token Prediction · 디코더 모델

💡개념
지금까지 나온 글을 보고 바로 다음에 올 토큰을 맞히는 방식이에요. GPT가 이렇게 배워요.

오픈AI(OpenAI)의 GPT는 트랜스포머의 디코더 부분만 떼어 처음 쓰기 시작한 모델이에요. 디코더는 인과 마스크 때문에 앞쪽만 봐요.

학습은 간단해요. 글을 한 칸씩 밀어서 정답을 만들어요. "The" 다음은 "parcel", "The parcel" 다음은 "arrived"… 이렇게 모든 위치에서 동시에 다음 토큰을 맞히게 해요. 정답 문장이 다 있으니 병렬로 빠르게 배울 수 있어요.

정답에 준 확률이 낮을수록 벌점(손실)이 커요. 손실은 −ln(확률)로 계산하고, 가중치를 고쳐서 손실을 줄여요.

👀그림으로 먼저 보기
The parcel arrived ? 디코더 (앞쪽만 봄) today 0.80 late 0.10 fast 0.10 정답 "today"에 준 확률 0.80 → 손실 = −ln(0.80) ≈ 0.223
앞 토큰들을 보고 다음 토큰의 확률을 내요. 정답 확률이 높을수록 손실이 작아요 (슬라이드 54~56쪽 예시)
❓이게 없으면?
Q정답 데이터는 누가 만드나요?A따로 만들 필요가 없어요. 인터넷 글, 책 같은 텍스트 자체가 "다음에 온 단어"라는 정답을 갖고 있어요. 그래서 엄청난 양의 글로 학습할 수 있어요.
⚙️어떻게 작동할까
1
문장을 한 칸 밀어 "입력 → 다음 토큰" 짝을 만들어요.
→
2
모든 위치에서 다음 토큰 확률을 동시에 계산해요 (마스크로 미래는 가림).
→
3
정답 확률이 낮으면 손실이 크니, 손실을 줄이도록 가중치를 고쳐요.
✍️쉬운 비유: 끝말 이어 쓰기 연습
비유AI
친구가 쓴 문장 앞부분↔입력 접두부
다음 단어 맞히기↔다음 토큰 예측
틀린 만큼 받는 벌점↔손실 −ln(p)
🔢숫자 예시
정답 확률 0.80
0.223
−ln(0.80), 손실이 작아요
정답 확률 0.50
0.693
−ln(0.50)
정답 확률 0.10
2.303
−ln(0.10), 손실이 커요
⚠️헷갈리기 쉬운 점
학습할 때
정답 문장이 다 있어서 모든 위치를 한 번에 계산해요.
글을 만들 때
토큰을 하나 고를 때마다 기다렸다가 다음을 계산해요.
핵심 정리
  • GPT는 디코더만 쓰고 앞쪽만 봐요.
  • 다음 토큰 맞히기로 배우고, 글 자체가 정답이에요.
  • 손실 = −ln(정답 확률), 확률이 낮을수록 커요.

4-3. ChatGPT는 무엇이 달라졌나: 사람 피드백

이 장에서 배울 것
GPT와 ChatGPT의 차이를 만든 사람 피드백 학습을 알아봐요.
개념 카드

사람 피드백 강화 학습 RLHF · Reinforcement Learning from Human Feedback

💡개념
사람이 "어느 답이 더 좋은지" 평가한 것으로 모델을 다듬는 학습이에요.

GPT 모델은 전부터 있었는데, ChatGPT가 갑자기 달라 보인 이유가 여기 있어요. 인터넷 글과 책만 배운 모델은 그럴듯한 다음 단어는 잘 맞혀도, 사람이 원하는 답을 잘 주지 못했어요. 사람의 선호가 반영되지 않았기 때문이에요.

그래서 사람이 같은 질문에 대한 여러 답을 보고 순위를 매겨요. 이 순위로 "사람이 좋아할 답인지" 점수를 매기는 보상 모델을 만들고, 그 점수를 높이는 방향으로 모델을 강화 학습시켜요.

사전 학습이 "아는 것"을 만든다면, RLHF 같은 사후 학습은 "말하는 태도와 방식"을 다듬어요.

👀그림으로 먼저 보기
사전 학습 인터넷·책 글 답변 여러 개 A · B · C 사람이 순위 매김 B > A > C 보상 모델 선호 점수 강화 학습 → ChatGPT 더 좋은 답을 내도록 계속 개선
사전 학습 → 사람의 순위 평가 → 보상 모델 → 강화 학습 (개념 그림)
❓이게 없으면?
Q사전 학습만으로는 왜 부족하죠?A인터넷 글을 흉내 내는 것과 사용자 질문에 도움이 되게 답하는 것은 달라요. 사람의 평가가 들어가야 "도움이 되고 안전한 답"을 고르는 법을 배워요.
⚙️어떻게 작동할까
1
같은 질문에 모델이 여러 답을 만들어요.
→
2
사람이 답들의 순위를 매기고, 그걸로 보상 모델을 학습해요.
→
3
보상 점수가 높아지도록 모델을 강화 학습으로 고쳐요.
🧑‍🏫쉬운 비유: 신입 사원 코칭
비유AI
대학에서 배운 지식↔사전 학습
선배가 보고서마다 "이게 더 낫다"고 피드백↔사람의 순위 평가
피드백을 반영해 점점 일을 잘함↔강화 학습
🔢숫자 예시
평가 방식
순위
"A가 B보다 낫다" 같은 비교로 평가해요
바뀌는 것
말하는 방식
새 지식보다 답하는 태도를 주로 다듬어요
⚠️헷갈리기 쉬운 점
사전 학습
엄청난 양의 글로 다음 토큰 맞히기를 배워요.
사후 학습 (SFT·RLHF)
정답 예시와 사람 평가로 원하는 행동을 다듬어요.

이 방법은 2022년 오픈AI의 InstructGPT 논문(오우양 등)에서 정리됐고, ChatGPT는 2022년 11월 이 방식으로 다듬어 공개됐어요.

수업에서 나온 케냐 이야기는 이렇게 알려져 있어요. 2023년 1월 미국 시사지 TIME은 오픈AI가 외주 회사(Sama)를 통해 케냐 노동자들에게 시간당 2달러가 안 되는 임금으로 폭력·혐오 같은 해로운 글에 이름표를 붙이게 했다고 보도했어요. 이 데이터는 ChatGPT의 유해 표현 거르개를 만드는 데 쓰였어요. AI 품질 뒤에 많은 사람의 노동이 있다는 점도 함께 기억해 두세요.

핵심 정리
  • ChatGPT의 차이는 사람의 선호 평가를 반영한 학습이에요.
  • 사전 학습은 지식, 사후 학습은 답하는 방식을 다듬어요.

4-4. 글을 만드는 방법: 자기회귀 생성과 온도

이 장에서 배울 것
LLM이 답을 한 토큰씩 만드는 과정과 온도의 역할을 알아봐요.

LLM은 답을 한 번에 만들지 않아요. 다음 토큰을 예측하고, 하나 골라 붙이고, 다시 예측하기를 반복해요. 이것을 자기회귀 생성(autoregressive generation)이라고 해요. "Delivery → was → late"처럼 하나씩 더해 가요.

Delivery was late . 예측 → 하나 고르기 → 붙이기 → 다시 예측 … 멈춤 신호가 나올 때까지 이미 계산한 K·V는 캐시에 저장해 다시 쓰고, 새 토큰 것만 계산해요 (KV 캐시)
자기회귀 생성: 토큰을 하나씩 붙여 가며 글을 만들어요 (슬라이드 57·59쪽)

매번 앞의 모든 토큰을 다시 계산하면 낭비예요. 그래서 이미 계산한 키와 밸류를 저장해 두고 다시 써요. 이것이 KV 캐시예요. 메모리를 더 쓰는 대신 반복 계산을 줄여요.

개념 카드

온도 Temperature

💡개념
다음 토큰을 고를 때 얼마나 다양하게(모험적으로) 고를지 정하는 조절 손잡이예요.

모델은 다음 토큰 후보마다 확률을 내요. 온도는 이 확률을 다시 조정하는 숫자예요. 온도를 낮추면 확률이 높은 후보에 더 몰리고, 높이면 확률이 고르게 퍼져요.

온도가 낮으면 늘 비슷하고 안정적인 답이 나와요. 온도가 높으면 "이것도 해 보고 저것도 해 보는" 창의적이고 다양한 답이 나와요. 대신 엉뚱한 답이 섞일 위험도 커요.

예전에는 사용자가 온도를 직접 정하는 경우가 많았어요. 요즘 서비스는 기술이 좋아지면서 알아서 조절해 주는 경우가 많아요.

👀그림으로 먼저 보기
온도 T = 1 온도 T = 0.5 late 0.50 late 0.658 fast 0.30 fast 0.237 today 0.20 today 0.105 온도를 낮추면 1등 후보에 확률이 몰려요
같은 후보라도 온도 0.5에서는 1등 "late"의 확률이 0.50 → 0.658로 커져요 (슬라이드 58쪽)
❓이게 없으면?
Q늘 확률이 가장 높은 것만 고르면 안 되나요?A그러면 답이 늘 똑같고 단조로워요. 아이디어 내기처럼 다양함이 필요한 일에는 온도를 조금 높이는 게 좋아요.
⚙️어떻게 작동할까
1
모델이 후보마다 점수(로짓)를 내요.
→
2
점수를 온도로 나눈 뒤 확률로 바꿔요.
→
3
그 확률대로 토큰 하나를 뽑아 이어 붙여요.
🍱쉬운 비유: 점심 메뉴 고르기
비유AI
늘 가던 1등 식당만 감↔온도 낮음 (일관성)
가끔 새 식당도 가 봄↔온도 높음 (다양성)
새 식당이 별로일 수도 있음↔엉뚱한 답 위험
🔢숫자 예시
T = 1일 때 late
0.50
원래 확률 그대로
T = 0.5일 때 late
0.658
1등에 더 몰려요
T = 0.5일 때 today
0.105
꼴찌는 더 작아져요 (0.20 → 0.105)
⚠️헷갈리기 쉬운 점
온도 낮음
정확한 답, 문서 요약, 코드처럼 일관성이 중요할 때
온도 높음
아이디어, 카피, 이야기처럼 다양성이 중요할 때
핵심 정리
  • LLM은 토큰을 하나씩 붙여 가며 답을 만들어요.
  • KV 캐시는 앞 계산을 저장해 다시 써요.
  • 온도는 일관성과 다양성 사이를 조절해요.

4-5. 문맥이 길어지면 생기는 일

이 장에서 배울 것
긴 문맥이 왜 비싼지, 그리고 문맥과 학습의 차이를 알아봐요.

문맥(context)은 지금까지 모델과 나눈 이야기와 함께 넣어 준 자료예요. 최신 모델은 아주 긴 문맥을 기억해야 해요. 그런데 전체 어텐션은 모든 토큰 쌍을 비교해서, 길이가 2배가 되면 계산할 쌍은 4배가 돼요.

1배 토큰 1,000개 4배 토큰 2,000개 16배 토큰 4,000개 길이 2배 → 비교할 쌍 4배
모든 토큰 쌍을 비교하면 계산량이 길이의 제곱으로 늘어요 (슬라이드 60쪽)

문맥이 백만 토큰이라면, 백만 번째 앞에 있던 단어와 지금 단어의 관계까지 기억해야 해요. 그래서 모델은 점점 복잡해지고, 데이터 센터는 커지고, 전기를 많이 먹게 돼요.

최신 모델 중에는 한 번에 100만 토큰 안팎의 문맥을 받는 것도 있어요. 다만 받을 수 있는 길이와 그 안의 내용을 끝까지 잘 활용하는 능력은 별개라서, 실제 성능은 따로 확인해야 해요.

중요한 구분이 하나 있어요. 문맥은 학습이 아니에요. 프롬프트에 자료를 길게 넣어도 그 순간에만 쓰일 뿐 모델의 가중치(학습된 숫자)는 바뀌지 않아요. 모델을 한없이 키울 수는 없으니, 이제는 문맥을 잘 기억하는 메모리 구조를 잘 만드는 게 중요한 시대가 되고 있어요. NeurIPS 같은 최고 AI 학회에도 이런 연구가 많이 나오고 있어요.

핵심 정리
  • 전체 어텐션의 계산량은 문맥 길이의 제곱으로 늘어요.
  • 문맥에 넣은 자료는 가중치를 바꾸지 않아요.
  • 이제는 문맥을 잘 기억하는 메모리 구조가 중요해요.

4-6. 회사 자료로 답하게 하기: RAG

이 장에서 배울 것
AI가 회사 정보를 근거로 답하게 하는 방법을 알아봐요.
개념 카드

검색 증강 생성 RAG · Retrieval-Augmented Generation

💡개념
질문과 관련된 회사 자료를 먼저 찾아서 근거로 붙여 준 뒤 답하게 하는 방법이에요.

AI는 우리 회사가 어떻게 일하는지 몰라요. 업무, 고객, 그동안의 일 기록을 가르치는 방법 중 하나가 RAG예요. 이름 그대로 검색(Retrieval)으로 보강(Augmented)해서 생성(Generation)해요.

자료는 벡터 DB에 넣어 둬요. 벡터 DB는 글을 임베딩으로 저장해서, 질문하면 뜻이 비슷한 내용을 찾아 주는 데이터베이스예요. 찾은 내용을 질문과 함께 문맥으로 넣으면 모델이 그걸 근거로 답해요.

교수님은 RAG를 "AI를 위한 회사 업무 매뉴얼"이라고 하셨어요. 매뉴얼은 한 번 만들어 두고 찾아 쓰는 것이라 매일 고치지 않아요. 그래서 매일 바뀌는 프로젝트 기록(업무 문맥)과는 달라요.

👀그림으로 먼저 보기
질문 "환불 규정은?" 벡터 DB 검색 뜻이 비슷한 문서 회사 문서 규정·매뉴얼·기록 근거 + 질문 문맥으로 넣기 LLM 답변 + 출처
질문 → 비슷한 문서 검색 → 근거와 함께 넣기 → 출처 있는 답 (슬라이드 62쪽)
❓이게 없으면?
QAI에게 우리 회사 정보를 그냥 학습시키면 안 되나요?A다시 학습하려면 비용이 크고, 정보가 바뀔 때마다 또 해야 해요. RAG는 문서만 바꾸면 바로 최신 정보로 답하고, 답의 근거 문서도 보여 줄 수 있어요.
⚙️어떻게 작동할까
1
회사 문서를 조각내 임베딩으로 벡터 DB에 저장해요.
→
2
질문이 오면 뜻이 비슷한 조각을 찾아요.
→
3
찾은 근거를 문맥으로 넣어 답하게 하고, 답이 근거와 맞는지 확인해요.
📖쉬운 비유: 오픈북 시험
비유AI
시험 중 교과서를 펴 봄↔외부 문서 검색
필요한 쪽을 찾아 읽음↔관련 문서를 문맥에 넣기
교과서를 근거로 답 쓰기↔출처 있는 답변
🔢숫자 예시
바뀌는 것
문서
모델 가중치는 그대로예요
확인할 것
근거 대조
답이 찾은 문서와 맞는지 확인해요
⚠️헷갈리기 쉬운 점
RAG
필요할 때 자료를 찾아 문맥에 넣어요. 가중치는 안 바뀌어요.
미세 조정 (파인튜닝)
추가 자료로 모델 가중치 자체를 고쳐요.
필요한 결과알맞은 방법
고객 불만에 이름표 붙이기인코더·분류 모델
답장 초안 쓰기디코더(생성) 모델
최신 회사 규정으로 답하기검색(RAG) + 생성

일에 맞는 시스템을 고를 때는 필요한 결과에서 출발해요. 근거가 필요한지, 속도와 비용은 어떤지 따지고, 실제로 자주 틀리는 사례로 평가해요.

핵심 정리
  • RAG는 회사 자료를 찾아 근거로 붙여 답하게 해요.
  • 벡터 DB는 뜻이 비슷한 내용을 찾아 줘요.
  • 자주 바뀌는 업무 기록과 매뉴얼은 다르게 다뤄야 해요.
실무 관점
사내 AI를 도입할 때 "무엇을 학습시킬까"보다 먼저 "무엇을 문맥으로 넣어 줄까"를 생각해 보세요. 자주 바뀌는 규정·가격·재고는 RAG로 넣는 게 빠르고 싸요. 문맥이 길수록 비용이 크게 늘기 때문에, 관련 있는 자료만 골라 넣는 검색 품질이 곧 비용 절감이에요.

5부. 요즘 LLM 기술

5-1. 생각의 사슬(CoT)과 추론

이 장에서 배울 것
중간 단계를 거쳐 생각하게 하는 방법과, 학습과 추론의 차이를 알아봐요.
개념 카드

생각의 사슬 CoT · Chain of Thought

💡개념
답을 바로 내지 않고 중간 단계를 차례로 거쳐 답하게 하는 방법이에요.

2022년 위(Wei) 등의 연구에서, 예시에 중간 풀이 과정을 넣어 주면 모델이 어려운 문제를 더 잘 푼다는 게 알려졌어요.

교수님은 이렇게 설명하셨어요. 트랜스포머는 층이 많으니까 한 층에 일 하나씩 하라고 하면 된다는 거예요. 문제를 작게 쪼개면 각 단계가 쉬워져요.

요즘 모델은 어려운 문제에 계산을 더 써요. 일단 답을 내고, 검사하는 쪽이 이상하다고 하면 다시 해서 답을 줘요. 다만 그럴듯한 설명이 틀릴 수도 있으니 결과는 따로 확인해야 해요.

👀그림으로 먼저 보기
질문: 20달러짜리 상품 3개를 10% 할인하면 얼마예요? ① 소계 3 × 20 = $60 ② 할인액 $60 × 0.10 = $6 ③ 최종 $60 − $6 = $54 단계를 나눠 쓰면 중간 계산을 검사할 수 있어요
슬라이드 67쪽의 할인 계산 예시
❓이게 없으면?
Q한 번에 답하게 하면 안 되나요?A여러 단계가 필요한 문제를 한 번에 풀면 중간에서 실수하기 쉬워요. 단계로 나누면 실수가 줄고, 어디서 틀렸는지 찾기도 쉬워요.
⚙️어떻게 작동할까
1
문제를 작은 단계로 나눠요.
→
2
단계별로 계산하고 결과를 적어요.
→
3
마지막에 답을 내고, 도구나 검사로 확인해요.
📝쉬운 비유: 수학 풀이 노트
비유AI
답만 쓰지 말고 풀이 과정 쓰기↔중간 단계 생성
선생님이 풀이를 보고 틀린 곳 찾기↔검증
어려운 문제는 시간 더 쓰기↔추론 시간 계산 늘리기
🔢숫자 예시
소계
$60
3 × $20
할인액
$6
$60 × 10%
최종 금액
$54
$60 − $6
⚠️헷갈리기 쉬운 점
CoT (추론 방식)
답을 만드는 방법이에요. 모델 가중치는 그대로예요.
추론 학습 (SFT·RL)
추론을 잘하도록 학습해서 가중치 자체를 바꿔요.
단계무엇이 바뀌나쉬운 예
사전 학습일반적인 예측 가중치대학에서 기초를 배움
사후 학습 (SFT·RL)원하는 행동 쪽으로 가중치 수정회사에서 업무를 추가로 배움
추론 (사용할 때)토큰과 임시 상태만배운 걸로 일을 처리함

수업에서는 법률 모델 예가 나왔어요. 이미 다 배운 모델이 법률은 안 배웠다면, 처음부터 다시 배우지 말고 "육법전서를 줄 테니 지금 배운 가중치를 거기에 맞게 바꿔"라고 해요. 대학을 나온 신입이 회사에 들어가 업무를 추가로 배우는 것과 같아요.

핵심 정리
  • CoT는 중간 단계를 거쳐 답해서 실수를 줄여요.
  • 추론할 때는 가중치가 안 바뀌고, 사후 학습은 가중치를 바꿔요.

5-2. 전문가 혼합(MoE): 필요한 전문가만 부르기

이 장에서 배울 것
거대한 모델을 싸게 쓰는 MoE 구조와 그 역사를 알아봐요.
개념 카드

전문가 혼합 MoE · Mixture of Experts

💡개념
모델 안에 여러 "전문가" 작은 신경망을 두고, 토큰마다 일부만 골라 계산하는 구조예요.

법률·코딩·일반 보고서처럼 각자 잘하는 전문가들이 있다고 생각해 보세요. 그냥 아무에게나 일을 나눠 줄 수는 없으니, 들어온 문제를 보고 "저 친구가 잘할 것 같아" 하고 판단하는 게이팅 네트워크(라우터)가 필요해요. 아이디어로 보면 일을 나누는 분업이에요.

그래서 전체 파라미터는 엄청 크지만 한 번에 쓰는 것은 몇십 분의 일뿐이에요. 성능은 좋아지고 계산량은 줄어서 비용도 적게 들어요.

다만 공짜는 아니에요. 특정 전문가에게 일이 몰릴 수 있고, 전문가들이 여러 장비에 흩어져 있으면 통신 비용이 들고, 전체 가중치를 담을 메모리도 여전히 필요해요.

👀그림으로 먼저 보기
토큰 "계약서" 라우터 (게이팅) 법률 전문가 코딩 전문가 보고서 전문가 수학 전문가 출력 전문가 중 일부만 계산해요 (나머지는 쉼)
라우터가 토큰마다 맞는 전문가만 골라 계산해요 (개념 그림, 슬라이드 70쪽)
❓이게 없으면?
Q그냥 큰 모델 하나를 다 쓰면 안 되나요?A모든 질문에 모든 파라미터를 다 쓰면 계산이 너무 비싸요. MoE는 큰 모델의 실력을 유지하면서 질문마다 필요한 부분만 써서 비용을 줄여요.
⚙️어떻게 작동할까
1
라우터가 들어온 토큰을 보고 맞는 전문가를 골라요.
→
2
고른 전문가(하나 또는 몇 개)만 계산해요.
→
3
전문가들의 결과를 합쳐 다음 층으로 보내요.
🏥쉬운 비유: 종합병원 접수처
비유AI
접수처 직원↔라우터(게이팅 네트워크)
내과·외과·피부과 전문의↔전문가 신경망
환자 한 명은 필요한 과만 감↔토큰마다 일부 전문가만 계산
🔢숫자 예시
전체 파라미터
6,710억 개
DeepSeek-V3 발표 기준
토큰당 사용
370억 개
한 번에 계산하는 부분
사용 비율
약 5.5%
370억 ÷ 6,710억
⚠️헷갈리기 쉬운 점
사용 비율 5.5%
계산하는 파라미터의 비율이에요.
속도 5.5%?
속도가 그만큼 빨라진다는 뜻은 아니에요. 메모리·통신 비용은 남아요.

MoE가 널리 알려진 계기는 중국의 DeepSeek였어요. 많은 회사가 MoE를 쓴다는 걸 비밀처럼 감춰 두었는데, DeepSeek 모델에 MoE가 들어 있고 성능도 좋다는 게 알려지자 충격이 컸어요. 2025년 1월 27일 엔비디아(NVIDIA) 주가가 하루에 약 17% 떨어졌어요.

아이디어 자체는 오래됐어요. 교수님도 1997년 무렵 MoE 논문을 쓰셨다고 해요. 당시에는 버클리 대학의 마이클 조던(Michael I. Jordan) 교수 연구 등으로 잠시 유행했지만, 전문가 하나하나가 단순한 퍼셉트론이었고 개수도 적어서 성능이 좋지 않아 잊혔어요. 지금은 전문가 하나하나가 큰 신경망이 되면서 다시 주목받고 있어요.

MoE의 출발점으로 꼽히는 논문은 1991년 제이콥스·조던·노울런·힌턴의 「Adaptive Mixtures of Local Experts」예요. 2022년 구글의 Switch Transformer(페더스 등)는 토큰마다 전문가 하나만 고르는(top-1) 방식으로 1조 개가 넘는 파라미터 규모까지 키웠어요.

핵심 정리
  • MoE는 라우터가 고른 일부 전문가만 계산해요.
  • DeepSeek-V3는 6,710억 개 중 370억 개(약 5.5%)만 써요.
  • 아이디어는 1990년대부터 있었고, 큰 신경망과 만나 다시 떴어요.

5-3. 하이브리드 어텐션

이 장에서 배울 것
긴 문맥의 비용을 줄이려는 최신 구조를 알아봐요.

토큰 사이의 어텐션을 모두 계산하는 것을 전체 어텐션(full attention)이라고 해요. 앞에서 봤듯이 비싸요. 하이브리드 어텐션은 여러 방식을 섞어요. 많은 층은 가벼운 순환식 처리로 문맥을 요약하고, 일부 층만 전체 어텐션으로 모든 토큰 관계를 지켜요.

가벼운 순환 처리 층 1 가벼운 순환 처리 층 2 가벼운 순환 처리 층 3 전체 어텐션 층 4 여러 층은 싸게 처리하고, 가끔 전체 어텐션으로 모든 토큰 관계를 지켜요 + 피드포워드 자리에는 MoE (필요한 전문가만 계산)
하이브리드 어텐션의 개념 (실제 Qwen 층 배치와 똑같지는 않아요, 슬라이드 73쪽)

2026년의 예로 Qwen 팀의 Qwen3.5가 있어요. 게이트가 달린 순환 처리와 전체 어텐션 층을 섞고, 여기에 MoE까지 더해서 꼭 필요한 계산만 하도록 만들었어요.

핵심 정리
  • 전체 어텐션은 모든 토큰 쌍을 비교해서 비싸요.
  • 하이브리드 어텐션은 가벼운 층과 전체 어텐션 층을 섞어 비용을 줄여요.

5-4. 멀티모달: 글·사진·소리를 함께

이 장에서 배울 것
여러 종류의 입력을 함께 다루는 멀티모달 모델을 알아봐요.

멀티모달(multimodal) 트랜스포머는 텍스트, 이미지, 오디오를 각각 알맞게 인코딩하고, 그 결과를 합쳐서 처리해요. 예전에는 텍스트는 RNN이나 트랜스포머, 이미지는 CNN으로 따로 다뤘어요. 이제는 모두 토큰의 줄(순서 있는 데이터)처럼 만들어 한 모델에서 처리하는 경우가 많아요. 입력과 출력이 모두 멀티모달인 모델도 있고 아닌 것도 있어요.

텍스트 토큰 임베딩 이미지 비전 인코더 오디오 오디오 인코더 언어 모델 하나로 합쳐 처리 답변
종류마다 따로 인코딩한 뒤 언어 모델에 연결해요 (슬라이드 74쪽)

대표적인 예가 2022년 알라이락(Alayrac) 등이 발표한 플라밍고(Flamingo)예요. 비전 인코더가 사진을 처리하고, 고정된 개수의 "시각 토큰"으로 줄인 뒤, 새로 끼운 교차 어텐션 층으로 언어 모델에 연결해요.

교수님은 앞으로 거의 모든 서비스가 멀티모달이 될 거라고 하셨어요. 큰 회사들이 "모든 소비자가 우리를 통해 다른 데로 가게" 하려면, 글·사진·소리를 한 번에 다루는 능력이 꼭 필요하기 때문이에요.

메타는 2026년 "Muse" 계열 AI 모델(예: Muse Spark, Muse Image)을 내놓고 메타 AI 앱 같은 자사 서비스에서 무료로 쓸 수 있게 했다고 보도됐어요. 다만 보도마다 세부 내용이 조금씩 달라서, 정확한 기능과 공개 범위는 확인이 필요해요.

핵심 정리
  • 멀티모달은 종류별로 인코딩한 뒤 언어 모델에 합쳐요.
  • 플라밍고는 교차 어텐션으로 사진 정보를 언어 모델에 연결해요.

5-5. 모델보다 시스템: RAG·도구·에이전트

이 장에서 배울 것
이 수업이 최종적으로 향하는 "여러 AI를 묶어 쓰는 능력"을 알아봐요.

요즘 AI 서비스는 모델 하나가 아니에요. RAG로 최신 근거를 읽고, 도구로 환불액 계산 같은 정확한 작업을 하고, 에이전트가 목표를 향해 이 동작들을 조율해요.

계획 실행 확인 계속 RAG(근거 읽기) · 도구(계산·조회) · 에이전트(목표까지 반복)
에이전트는 목표를 이룰 때까지 계획 → 실행 → 확인을 반복해요 (슬라이드 76쪽)
평가 항목무엇을 재나
품질실제 업무에서 성공했는지
속도목표 처리량에서 걸리는 시간
비용성공 한 건당 비용
통제권한 관리, 실패했을 때 복구

교수님이 강조하신 결론은 이거예요. 이제는 모델이 아니라, 여러 에이전트를 얼마나 잘 활용하느냐가 중요한 시대예요. 앤트로픽, 구글, 코덱스 같은 서비스 안에는 이미 여러 모델이 들어 있어요. 우리가 새 모델을 만들기는 어렵지만, 여러 개를 묶어 옆 회사보다 더 잘하게 만들 수는 있어요.

그 기술의 끝은 "내가 원하는, 계속 발전하는 시스템"이에요. 그러려면 AI에게 무엇을 시켜야 할지 우리가 알아야 해요. 이 수업에서 마지막에 배울 내용도 바로 이것이에요.

핵심 정리
  • RAG는 근거, 도구는 정확한 작업, 에이전트는 조율을 맡아요.
  • 모델 성능만이 아니라 품질·속도·비용·통제를 함께 평가해요.
  • 이제는 여러 AI를 묶어 잘 쓰는 능력이 경쟁력이에요.
실무 관점
AI 도입 효과를 따질 때 "어떤 모델이 제일 똑똑한가"만 보지 마세요. 성공 한 건당 비용, 실패했을 때 사람이 개입하는 방법, 근거를 확인하는 절차까지 함께 설계해야 해요. 어려운 일은 단계로 나눠 시키고(CoT), 정확해야 하는 계산은 도구에 맡기는 것이 기본이에요.

오늘 수업 전체 요약

부한 줄 요약
1부. 글을 숫자로 바꾸기글을 토큰으로 자르고, 뜻을 담은 임베딩 벡터로 바꾸고, 코사인 유사도로 비슷함을 재요. 문맥과 순서가 뜻을 바꿔요.
2부. RNN과 LSTMRNN은 상태를 넘기며 순서대로 읽고, LSTM은 문으로 긴 기억을 지켜요. 그다음 단어 관계를 직접 보는 어텐션이 나왔어요.
3부. 트랜스포머Q·K 내적 → 소프트맥스 → V 섞기로 문맥을 계산하고, 멀티헤드·위치 정보·피드포워드·잔차 연결로 블록을 쌓아요.
4부. 트랜스포머 가족과 ChatGPTBERT는 인코더, GPT는 디코더예요. ChatGPT는 사람 피드백으로 다듬었고, 글은 토큰을 하나씩 붙여 만들어요. 회사 자료는 RAG로 넣어요.
5부. 요즘 LLM 기술CoT로 단계를 나눠 생각하고, MoE로 필요한 전문가만 계산하고, 멀티모달·에이전트로 시스템을 만들어요. 이제는 여러 AI를 묶어 쓰는 능력이 중요해요.

용어 색인

한글영어한 줄 뜻나온 장
토큰TokenAI가 처리하는 가장 작은 글 조각1-2
원-핫 벡터One-hot Vector단어 칸 하나만 1인 숫자 줄1-3
임베딩Embedding뜻을 담은 숫자 수백 개1-4
코사인 유사도Cosine Similarity두 벡터 방향의 비슷함 점수1-5
Word2VecWord2Vec주변 단어 맞히기로 임베딩을 배우는 방법1-5
문맥 임베딩Contextual Embedding앞뒤 단어에 따라 달라지는 벡터1-6
순환 신경망RNN상태를 넘기며 순서대로 읽는 신경망2-2
시간 역전파BPTT펼친 모든 단계로 오차를 거꾸로 보내 배우기2-3
긴 거리 의존성Long-distance Dependency멀리 떨어진 단어 사이의 관계2-4
장단기 기억 신경망LSTM문으로 기억을 조절하는 RNN2-5
어텐션Attention필요한 정보를 골라 가중치를 주는 방법2-6
고정 상태 병목Fixed-state Bottleneck상태 하나에 모두 담아 세부가 빠지는 문제3-1
셀프 어텐션Self-attention한 문장 안에서 토큰끼리 서로 읽기3-2
쿼리·키·밸류Query·Key·Value질문·분류표·내용 세 벡터3-3
소프트맥스Softmax점수를 합이 1인 비율로 바꾸는 함수3-4
인과 마스킹Causal Masking미래 토큰을 가리는 장치3-4
멀티헤드 어텐션Multi-head Attention어텐션 여러 개를 동시에 돌리기3-5
위치 정보Positional Encoding단어 순서를 알려 주는 표현3-6
잔차 연결Residual Connection입력을 출력에 더해 주는 지름길3-7
교차 어텐션Cross-attentionQ는 번역문, K·V는 원문에서 가져오기3-8
다음 토큰 예측Next-token Prediction다음에 올 토큰을 맞히는 학습4-2
사람 피드백 강화 학습RLHF사람의 순위 평가로 모델 다듬기4-3
자기회귀 생성Autoregressive Generation토큰을 하나씩 붙여 글 만들기4-4
온도Temperature다음 토큰 선택의 다양성 조절4-4
검색 증강 생성RAG자료를 찾아 근거로 붙여 답하기4-6
벡터 DBVector Database뜻이 비슷한 내용을 찾아 주는 저장소4-6
생각의 사슬CoT중간 단계를 거쳐 답하기5-1
전문가 혼합MoE일부 전문가만 계산하는 구조5-2
하이브리드 어텐션Hybrid Attention가벼운 층과 전체 어텐션 층 섞기5-3
멀티모달Multimodal글·사진·소리를 함께 다루기5-4
에이전트Agent목표까지 계획·실행·확인을 반복하는 AI5-5