핵심 인사이트 (3줄 요약)
- 본질: 트랜스포머(Transformer)는 "단어는 순서대로 읽어야 한다"는 RNN의 수십 년 된 강박관념을 완전히 부숴버리고, 문장의 100개 단어를 한 번에 통째로 집어넣어 단어들끼리의 관계(맥락)를 행렬 곱셈 한 방으로 파악하는 '순서 없는' 딥러닝 아키텍처다.
- 가치: RNN처럼 1번 단어부터 100번 단어까지 순차적으로 100번 연산할 필요 없이, GPU의 병렬 처리 능력을 극한으로 쥐어짜 1번 만에 100개의 단어 관계를 계산하므로(병렬 연산), 모델의 크기를 1,000억 개의 거대 언어 모델(LLM)로 키울 수 있는 무한한 확장성을 인류에게 선물했다.
- 판단 포인트: 단어를 한꺼번에 넣기 때문에 기계는 어떤 단어가 앞에 있고 뒤에 있는지 '순서(Time Step)'를 모른다. 따라서 단어마다 "나는 1번째 단어야, 2번째 단어야"라는 위치표표(Positional Encoding)를 강제로 달아주는 전처리가 트랜스포머 파이프라인의 필수 전제 조건이다.
Ⅰ. 개요 및 필요성
구글 번역기 팀은 우울했다. LSTM(RNN 계열)에 어텐션(Attention)을 붙여서 성능을 끌어올렸지만, 여전히 치명적인 문제가 있었다. "The animal didn't cross the street because it was too tired." 이 문장에서 'it(그것)'이 동물인지 길거리인지 번역하려면 앞의 내용을 읽어봐야 한다. 그런데 LSTM은 한 단어씩 순서대로 읽기 때문에, 문장이 1만 단어로 길어지면 GPU가 1만 번을 쉬지 않고 순차적으로 돌아야 해서 학습 시간이 우주로 가버렸다. (병렬 처리 불가).
2017년, 구글의 8명 천재들이 미친 논문
📢 섹션 요약 비유: 옛날엔 책을 읽을 때 1페이지부터 100페이지까지 순서대로 한 글자씩 낭독(RNN)하느라 평생이 걸렸다. 트랜스포머는 100명의 직원(GPU 병렬 연산)을 고용해서 1명당 1페이지씩 나눠주고, 1초 만에 다 읽은 뒤 서로 "네 페이지에 있는 단어랑 내 페이지에 있는 단어 중에 연결되는 게 뭐지?" 하고 동시에 회의(어텐션)를 끝내버리는 마법이다.
Ⅱ. 아키텍처 및 핵심 원리
트랜스포머는 RNN의 메모리 주머니를 버리고, Q, K, V라는 세 개의 복제 텐서를 엮어내는 **셀프 어텐션(Self-Attention)**으로 문맥을 창조한다.
┌────────────────────────────────────────────────────────┐
│ [ 트랜스포머 (Transformer)의 병렬 연산 파이프라인 ] │
├────────────────────────────────────────────────────────┤
│ 1. 입력과 포지셔널 인코딩 (Positional Encoding) │
│ - 100개 단어가 동시에 들어옴 (순서를 모름) │
│ - 각 단어 벡터에 "나는 1번 위치다", "나는 2번이다"라는 │
│ 사인/코사인(Sin/Cos) 주파수 파동(꼬리표)을 더해줌 │
│ │
│ 2. 셀프 어텐션 (Self-Attention) : Q, K, V의 마법 │
│ - "it"이라는 단어 하나를 복사해서 3개로 만듦 (Q, K, V) │
│ - Q(질문): "나 'it'인데 나랑 관련 있는 단어 누구야?" │
│ - K(키): 다른 모든 단어들이 들고 있는 이름표 (animal, street..)│
│ - V(값): 다른 단어들의 실제 의미 (내용물) │
│ - Q와 K를 행렬 곱셈(내적)하여 점수를 내고, 그 점수만큼 V를 섞어줌!│
│ │
│ 3. 멀티 헤드 어텐션 (Multi-Head Attention) │
│ - 이 짓을 한 번만 하지 않고, 8개의 머리(Head)가 동시에 계산함 │
│ - 1번 머리는 '문법'에 집중하고, 2번 머리는 '감정'에 집중함 │
│ - 각자 쪼개서 본 문맥을 마지막에 하나로 쫙 합침 (다양한 시각 획득)│
└────────────────────────────────────────────────────────┘
- Self-Attention의 본질: 예전의 어텐션은 인코더(영어)와 디코더(한국어) 사이의 궁합을 재는 것이었다. 트랜스포머의 '셀프 어텐션'은 영어 문장 안에서 영어 단어들끼리의 궁합을 재는 것이다. "The animal didn't cross..." 문장 전체를 한 번에 넣으면, 'it'이 'animal'을 가리킨다는 것을 Q-K-V 연산을 통해 스스로 완벽하게 찾아낸다.
- 잔차 연결(Add)과 정규화(Norm): 어텐션을 통과한 뒤, ResNet에서 썼던 샛길(Skip Connection)로 원본을 더해주고 레이어 정규화(Layer Normalization)를 때려준다. 아무리 층을 깊게 쌓아도 기울기 소실(Vanishing Gradient)이 발생하지 않는 무적의 뼈대다.
📢 섹션 요약 비유: Q(질문)는 "나(it)랑 친한 사람?", K(키)는 "나(animal)는 동물이란 뜻을 가졌어", V(값)는 그 단어의 "진짜 영혼"이다. 파티장(문장)에 모인 100명이 동시에 명함(K)을 돌리고, 1초 만에 자기랑 가장 친한 친구들(V)의 영혼을 섞어 새로운 나(Context Vector)로 진화하는 거대한 인맥 파티다.
Ⅲ. 비교 및 연결
시계열 처리를 지배했던 RNN과 현재의 트랜스포머의 스펙을 비교해 본다.
| 비교 항목 | RNN / LSTM | 트랜스포머 (Transformer) |
|---|---|---|
| 문맥 파악 방식 | 단어를 하나씩 읽으면서 이전 기억에 곱함 | 문장 전체를 한 번에 넣고 단어끼리 곱함 (셀프 어텐션) |
| GPU 병렬 처리 | 불가능 (앞 단어 연산이 끝날 때까지 대기) | 완벽하게 가능 (100만 단어도 동시 계산) |
| 기억력 한계 | 수백 단어 넘어가면 찌그러짐 (병목 현상) | 이론상 무한대 (단, 메모리만 허락한다면) |
| 시간 복잡도 | 단어 길이에 선형적 ($O(N)$) | 단어 길이의 제곱 ($O(N^2)$) - 유일한 단점 |
| 대표 후손들 | 거의 멸종 | BERT(인코더), GPT(디코더), Llama |
트랜스포머는 RNN의 모든 약점을 파괴했지만, 딱 하나의 치명적 약점을 가지고 태어났다. 문장이 1만 단어면 1만 x 1만 행렬을 만들어야 해서 메모리(VRAM)가 제곱($N^2$)으로 폭발한다는 것이다. 그래서 챗GPT를 쓸 때 "입력 프롬프트 4000 토큰 제한" 같은 빡빡한 룰이 존재하는 것이다.
📢 섹션 요약 비유: LSTM이 한 줄씩 조심스럽게 뜨개질(순차 연산)을 해서 긴 목도리를 짜는 장인이라면, 트랜스포머는 옷감 전체에 1만 개의 도장(어텐션)을 1초 만에 동시에 찍어버리는 거대한 공장 인쇄기다. 단, 옷감이 너무 크면 도장을 찍을 기계(메모리)도 기하급수적으로 커져야 하는 게 흠이다.
Ⅳ. 실무 적용 및 기술사 판단
실무 적용 시나리오: 자연어 모델뿐만 아니라 컴퓨터 비전 영역에서도 트랜스포머를 쓴다(ViT: Vision Transformer). 기존 CNN 모델(ResNet)로 위성 사진에서 전투기를 찾는 모델을 짰다. CNN은 작은 돋보기(3x3)로만 보니 사진 반대편 구석의 맥락을 놓친다. 엔지니어는 파이토치로 위성 사진 1장을 16x16 픽셀 크기의 레고 블록(Patch) 100개로 쪼갠 뒤, 100개의 조각을 트랜스포머에 한 번에 부어버린다. 셀프 어텐션이 왼쪽 구석의 바다 조각과 오른쪽 구석의 전투기 조각을 한 방에 엮어내며(전역적 문맥 파악, Global Context), 이미지 분석에서도 CNN을 압도하는 정확도 99%를 달성한다.
기술사 판단 포인트 (Trade-off): 아키텍처 설계 시 기술사는 **'KV 캐시(KV Cache)'와 '추론 메모리 병목'**을 통제해야 한다.
- 트랜스포머로 글을 생성(디코딩)할 때는 결국 한 단어씩 뱉어내야 한다(Auto-regressive). 100번째 단어를 뱉으려면 앞의 99개 단어의 K(키)와 V(값) 텐서를 다시 다 계산해야 할까?
- 매번 다시 계산하면 연산량이 폭발하여 서버가 터진다. 기술사는 디코더가 이전에 계산했던 K와 V 행렬을 GPU 메모리(SRAM)에 저장해 두고, 다음 단어를 뱉을 때 재활용하는 KV Cache 아키텍처를 반드시 하드코딩해야 한다.
- 이 KV Cache가 엄청나게 커져서 메모리(OOM)를 터뜨리는 현상을 막기 위해, MQA(Multi-Query Attention)나 GQA(Grouped-Query Attention) 같은 극강의 메모리 다이어트 모델(LLaMA 등)로 프레임워크를 튜닝해야만 트래픽 수만 건을 서버 1대로 버틸 수 있다.
📢 섹션 요약 비유: 말을 한 단어씩 뱉을 때마다(디코딩) 뇌 속의 사전(KV)을 처음부터 끝까지 새로 찾는 건 바보짓이다. KV Cache는 한 번 찾아본 사전의 내용을 책상(메모리) 위에 올려두고 재활용하는 것이다. 단, 책상이 꽉 차서 터지지 않도록 책들을 묶어서(GQA) 보관하는 지혜가 필요하다.
Ⅴ. 기대효과 및 결론
트랜스포머(Transformer)는 인간이 만든 모든 딥러닝 아키텍처 중 가장 파괴적이고 범용적인 마스터피스다. "단어는 순서대로 읽어야 한다"는 인류의 수천 년 된 고정관념을 '행렬의 동시 곱셈'이라는 기계 공학적 언어로 찢어버리며, 무한대의 병렬 연산 확장성(Scalability)을 열어젖혔다.
결론적으로 트랜스포머는 언어(NLP)를 정복한 것을 넘어, 사진(ViT), 음성(Whisper), 심지어 로봇의 팔 관절 제어(GATO)까지 세상의 모든 순차적(Sequential) 데이터를 쓸어 담는 AI계의 단일 통일 제국을 건설했다. 기술사는 단순히 HuggingFace에서 모델을 다운받는 코더를 넘어, 쿼리(Q)와 키(K)가 얽히며 문맥을 창조하는 이 Self-Attention의 행렬 공간 속으로 들어가 GPU VRAM을 밀리초 단위로 깎아내는 하드코어 최적화 장인이 되어야 한다.
📢 섹션 요약 비유: 트랜스포머 이전의 AI 생태계는 육군(CNN), 해군(RNN), 공군(강화학습)이 각자 따로 노는 세계였다. 트랜스포머는 "모든 데이터는 시퀀스(Sequence)다!"라는 단 하나의 철학으로 모든 군대를 통일해 버린 지구 제국의 황제다.
📌 관련 개념 맵
- 상위 개념: 딥러닝 아키텍처, 거대 언어 모델 (LLM)
- 하위 개념: 셀프 어텐션 (Self-Attention), Q/K/V 텐서, 멀티 헤드 어텐션, 포지셔널 인코딩
- 연결 개념: 어텐션 메커니즘, BERT, GPT, 비전 트랜스포머 (ViT)
👶 어린이를 위한 3줄 비유 설명
- 옛날 로봇은 100장짜리 책을 읽을 때 1쪽부터 순서대로 읽느라 평생이 걸렸어요. (GPU 병렬 처리 불가)
- 트랜스포머 로봇은 분신술을 써서 100쪽을 한 번에 촥! 하고 다 스캔해 버려요. (포지셔널 인코딩으로 순서는 표시해 둠)
- 그리고 1초 만에 1쪽의 단어와 99쪽의 단어가 서로 무슨 관계인지 완벽하게 알아내는(셀프 어텐션) 세상에서 가장 빠르고 똑똑한 속독 천재랍니다!