통계 실험실 차트
넘스탯 로고
넘스탯
LEARN · SIMULATE · VERIFY

확률부터 LLM까지 — 데이터 사이언스 자기주도 학습 플랫폼

로그인
학습 메뉴
도움말

Transformer(트랜스포머)

마일스톤 학습법으로 단계별 완전 정복
딥러닝
Transformer
어텐션
Self-Attention
Multi-Head
BERT
GPT
자연어처리
병렬처리
대규모언어모델
이 개념 직접 실험하기 — 어텐션 시뮬레이터
이 학습을 통해 달성할 수 있는 목표
기초 이해
  • • Transformer의 기본 구조와 Self-Attention의 직관 이해
  • • RNN 대비 Transformer의 장점(병렬 처리·장거리 관계) 파악
  • • Multi-Head Attention과 Positional Encoding의 역할 인식
심화 학습
  • • Scaled Dot-Product Attention 공식과 √d_k 스케일링의 이유 이해
  • • Multi-Head·Positional Encoding·Transformer 블록 구조 파악
  • • BERT·GPT 등 주요 모델의 구조 차이(Encoder/Decoder·마스킹) 이해
실무 적용
  • • Decoder/Encoder/Encoder-Decoder 세 계열과 스케일링 법칙 이해
  • • 실무 분류·검색·번역에서 Transformer 적용 방식 파악
  • • Transformer의 한계(제곱 복잡도)와 최신 발전 방향 이해
학습 로드맵

각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다

기초 이해
개념 정의와 기본 원리
30
클릭
심화 학습
공식 유도와 다양한 예시
50
클릭
실무 적용
실제 케이스와 고급 응용
70

학습 진도 (완료한 단계)

0%

기초 이해: 모든 단어가 서로를 동시에 바라보는 구조

난이도 3/5
약 30분

Transformer는 문장의 모든 단어가 서로를 동시에 바라보며 관계를 파악하는 신경망 구조입니다. 순서대로 한 단어씩 읽던 RNN과 달리, 어텐션(Attention)만으로 전체 문맥을 한 번에 처리해 장거리 관계를 놓치지 않고 병렬 계산이 가능합니다. 2017년 "Attention Is All You Need" 논문에서 제안된 뒤, GPT·BERT 등 거의 모든 현대 언어 모델의 뼈대가 되었습니다.

핵심 포인트
  • Self-Attention: 한 문장 안에서 모든 단어가 서로의 관련도를 계산해 정보를 주고받음
  • 병렬 처리: RNN처럼 순서를 기다리지 않고 모든 위치를 동시에 계산 → GPU로 빠른 학습
  • Multi-Head Attention: 여러 개의 어텐션을 병렬로 돌려 문법·의미 등 다양한 관점을 동시에 포착
  • Positional Encoding: 어텐션은 순서를 모르므로, 각 단어에 "몇 번째 자리인지" 위치 신호를 더해 줌
  • Encoder-Decoder: 원조 구조는 입력을 이해하는 Encoder와 출력을 생성하는 Decoder로 구성
  • 인과 마스킹(Causal Mask): 생성 모델(GPT)은 다음 단어를 맞히는 훈련이라, 미래 단어를 미리 보지 못하게 가림
간단한 예시

문장: "그 강아지는 지쳐서 그것은 길을 못 건넜다" 여기서 "그것"은 강아지일까요, 길일까요? 사람은 단번에 '강아지'라고 압니다. Self-Attention은 "그것"이라는 단어가 문장의 다른 모든 단어를 둘러보며 "나와 가장 관련 깊은 단어"에 높은 관련도 점수를 줍니다. • "그것" ↔ "강아지": 관련도 높음 (정보를 많이 가져옴) • "그것" ↔ "길": 관련도 낮음 (정보를 조금만 가져옴) 이렇게 거리가 멀어도 직접 연결되기 때문에, 앞부분을 까먹던 RNN의 한계를 넘습니다.

Python으로 직접 실행해보기

아래 코드는 브라우저에서 바로 실행됩니다. 숫자를 바꿔가며 결과를 눈으로 확인해 보세요.

Self-Attention 한 조각을 직접 계산

"그것"의 관점에서 어텐션을 실제 숫자로 계산합니다. 관련도 점수 → 스케일링 → softmax → 값 섞기의 4단계를 그대로 따라갑니다.

첫 실행 시 파이썬 런타임을 내려받습니다 (수 초 소요)

이해도 확인하기

정답: RNN은 앞 단어를 처리해야 다음 단어를 볼 수 있어 순차적이지만, Transformer는 모든 단어를 동시에(병렬로) 계산할 수 있어 GPU를 효율적으로 활용하기 때문입니다.

정답: Self-Attention은 모든 단어를 한꺼번에 바라보기 때문에 그 자체로는 순서 정보가 없습니다. "개가 사람을 물었다"와 "사람이 개를 물었다"를 구분하려면, 각 단어에 위치 신호(Positional Encoding)를 더해 순서를 명시적으로 알려 주어야 합니다.

정답: 한 번의 어텐션은 한 가지 관점만 봅니다. 언어에는 문법 관계, 의미 관계, 시제 관계 등이 동시에 작동하므로, 여러 헤드가 각자 다른 관점을 병렬로 학습해 표현력을 높입니다.

딥러닝 이론 페이지로 돌아가기