courses
셀프 어텐션, 인코더–디코더 설계, 멀티헤드 어텐션을 포함한 Transformer 아키텍처를 이해하고, 이 구조가 OpenAI의 GPT 모델 같은 시스템을 어떻게 구동하는지 알아보세요.
요약
- Transformer는 셀프 어텐션 메커니즘으로 순차 데이터를 병렬 처리하는 신경망 아키텍처로, 순환 구조 없이도 순차 정보를 다룹니다.
- 핵심 구성 요소: 입력 임베딩, 위치 인코딩, 멀티헤드 셀프 어텐션, 피드포워드 네트워크, 레지듀얼 연결이 포함된 레이어 정규화
- 인코더-디코더 구조: 인코더는 문맥화된 표현을 생성하고, 디코더는 자기회귀적으로 출력 시퀀스를 생성합니다.
- 현대적 변형: 언어용 GPT-5, Claude, Llama, Gemini; 이미지용 Vision Transformer(ViT); 복합 입력을 위한 멀티모달 모델
- 효율성 혁신: Flash Attention, RoPE(회전 위치 임베딩), 선형 어텐션 변형으로 제곱 복잡도 병목을 완화
딥러닝 분야는 Transformer 모델의 등장과 빠른 진화로 지각 변동을 겪고 있습니다.
이 혁신적 아키텍처는 자연어 처리(NLP)의 기준을 재정의했을 뿐 아니라, 인공지능의 다양한 영역을 혁신하는 데까지 그 영향력을 확장했습니다.
독특한 어텐션 메커니즘과 병렬 처리 능력을 갖춘 Transformer 모델은 이전에는 불가능했던 정확성과 효율성으로 인간 언어를 이해하고 생성하는 데 있어 도약을 이뤘습니다.
2017년 구글의 “Attention is all you need” 논문에서 처음 등장한 Transformer 아키텍처는 ChatGPT 같은 혁신적 모델의 핵심에 자리하며, AI 커뮤니티에 새로운 열풍을 일으켰습니다. OpenAI의 최첨단 언어 모델과 DeepMind의 AlphaStar에서도 핵심 역할을 했습니다.
AI의 변혁기 속에서, 예비 데이터 사이언티스트와 NLP 실무자에게 Transformer 모델의 중요성은 아무리 강조해도 지나치지 않습니다.
최신 기술 도약의 중심 분야 중 하나로서, 이 글은 이러한 모델의 비밀을 풀어내는 것을 목표로 합니다.
Transformer란 무엇인가요?
Transformer는 시퀀스 변환(Sequence Transduction), 즉 신경 기계 번역 문제를 해결하기 위해 처음 개발되었습니다. 이는 입력 시퀀스를 출력 시퀀스로 변환하는 모든 작업을 다루도록 설계되었다는 뜻이며, 이런 이유로 “Transformer”라 불립니다.
하지만, 처음부터 차근차근 살펴보겠습니다.
Transformer 모델이란?
Transformer 모델은 순차 데이터의 문맥을 학습하고, 그로부터 새로운 데이터를 생성하는 신경망입니다.
간단히 말해:
Transformer는 방대한 텍스트 데이터에서 패턴을 분석해 사람과 유사한 텍스트를 이해하고 생성하는 법을 학습하는 AI 모델입니다.
Transformer는 최신의 NLP 모델로, 인코더-디코더 아키텍처의 진화형으로 여겨집니다. 다만 인코더-디코더 아키텍처가 주로 순환 신경망(RNN)에 의존해 순차 정보를 추출한 반면, Transformer에는 순환 구조가 전혀 없습니다.
그렇다면 어떻게 가능할까요?
Transformer는 서로 다른 요소 간의 관계를 분석해 문맥과 의미를 파악하도록 특별히 설계되었으며, 이를 위해 거의 전적으로 어텐션이라는 수학적 기법에 의존합니다.

이미지: 작성자.
역사적 배경
2017년 구글의 연구 논문에서 시작된 Transformer 모델은 머신러닝 분야에서 가장 최근이자 영향력 있는 발전 중 하나입니다. 최초의 Transformer 모델은 "Attention is All You Need"라는 영향력 있는 논문에서 설명되었습니다.
이 선구적 개념은 이론을 넘어 TensorFlow의 Tensor2Tensor 패키지 등에서 실제 구현으로 이어졌습니다. 또한 하버드 NLP 그룹은 PyTorch 구현과 함께 주석이 달린 가이드를 제공해 이 분야 발전에 기여했습니다. 별도의 튜토리얼에서 Transformer를 처음부터 구현하는 방법을 더 알아보실 수 있습니다.
이 모델의 등장은 흔히 Transformer AI라 불리는 큰 변화를 촉발했습니다. 이 혁신적 모델은 BERT를 포함한 대규모 언어 모델의 돌파구에 토대를 제공했으며, 2018년에는 이미 NLP의 분수령으로 평가받았습니다.
2020년 OpenAI 연구진은 GPT-3를 발표했습니다. 불과 몇 주 만에 사용자들이 시, 프로그램, 노래, 웹사이트 등을 만들며 그 다재다능함을 입증했고 전 세계의 상상력을 사로잡았습니다. 이 변화를 관찰한 스탠퍼드 학자들은 2021년 논문에서 이러한 혁신을 "파운데이션 모델"이라 명명해, AI 재편의 핵심 역할을 강조했습니다.
초기에는 독점 모델이 대중의 관심을 모았지만, 동시에 오픈소스 혁명이 빠르게 Transformer 기술을 민주화했습니다. Hugging Face 같은 플랫폼이 모델 공유의 거점으로 떠올랐고, 2023년 메타의 Llama 제품군 공개로 판도가 근본적으로 바뀌었습니다. 이는 “오픈 웨이트” 운동을 촉발해, 개발자들이 폐쇄적 기업 생태계에 의존하지 않고도 최첨단 AI를 구축할 수 있음을 증명했습니다.
2024~2025년 내내 오픈소스 개발은 급격히 가속화되었습니다. 메타의 대규모 Llama 3.1과 이후 Llama 4 시리즈, 스타트업 Mistral의 고효율 아키텍처, DeepSeek의 강력한 추론 모델 등이 공개 모델이 독점 대형 모델의 성능에 필적하거나 때로는 능가할 수 있음을 보여주었습니다.
한편, 클로즈드 소스 모델도 복잡한 능력을 계속 발전시켰습니다. 2023년 GPT-4는 멀티모달 능력을 도입했고, 2024년 GPT-4o는 텍스트, 비전, 오디오 처리를 단일 모델로 통합했습니다.
2024년 말에는 OpenAI의 o1 시리즈와 DeepSeek의 오픈 R1 같은 모델이 응답 전 내부적으로 복잡한 논리와 수학을 추론하는 ‘사고의 사슬’ 방식을 도입하며 업계 전반의 또 다른 전환점을 맞았습니다.
2025년 말~2026년에 이르러서는 GPT-5 제품군의 출시로 대화형 보조자에서 자율 시스템으로 판도가 완전히 이동했습니다. 이는 고급 다단계 계획, 장기 메모리, 견고한 에이전트 워크플로를 엔터프라이즈 인프라에 도입했습니다.
NLP에서 LSTM 같은 RNN에서 Transformer로의 전환
Transformer가 소개될 당시, 순환 신경망(RNN)은 입력에 특정 순서가 있는 순차 데이터를 다루는 데 선호되던 접근법이었습니다.
RNN은 피드포워드 신경망과 유사하나, 입력을 한 요소씩 순차적으로 처리합니다.
Transformer는 RNN의 인코더-디코더 아키텍처에서 영감을 받았지만, 순환을 사용하지 않고 전적으로 어텐션 메커니즘에 기반합니다.
Transformer는 RNN 성능을 개선했을 뿐 아니라, 텍스트 요약, 이미지 캡셔닝, 음성 인식 등 다양한 작업을 해결하는 새로운 아키텍처를 제시했습니다.
그렇다면 RNN의 주요 문제는 무엇일까요? NLP 작업에서 비효율적인 이유는 크게 두 가지입니다:
- 입력을 하나씩 순차 처리합니다. 이러한 순환 처리는 병렬 연산에 맞춰 설계된 최신 GPU를 충분히 활용하지 못해 학습 속도가 매우 느려집니다.
- 서로 멀리 떨어진 요소를 다루는 데 취약합니다. 각 단계에서 정보가 전달되며, 체인이 길어질수록 정보 손실 가능성이 커지기 때문입니다.
LSTM 같은 RNN에서 Transformer로의 전환은 이 두 문제와, 어텐션 메커니즘의 개선으로 이를 해결하는 Transformer의 능력에 의해 주도되었습니다:
- 거리가 멀어도 특정 단어에 주의를 기울일 수 있습니다.
- 처리 속도를 크게 향상합니다.
따라서 Transformer는 RNN의 자연스러운 진화로 자리잡았습니다.
이제 Transformer가 어떻게 작동하는지 살펴보겠습니다.
Transformer 아키텍처
개요
Transformer는 본래 시퀀스 변환 또는 신경 기계 번역을 위해 고안되어, 입력 시퀀스를 출력 시퀀스로 변환하는 데 뛰어납니다. 시퀀스 정렬된 RNN이나 합성곱 없이, 입력과 출력을 셀프 어텐션만으로 표현하는 최초의 변환 모델입니다. Transformer 아키텍처의 핵심 특징은 인코더-디코더 모델을 유지한다는 점입니다.
언어 번역용 Transformer를 단순한 블랙박스로 보면, 예컨대 영어 문장을 입력으로 받아 번역된 문장을 출력합니다.

이미지: 작성자.
조금 더 들여다보면, 이 블랙박스는 두 주요 부분으로 구성됩니다:
- 인코더는 입력을 받아 그에 대한 행렬 표현을 출력합니다. 예를 들어 영어 문장 “How are you?”
- 디코더는 그 인코딩 표현을 받아 반복적으로 출력을 생성합니다. 예시에서는 번역된 문장 “¿Cómo estás?”

이미지: 작성자. 인코더-디코더의 전체 구조.
하지만 인코더와 디코더는 각각 여러 레이어를 쌓은 스택입니다(각각 동일한 개수). 모든 인코더는 같은 구조를 가지며 입력을 받아 다음 인코더로 전달합니다. 모든 디코더도 같은 구조를 가지며 마지막 인코더와 이전 디코더의 출력을 입력으로 받습니다.
원래 아키텍처는 인코더 6개와 디코더 6개로 구성되지만, 원하는 만큼 레이어를 복제할 수 있습니다. 여기서는 각각 N개 레이어를 가정하겠습니다.

이미지: 작성자. 인코더-디코더 전체 구조. 다층.
이제 전체 Transformer 아키텍처의 개략을 파악했으니, 인코더와 디코더 각각의 동작 흐름을 살펴보겠습니다.
인코더 워크플로
인코더는 Transformer 아키텍처의 핵심 구성 요소입니다. 그 주요 기능은 입력 토큰을 문맥화된 표현으로 변환하는 것입니다. 이전 모델들이 토큰을 독립적으로 처리했던 것과 달리, Transformer 인코더는 전체 시퀀스를 고려해 각 토큰의 문맥을 포착합니다.
구조는 다음과 같습니다:

이미지: 작성자. 인코더 전체 구조.
워크플로를 가장 기초 단계로 나누어 보겠습니다:
STEP 1 - 입력 임베딩
임베딩은 가장 아래 인코더에서만 수행됩니다. 인코더는 입력 토큰(단어 또는 서브워드)을 임베딩 레이어로 벡터로 변환하며, 이 임베딩은 토큰의 의미를 포착해 숫자 벡터로 바꿉니다.
모든 인코더는 고정 차원(예: 512)의 벡터 목록을 입력으로 받습니다. 가장 아래 인코더에서는 단어 임베딩이 되고, 그 위의 인코더에서는 바로 아래 인코더의 출력이 됩니다.

이미지: 작성자. 인코더 워크플로. 입력 임베딩.
STEP 2 - 위치 인코딩
Transformer에는 RNN처럼 순환 메커니즘이 없으므로, 시퀀스 내 각 토큰의 위치 정보를 제공하기 위해 입력 임베딩에 위치 인코딩을 더합니다. 이를 통해 문장 내 각 단어의 위치를 이해할 수 있습니다.
연구진은 다양한 사인(sine) 및 코사인(cosine) 함수를 조합해 위치 벡터를 만드는 방식을 제안했고, 이를 통해 임의 길이의 문장에도 위치 인코딩을 사용할 수 있게 했습니다.
이 접근에서 각 차원은 고유한 주파수와 위상을 가지며, 값은 -1에서 1 사이를 오가며 각 위치를 효과적으로 표현합니다.

이미지: 작성자. 인코더 워크플로. 위치 인코딩.
STEP 3 - 인코더 레이어 스택
Transformer 인코더는 동일한 레이어를 쌓은 스택으로 구성됩니다(원 논문에서는 6개).
인코더 레이어는 모든 입력 시퀀스를 연속적이고 추상적인 표현으로 변환해 전체 시퀀스에서 학습한 정보를 담습니다. 이 레이어는 두 개의 서브 모듈로 구성됩니다:
- 멀티헤드 어텐션 메커니즘
- 완전연결 네트워크
또한 각 서브레이어 주위에 레지듀얼 연결을 두고, 그 뒤에 레이어 정규화를 적용합니다.

이미지: 작성자. 인코더 워크플로. 인코더 레이어 스택
STEP 3.1 멀티헤드 셀프 어텐션 메커니즘
인코더에서 멀티헤드 어텐션은 셀프 어텐션이라 불리는 특수한 메커니즘을 사용합니다. 이 방식은 입력의 각 단어를 다른 단어들과 연관 지을 수 있게 해 줍니다. 예를 들어, 모델은 “are”와 “you”를 연결하는 법을 학습할 수 있습니다.
이 메커니즘은 인코더가 각 토큰을 처리할 때 입력 시퀀스의 서로 다른 부분에 주의를 기울이도록 합니다. 어텐션 점수는 다음에 기반해 계산됩니다:
- 쿼리: 어텐션 메커니즘에서 입력 시퀀스의 특정 단어나 토큰을 나타내는 벡터
- 키: 어텐션 메커니즘에서 입력 시퀀스의 각 단어나 토큰에 대응하는 벡터
- 값: 각 키에 연관된 벡터로 어텐션 레이어의 출력을 구성합니다. 쿼리와 키의 매칭이 좋을수록(즉, 어텐션 점수가 높을수록) 해당 값이 출력에서 강조됩니다.
첫 번째 셀프 어텐션 모듈은 전체 시퀀스에서 문맥 정보를 포착하게 합니다. 단일 어텐션 대신 쿼리, 키, 값을 h번 선형 투영하고, 각 투영본에 대해 병렬로 어텐션을 수행해 h차원 출력 값을 얻습니다.
자세한 아키텍처는 다음과 같습니다:

행렬 곱(MatMul) - 쿼리와 키의 점곱
쿼리, 키, 값 벡터를 선형 레이어에 통과시킨 뒤, 쿼리와 키 사이에 점곱 행렬 곱을 수행해 점수 행렬을 만듭니다.
점수 행렬은 각 단어가 다른 단어에 얼마나 주의를 기울여야 하는지를 나타냅니다. 따라서 같은 시점에서 각 단어는 다른 단어와의 관계에 대해 점수를 부여받습니다. 점수가 높을수록 더 큰 주의를 뜻합니다.
이 과정은 쿼리를 해당 키에 효과적으로 매핑합니다.

이미지: 작성자. 인코더 워크플로. 어텐션 메커니즘 - 행렬 곱.
어텐션 점수의 크기 축소
점수는 쿼리와 키 벡터 차원의 제곱근으로 나누어 스케일을 낮춥니다. 값의 곱으로 효과가 과도해질 수 있어, 더 안정적인 그래디언트를 확보하기 위한 단계입니다.

이미지: 작성자. 인코더 워크플로. 어텐션 점수 축소.
조정된 점수에 소프트맥스 적용
이후 조정된 점수에 소프트맥스를 적용해 어텐션 가중치를 얻습니다. 결과는 0과 1 사이의 확률 값입니다. 소프트맥스는 높은 점수를 강조하고 낮은 점수를 약화해, 어떤 단어에 더 주의를 둘지 효과적으로 판단하도록 돕습니다.

이미지: 작성자. 인코더 워크플로. 소프트맥스 적용 점수.
소프트맥스 결과와 값 벡터 결합
어텐션 메커니즘의 다음 단계는 소프트맥스로 얻은 가중치와 값 벡터를 곱해 출력 벡터를 만드는 것입니다.
이 과정에서 소프트맥스 점수가 높은 단어만 보존됩니다. 마지막으로 이 출력 벡터를 선형 레이어로 전달해 후속 처리를 수행합니다.

이미지: 작성자. 인코더 워크플로. 값 벡터와 소프트맥스 결과 결합.
이렇게 어텐션 메커니즘의 출력을 얻게 됩니다!
그렇다면 왜 멀티헤드 어텐션이라 부를까요?
모든 과정이 시작되기 전, 쿼리/키/값을 h번으로 분할합니다. 셀프 어텐션으로 불리는 이 과정은 각 작은 단계(‘헤드’)에서 별도로 일어납니다. 각 헤드는 독립적으로 동작해 출력 벡터를 생성합니다.
이 앙상블은 최종 선형 레이어를 거쳐 집단 성능을 미세 조정합니다. 각 헤드가 다양한 방식으로 학습하는 것이 핵심으로, 인코더 모델에 견고하고 다면적인 이해를 부여합니다.
어텐션 메커니즘을 더 깊이 이해하려면 Transformer의 멀티헤드 어텐션 튜토리얼을 참고하세요.
STEP 3.2 정규화와 레지듀얼 연결
인코더 레이어의 각 서브레이어 뒤에는 정규화 단계가 이어집니다. 또한 각 서브레이어 출력은 입력에 더해지는 레지듀얼 연결을 포함해, 그래디언트 소실 문제를 완화하고 더 깊은 모델을 가능하게 합니다. 이 과정은 피드포워드 신경망 이후에도 반복됩니다.

이미지: 작성자. 인코더 워크플로. 멀티헤드 어텐션 뒤 정규화와 레지듀얼 연결.
STEP 3.3 피드포워드 신경망
정규화된 레지듀얼 출력은 포인트와이즈 피드포워드 네트워크를 통과하며 추가 정제를 거칩니다.
이 네트워크는 두 개의 선형 레이어 사이에 ReLU 활성화를 둔 구조로 볼 수 있습니다. 처리된 출력은 다시 피드포워드 네트워크의 입력과 합쳐집니다.
그 후 또 한 번의 정규화를 거쳐 다음 단계를 위한 균형을 맞춥니다.

이미지: 작성자. 인코더 워크플로. 피드포워드 신경망 서브레이어.
STEP 4 - 인코더 출력
마지막 인코더 레이어의 출력은 입력 시퀀스를 풍부한 문맥으로 표현한 벡터 집합입니다. 이 출력은 Transformer 모델에서 디코더의 입력으로 사용됩니다.
이 신중한 인코딩은 디코더가 디코딩 시 입력의 적절한 단어에 주의를 기울이도록 안내합니다.
N개의 인코더 레이어를 쌓는 탑처럼 생각해 보세요. 스택의 각 레이어는 서로 다른 주의 패턴을 탐색하고 학습할 기회를 얻습니다. 이는 이해를 다양화할 뿐 아니라 예측 성능을 크게 높일 수 있습니다.
디코더 워크플로
디코더의 역할은 텍스트 시퀀스를 생성하는 데 있습니다. 인코더와 마찬가지로 유사한 서브레이어 집합을 갖추고 있으며, 멀티헤드 어텐션 레이어 두 개, 포인트와이즈 피드포워드 레이어 하나, 그리고 각 서브레이어 뒤의 레지듀얼 연결과 레이어 정규화를 포함합니다.

이미지: 작성자. 인코더 전체 구조.
이 구성 요소들은 인코더 레이어와 유사하게 동작하지만, 디코더의 각 멀티헤드 어텐션 레이어는 고유한 임무를 가집니다.
디코더의 마지막 단계에는 분류기 역할을 하는 선형 레이어가 있으며, 그 위에 소프트맥스를 적용해 단어의 확률을 계산합니다.
Transformer 디코더는 인코딩된 정보를 단계적으로 디코딩하여 출력을 생성하도록 특별히 설계되었습니다.
디코더는 자기회귀 방식으로 동작한다는 점이 중요합니다. 시작 토큰으로 프로세스를 시작하고, 이전에 생성된 출력 목록을 입력으로 활용하면서 초기 입력에서 어텐션 정보를 담은 인코더 출력을 함께 사용합니다.
이러한 순차적 디코딩은 출력 종료를 알리는 토큰을 생성할 때까지 이어집니다.
STEP 1 - 출력 임베딩
디코더의 시작에서는 인코더와 동일한 과정이 이뤄집니다. 입력은 먼저 임베딩 레이어를 통과합니다.
STEP 2 - 위치 인코딩
임베딩 다음에는, 다시 인코더와 마찬가지로 위치 인코딩 레이어를 거칩니다. 이 과정을 통해 위치 임베딩이 생성됩니다.
이 위치 임베딩은 디코더의 첫 번째 멀티헤드 어텐션 레이어로 전달되어, 디코더 입력에 대한 어텐션 점수를 정밀하게 계산합니다.
STEP 3 - 디코더 레이어 스택
디코더는 동일한 레이어를 쌓은 스택으로 구성됩니다(원 논문에서는 6개). 각 레이어는 세 가지 주요 서브 컴포넌트로 이루어집니다:
STEP 3.1 마스크드 셀프 어텐션 메커니즘
인코더의 셀프 어텐션과 유사하지만 결정적 차이가 있습니다. 후속 위치로의 주의를 차단해, 시퀀스의 각 단어가 미래 토큰의 영향을 받지 않도록 합니다.
예를 들어, "are"의 어텐션 점수를 계산할 때, 그 다음 단어인 "you"를 미리 보지 못하도록 하는 것이 중요합니다.

이미지: 작성자. 디코더 워크플로. 첫 번째 멀티헤드 어텐션 마스크.
이 마스킹은 특정 위치의 예측이 그 이전 위치에서 이미 알려진 출력에만 의존하도록 보장합니다.
STEP 3.2 - 인코더-디코더 멀티헤드 어텐션(크로스 어텐션)
디코더의 두 번째 멀티헤드 어텐션 레이어에서는 인코더와 디코더의 요소가 독특하게 상호작용합니다. 여기서 인코더 출력은 쿼리와 키의 역할을, 디코더 첫 번째 멀티헤드 어텐션의 출력은 값의 역할을 합니다.
이 구성은 인코더의 입력과 디코더의 입력을 효과적으로 정렬해, 디코더가 인코더 입력의 가장 관련성 높은 부분을 식별하고 강조할 수 있도록 합니다.
그 다음, 이 두 번째 멀티헤드 어텐션의 출력은 포인트와이즈 피드포워드 레이어를 통해 한층 더 정교하게 처리됩니다.

이미지: 작성자. 디코더 워크플로. 인코더-디코더 어텐션.
이 서브레이어에서 쿼리는 이전 디코더 레이어에서 오고, 키와 값은 인코더 출력에서 옵니다. 이를 통해 디코더의 모든 위치가 입력 시퀀스의 모든 위치에 주의를 기울일 수 있어, 인코더 정보와 디코더 정보를 효과적으로 통합합니다.
STEP 3.3 피드포워드 신경망
인코더와 마찬가지로, 각 디코더 레이어는 각 위치에 독립적·동일하게 적용되는 완전연결 피드포워드 네트워크를 포함합니다.
STEP 4 선형 분류기와 소프트맥스로 출력 확률 생성
Transformer 모델의 최종 단계는 분류기 역할을 하는 마지막 선형 레이어를 통과하는 것입니다.
이 분류기의 크기는 전체 클래스 수(어휘의 단어 수)에 대응합니다. 예를 들어 서로 다른 단어 1000개를 나타내는 1000개 클래스가 있다면, 분류기의 출력은 1000개 요소를 가진 배열입니다.
그다음 소프트맥스 레이어로 전달되어, 0과 1 사이의 확률 점수로 변환됩니다. 이 중 가장 높은 확률의 인덱스가 바로 모델이 다음 단어로 예측하는 단어를 가리킵니다.

이미지: 작성자. 디코더 워크플로. Transformer의 최종 출력.
정규화와 레지듀얼 연결
각 서브레이어(마스크드 셀프 어텐션, 인코더-디코더 어텐션, 피드포워드 네트워크)는 정규화 단계를 따르며, 레지듀얼 연결을 포함합니다.
디코더 출력
마지막 레이어의 출력은 일반적으로 선형 레이어와 소프트맥스를 거쳐 어휘 분포를 생성하며, 이를 예측 시퀀스로 변환합니다.
디코더는 생성된 출력을 입력 목록에 새로 추가하고, 디코딩을 계속합니다. 이 사이클은 완료를 알리는 특정 토큰이 예측될 때까지 반복됩니다.
가장 높은 확률로 예측된 토큰이 최종 클래스가 되며, 종종 종료 토큰으로 표현됩니다.
다시 강조하지만, 디코더는 단일 레이어에 국한되지 않습니다. 인코더와 이전 레이어의 입력을 바탕으로 N개의 레이어로 구성될 수 있습니다. 이러한 다층 구조는 모델이 주의를 다양화하고 서로 다른 어텐션 패턴을 추출하도록 합니다.
이러한 다층 접근은 다양한 어텐션 조합에 대한 더 세밀한 이해를 통해 예측 능력을 크게 향상시킬 수 있습니다.
최종 아키텍처는 다음과 같습니다(원 논문 발췌):

이미지: 작성자. Transformer의 원래 구조.
이 아키텍처를 더 잘 이해하려면 PyTorch로 Transformer를 구현하는 튜토리얼을 따라 처음부터 적용해 보시길 권합니다.
실전 Transformer 모델
BERT
구글은 2018년에 오픈소스 자연어 처리 프레임워크인 BERT를 공개했고, 양방향 학습이라는 독특한 방식으로 다음 단어 예측을 더 문맥에 맞게 수행하여 NLP에 혁신을 가져왔습니다.
단어의 앞뒤 문맥을 모두 이해함으로써, BERT는 질의응답이나 모호한 언어 이해 같은 작업에서 이전 모델들을 능가했습니다. 핵심은 Transformer로, 각 입출력 요소를 동적으로 연결합니다.
위키피디아로 사전 학습된 BERT는 다양한 NLP 작업에서 뛰어난 성과를 보였고, 구글은 자연어 질의를 더 잘 처리하기 위해 이를 검색엔진에 통합했습니다. 이 혁신은 고도화된 언어 모델 개발 경쟁을 촉발하며 복잡한 언어 이해 능력을 크게 진전시켰습니다.
BERT에 대해 더 알고 싶다면 BERT 모델 소개 글을 참고하세요.
LaMDA
LaMDA(Language Model for Dialogue Applications)는 구글이 개발한 대화 작업 특화 Transformer 기반 모델로, 2021년 Google I/O 키노트에서 공개되었습니다. 보다 자연스럽고 문맥에 맞는 응답을 생성해 다양한 애플리케이션에서 사용자 상호작용을 강화하도록 설계되었습니다.
LaMDA는 폭넓은 주제와 사용자 의도를 이해하고 응답할 수 있어, 동적 대화가 핵심인 챗봇, 가상 비서, 기타 인터랙티브 AI 시스템에 이상적입니다.
대화 이해와 응답에 초점을 맞춘 점에서, LaMDA는 자연어 처리와 AI 기반 커뮤니케이션 분야의 중요한 진전으로 평가됩니다.
LaMDA 모델을 더 깊이 이해하고 싶다면, 다음 LaMDA 관련 글을 참고하세요.
GPT 및 ChatGPT
OpenAI가 개발한 GPT와 ChatGPT는 일관되고 문맥에 맞는 텍스트를 생성하는 능력으로 유명한 고급 생성 모델입니다. GPT-1은 2018년 6월에 최초 공개되었고, 큰 반향을 일으킨 GPT-3는 2년 뒤인 2020년에 출시되었습니다.
이들 모델은 콘텐츠 제작, 대화, 번역 등 광범위한 작업에 능숙합니다. GPT의 아키텍처는 사람이 쓴 것과 유사한 텍스트를 생성할 수 있게 해, 창작 글쓰기, 고객 지원, 코딩 보조 등에서 유용합니다. 대화에 최적화된 변형인 ChatGPT는 사람 같은 대화를 생성하는 데 뛰어나 챗봇과 가상 비서에 특히 적합합니다.
Claude
Anthropic이 개발한 Claude는 안전성과 유용성에 초점을 맞춘 Transformer 기반 AI 어시스턴트 제품군입니다. Claude는 원칙 기반으로 도움되고 무해하며 정직한 응답을 유도하는 Constitutional AI(CAI) 방식으로 학습됩니다.
2024년에 공개된 Claude 3는 Haiku, Sonnet, Opus의 세 가지 모델 계층을 도입해 속도와 성능 간 다양한 균형을 제공합니다. 이 모델들은 미묘한 추론, 복잡한 지시사항의 수행, 장문 대화(최대 200K 토큰)에서의 문맥 유지에 강합니다.
2025~2026년 Anthropic은 Claude 4 모델을 출시했으며, 최신의 Opus 4.6과 Sonnet 4.6은 다수 LLM 벤치마크에서 최상위를 차지했습니다.
기타 변형
파운데이션 모델, 특히 Transformer 모델의 생태계는 빠르게 확장되고 있습니다. 한 연구는 50개가 넘는 주요 Transformer 모델을 확인했으며, 스탠퍼드 그룹은 그중 30개를 평가하며 이 분야의 급속한 성장을 인정했습니다. NVIDIA Inception 프로그램의 일원인 혁신 스타트업 NLP Cloud는 항공사, 약국 등 다양한 분야에서 약 25개의 대형 언어 모델을 상업적으로 활용합니다.
이러한 모델을 오픈소스로 공개하려는 추세도 증가하고 있으며, Hugging Face 모델 허브 같은 플랫폼이 선도하고 있습니다. 또한 다양한 NLP 작업에 특화된 수많은 Transformer 기반 모델이 개발되어, 다양한 응용 분야에서의 모델의 범용성과 효율성을 보여주고 있습니다.
별도 글에서 파운데이션 모델 전반에 대해, 개념과 가장 널리 쓰이는 모델을 자세히 알아보실 수 있습니다.
현대 Transformer 변형
2017년의 원래 아키텍처 이후, Transformer는 한계를 해결하고 새로운 도메인으로 확장하기 위해 크게 발전해 왔습니다.
Vision Transformer(ViT)
Vision Transformer는 이미지를 패치로 분할해 각 패치를 토큰으로 간주함으로써 셀프 어텐션을 이미지에 적용합니다. 이 접근은 이미지 분류, 객체 탐지, 이미지 생성에 매우 효과적이며, 대규모 데이터셋에서는 전통적 CNN을 종종 능가합니다.
멀티모달 Transformer
GPT-5, Gemini 3, Llama 4 같은 최신 모델은 단일 아키텍처에서 텍스트, 이미지, 오디오, 비디오 등 여러 입력 유형을 처리합니다. 이러한 멀티모달 Transformer는 통합 임베딩 공간과 크로스 어텐션 메커니즘을 사용해 서로 다른 모달리티를 동시 추론합니다.
효율적 Transformer
셀프 어텐션의 제곱 복잡도는 문맥 길이를 제한합니다. 이를 해결하는 여러 혁신이 제시되었습니다:
- Flash Attention: 메모리 접근 패턴을 최적화해 GPU 메모리 사용을 줄이고 학습을 2~4배 가속
- RoPE(회전 위치 임베딩): 회전 행렬로 위치 정보를 인코딩해 더 긴 시퀀스로의 외삽 능력 향상
- 선형 어텐션 변형: Linformer, Performer, Longformer는 매우 긴 문서 처리를 위해 복잡도를 O(n)으로 감소
- Mixture of Experts(MoE): 토큰당 일부 파라미터만 활성화해, 유사 연산량으로 더 큰 모델 구현
벤치마크와 성능
NLP에서 Transformer 모델의 성능을 벤치마크하고 평가하는 일은 효과성과 효율성을 체계적으로 측정하는 과정을 포함합니다.
작업 특성에 따라 다양한 방식과 리소스를 사용할 수 있습니다:
기계 번역 과제
기계 번역 작업에서는 WMT(Workshop on Machine Translation) 같은 표준 데이터셋을 활용할 수 있으며, 다양한 언어쌍이 고유한 도전을 제공합니다.
BLEU, METEOR, TER, chrF 같은 지표는 정확성과 유창성을 평가하는 이정표 역할을 합니다.
또한 뉴스, 문학, 기술 문서 등 다양한 도메인에서 테스트해 MT 시스템의 적응성과 범용성을 점검하면, 디지털 세계의 진정한 ‘폴리글랏’에 가까워집니다.
QA 벤치마크
QA 모델을 평가할 때는 SQuAD, Natural Questions, TriviaQA 같은 질의응답 데이터셋을 사용합니다.
각각 고유한 규칙을 지닌 서로 다른 게임과 같습니다. 예를 들어 SQuAD는 주어진 글에서 답을 찾는 형태지만, 다른 데이터셋은 어디서든 질문이 나오는 퀴즈 형식에 가깝습니다.
성능 평가는 정밀도(Precision), 재현율(Recall), F1, 그리고 경우에 따라 정확 일치(Exact Match) 점수를 사용합니다.
NLI 벤치마크
자연어 추론(NLI)에서는 SNLI, MultiNLI, ANLI 같은 데이터셋을 사용합니다.
이는 다양한 언어 변형과 까다로운 사례를 모아, 컴퓨터가 문장을 얼마나 잘 이해하는지 살펴보는 대형 라이브러리와 같습니다. 주로 문장이 함의(entailment), 모순(contradiction), 중립(neutral) 관계인지에 대한 정확도를 확인합니다.
또한 대명사 지시, 부정(not), 전칭/존칭(all/some) 같은 까다로운 언어 현상을 어떻게 처리하는지도 중요합니다.
다른 아키텍처와의 비교
신경망 세계에서 Transformer와 자주 비교되는 대표적 구조는 두 가지입니다. 각각은 특정 데이터 처리 유형에 맞춘 뚜렷한 장점과 과제를 갖습니다. 본문에서 여러 차례 등장한 RNN과 합성곱 레이어입니다.
순환 레이어
순환 레이어는 RNN의 핵심으로, 순차 데이터를 잘 다룹니다. 이전 단계의 출력을 다음 단계 입력으로 되먹임하는 루프 구조 덕분에, 시퀀스의 문맥을 이해하는 데 중요한 과거 정보를 기억할 수 있습니다.
그러나 앞서 논의했듯, 이러한 순차 처리는 두 가지 주요 함의를 가집니다:
- 각 단계가 이전 단계에 의존해 병렬 처리가 어려워, 학습 시간이 길어질 수 있습니다.
- 그래디언트 소실로 장기 의존성 학습이 어려워, 시퀀스에서 멀리 떨어진 지점을 학습하는 데 취약합니다.
Transformer는 순환이 없다는 점에서 순환 레이어 기반 아키텍처와 본질적으로 다릅니다. 앞서 본 것처럼 Transformer의 어텐션 레이어는 두 문제를 모두 완화해, NLP 응용에서 RNN의 자연스러운 진화가 되었습니다.
합성곱 레이어
한편 합성곱 레이어는 CNN의 구성 요소로, 이미지 같은 공간 데이터 처리에 효율적입니다.
이 레이어는 커널(필터)로 입력을 스캔해 특징을 추출합니다. 커널의 너비를 조정해 과제에 따라 작은 특징부터 큰 특징까지 집중할 수 있습니다.
합성곱 레이어는 공간적 위계를 포착하는 데 뛰어나지만, 장기 의존성에는 한계를 보입니다. 시퀀스 정보를 본래적으로 반영하지 않아, 순서나 문맥 이해가 필요한 작업에는 덜 적합합니다.
따라서 CNN과 Transformer는 서로 다른 데이터와 작업에 맞게 특화되어 있습니다. CNN은 공간 정보 처리 효율로 컴퓨터 비전 분야를 주도하고, Transformer는 장거리 의존성을 이해하는 능력으로 특히 NLP의 복잡한 순차 작업에 최적입니다.
Transformer의 한계와 제약
성공에도 불구하고 Transformer에는 주목할 만한 한계가 있습니다:
- 제곱 복잡도: 셀프 어텐션은 시퀀스 길이에 따라 O(n²)로 스케일링되어 매우 긴 문맥에서 계산 비용이 큽니다
- 메모리 요구 사항: 대규모 모델은 막대한 GPU 메모리를 필요로 해 배포 옵션이 제한됩니다
- 학습 데이터 요구: 강력한 성능을 위해 일반적으로 방대한 데이터셋이 필요합니다
- 명시적 추론 부재: 강력한 패턴 매처지만, 기호적 추론을 수행하지 못하고 환각을 일으킬 수 있습니다
- 위치 인코딩 한계: 표준 위치 인코딩은 학습 시 보지 못한 길이의 시퀀스로 일반화하는 데 어려움이 있습니다
이러한 한계를 해결하기 위해 Flash Attention, Mixture-of-Experts, RAG(검색 증강 생성) 같은 아키텍처 혁신이 계속되고 있습니다.
결론
결론적으로 Transformer는 인공지능과 자연어 처리(NLP)에서 기념비적 돌파구로 자리매김했습니다.
독자적인 셀프 어텐션 메커니즘으로 순차 데이터를 효과적으로 다루며 전통적 RNN을 능가합니다. 긴 시퀀스를 더 효율적으로 처리하고 데이터 처리를 병렬화해 학습을 크게 가속합니다.
구글의 BERT와 OpenAI의 GPT 시리즈 같은 선도적 모델은 검색엔진 고도화와 사람 같은 텍스트 생성이라는 변화를 잘 보여줍니다.
그 결과 Transformer는 현대 머신러닝에서 필수 요소가 되었으며, AI의 경계를 확장하고 기술 발전의 새로운 지평을 열고 있습니다.
Transformer와 실전 활용에 뛰어들고 싶다면, Transformer와 Hugging Face 입문 글이 좋은 출발점입니다! 또한 심층 가이드로 PyTorch로 Transformer를 구현하는 방법도 배워보세요.