Published on

Transformer가 기존 알고리즘보다 강했던 진짜 이유

Authors

Transformer · Self-Attention · Parallel Training · Scaling

Transformer가 RNN, LSTM, CNN 기반 시퀀스 모델보다 더 강했던 이유는 "attention을 썼기 때문"이라는 한 문장으로 끝나지 않는다. 더 정확한 설명은 이렇다. Transformer는 언어 모델링의 병목을 알고리즘 정확도 문제가 아니라 시스템 구조 문제로 다시 정의했고, GPU·TPU 시대의 대규모 병렬 학습에 가장 잘 맞는 형태로 문제를 바꿨다.

Transformer가 기존 알고리즘보다 강했던 이유

이 글은 Vaswani et al.의 Attention Is All You Need, Bahdanau et al.의 Neural Machine Translation by Jointly Learning to Align and Translate, Devlin et al.의 BERT, Brown et al.의 GPT-3, Ba et al.의 Layer Normalization을 바탕으로 Transformer가 왜 이전 알고리즘보다 유리했는지 정리한 것이다. 핵심은 모델 이름이 아니라 계산 그래프의 모양이다.

기존 알고리즘의 약점은 "기억력이 나쁘다"가 아니라 "계산 경로가 길다"였다

RNN과 LSTM은 시퀀스를 자연스럽게 처리한다. 단어를 하나씩 읽고, 이전 상태를 다음 상태로 넘긴다. 이 방식은 직관적이다. 문장을 왼쪽에서 오른쪽으로 읽는 인간의 습관과도 비슷하다.

문제는 딥러닝 시스템에서는 그 직관이 병목이 된다는 점이다. 1,000개 토큰을 처리하려면 1번 토큰의 계산이 끝나야 2번 토큰을 처리하고, 2번이 끝나야 3번으로 넘어간다. LSTM은 게이트 구조로 장기 의존성 문제를 완화했지만, 시간축을 따라 순차적으로 흘러야 한다는 구조 자체는 그대로였다.

이 차이는 단순한 구현 디테일이 아니다. 학습 속도, 메모리 접근 패턴, 하드웨어 활용률, 장거리 문맥 연결 방식이 모두 여기서 갈린다.

  • RNN/LSTM은 이전 hidden state를 거쳐 정보를 전달한다.
  • 멀리 떨어진 두 토큰이 상호작용하려면 여러 단계의 상태 전파를 지나야 한다.
  • 시퀀스 길이가 길어질수록 병렬화가 어려워지고, 학습 효율이 급격히 떨어진다.

Transformer는 이 병목을 우회했다. 토큰을 순서대로 읽는 대신, 한 층 안에서 모든 토큰이 서로를 직접 볼 수 있게 만들었다. 이게 self-attention의 핵심이다.

Self-attention은 "좋은 메모리"가 아니라 "짧은 경로"다

Self-attention과 순차 모델의 차이

Transformer를 이해할 때 가장 자주 놓치는 부분은 attention을 검색 기능처럼만 보는 것이다. 물론 attention은 어떤 토큰이 어떤 토큰을 참고할지 가중치로 정한다. 하지만 더 중요한 건 정보가 이동하는 경로 길이를 줄인다는 점이다.

RNN에서는 문장 앞부분의 정보가 뒤쪽 토큰에 도달하려면 여러 hidden state를 통과해야 한다. 이 과정에서 정보가 흐려지거나, 학습 신호가 약해지거나, 중간 상태가 과도한 압축을 강요받는다. LSTM은 이 문제를 완화했지만 완전히 없애지는 못했다.

반면 self-attention에서는 문장 맨 앞의 토큰과 맨 뒤의 토큰이 한 번의 attention 연산으로 직접 연결된다. Query, Key, Value 구조는 각 토큰이 "지금 이 위치에서 어떤 다른 위치를 참고해야 하는가"를 매 층마다 다시 계산하게 만든다.

이 차이가 실무적으로 만드는 효과는 크다.

  1. 장거리 의존성이 쉬워진다
    대명사, 변수 참조, 긴 문서 안의 조건문, 코드의 함수 호출 관계처럼 멀리 떨어진 정보가 직접 연결된다.

  2. 문맥 선택이 동적으로 바뀐다
    같은 단어라도 주변 문맥에 따라 다른 토큰을 참고할 수 있다. 고정된 n-gram이나 단순한 convolution window보다 훨씬 유연하다.

  3. 중간 hidden state 하나에 모든 것을 압축하지 않아도 된다
    필요한 정보에 필요할 때 접근한다. 이건 메모리 용량의 문제가 아니라 표현 방식의 문제다.

그래서 Transformer의 우위는 "더 똑똑한 순환 모델"이 아니라 순환을 하지 않아도 되게 만든 구조적 전환에서 나온다.

CNN도 병렬화는 좋았지만, 문맥을 넓히는 방식이 비쌌다

RNN 계열만 Transformer의 비교 대상은 아니다. CNN도 자연어 처리에서 많이 쓰였다. CNN의 장점은 명확하다. convolution은 병렬화가 쉽고, 지역 패턴을 잘 잡는다. 짧은 구문, 형태소 패턴, 국소적인 특징 추출에는 강하다.

하지만 언어에서 중요한 관계가 항상 가까이 있지는 않다. 함수 정의와 사용 위치가 멀리 떨어져 있을 수 있고, 문단 첫 문장의 조건이 마지막 문장의 의미를 바꿀 수 있다. CNN이 이런 넓은 문맥을 보려면 층을 깊게 쌓거나, dilation 같은 기법으로 receptive field를 넓혀야 한다.

즉 CNN은 병렬화 측면에서는 RNN보다 유리했지만, 임의의 두 위치를 내용 기반으로 직접 연결하는 능력은 Transformer보다 약했다. Transformer는 convolution kernel처럼 고정된 창을 미는 대신, 각 토큰이 전체 시퀀스에서 필요한 위치를 고른다.

정리하면 이렇다.

구조강점약점Transformer가 바꾼 점
RNN/LSTM순서 모델링이 자연스러움시간축 순차 처리, 긴 경로모든 토큰을 한 번에 연결
CNN병렬화와 지역 패턴에 강함넓은 문맥은 층을 깊게 쌓아야 함내용 기반 전역 연결
기존 attention+RNN정렬과 참조 개선encoder/decoder의 순차 병목은 남음attention을 모델의 중심 연산으로 승격

Bahdanau attention은 이미 중요한 방향을 보여줬다. 번역에서 source 문장의 어떤 위치에 align할지 학습하게 만들었고, encoder-decoder 구조의 병목을 크게 줄였다. Transformer는 여기서 한 발 더 나아가, attention을 보조 장치가 아니라 전체 아키텍처의 주연산으로 올렸다.

Transformer의 진짜 승부처는 병렬 학습과 스케일링이었다

병렬 학습과 스케일링에 맞는 구조

Transformer가 연구 논문을 넘어 산업 표준이 된 이유는 성능표 한두 개 때문이 아니다. 큰 모델을 빨리 학습시키기 좋았기 때문이다.

RNN은 시퀀스 방향 의존성 때문에 학습 과정에서 병렬화 한계가 강하다. 반면 Transformer는 한 층 안의 attention과 feed-forward network를 대량의 행렬 연산으로 처리한다. GPU와 TPU가 가장 잘하는 일이 바로 이런 dense matrix 연산이다.

이 구조는 세 가지 스케일링 이점을 만든다.

1) 토큰 병렬화가 쉽다

Transformer는 학습 중 전체 시퀀스를 한 번에 놓고 attention score를 계산한다. autoregressive 모델의 추론 단계에서는 토큰을 순차 생성해야 하지만, 학습 단계에서는 teacher forcing과 causal mask를 통해 대량 병렬 계산이 가능하다. 이 차이가 대규모 pretraining의 경제성을 바꿨다.

2) depth와 width를 키우기 좋다

Transformer block은 비교적 균질하다. attention, MLP, residual connection, normalization으로 구성된 블록을 반복한다. 이 반복 구조는 모델을 깊게 쌓고, hidden dimension을 넓히고, head 수를 늘리는 실험을 체계적으로 만들었다.

BERT와 GPT 계열이 성공한 이유도 여기 있다. BERT는 bidirectional encoder pretraining으로 문맥 이해를 크게 끌어올렸고, GPT-3는 같은 계열 구조를 훨씬 크게 키웠을 때 few-shot 능력이 나타날 수 있음을 보여줬다. 물론 데이터, 학습 목적, 후처리, 인프라가 모두 중요했지만, 그 기반에는 Transformer block의 확장성이 있었다.

3) 최적화가 안정적인 표준 패턴으로 굳었다

Residual connection, layer normalization, attention head, position encoding 같은 요소는 이후 수많은 변형의 기본 재료가 됐다. Ba et al.의 layer normalization은 RNN에서도 쓰일 수 있지만, Transformer 계열에서 특히 깊은 네트워크를 안정적으로 학습시키는 핵심 부품으로 자리 잡았다.

중요한 건 Transformer가 완벽한 구조였다는 뜻이 아니다. 오히려 self-attention은 길이가 길어질수록 계산량이 커진다. 기본 attention은 시퀀스 길이 n에 대해 O(n²) 비용을 갖는다. 긴 컨텍스트에서는 분명한 약점이다. 그런데도 Transformer가 이긴 이유는, 당시 가장 큰 병목이 긴 문서 하나를 싸게 처리하는 것보다 엄청난 양의 데이터를 병렬로 학습하는 능력이었기 때문이다.

위치 정보는 버린 게 아니라 분리했다

가끔 Transformer를 "순서를 모르는 모델"이라고 단순화해서 설명한다. 반은 맞고 반은 틀리다. self-attention 자체는 permutation-invariant에 가깝다. 토큰 순서를 따로 알려주지 않으면 어떤 단어가 앞에 있었는지 뒤에 있었는지 모른다.

그래서 Transformer는 positional encoding을 사용한다. 핵심은 순서 정보를 hidden state의 순차 전파에 묶지 않고, 별도의 신호로 주입했다는 점이다. 이 설계는 의외로 중요하다.

RNN에서는 순서와 계산 경로가 강하게 결합돼 있다. 앞 토큰을 먼저 처리해야 뒤 토큰으로 넘어갈 수 있다. Transformer에서는 순서 정보는 넣되, 계산은 병렬로 한다. 즉 순서를 모델링하는 것과 순차적으로 계산하는 것을 분리했다.

이 분리가 Transformer의 철학을 잘 보여준다.

언어가 순서가 있는 데이터라는 사실은 유지하되, 하드웨어까지 순서대로 기다리게 만들 필요는 없다.

이 관점에서 보면 Transformer는 단순한 NLP 모델이 아니라 계산 구조의 재설계다.

Multi-head attention은 여러 관점을 동시에 갖게 만든다

Self-attention 하나만으로도 전역 연결은 가능하다. 하지만 Transformer는 attention을 여러 head로 나눈다. 이건 단순한 앙상블이 아니다. 서로 다른 head가 서로 다른 관계를 볼 수 있게 만드는 장치다.

한 head는 바로 앞뒤의 구문 관계를 볼 수 있고, 다른 head는 문장 전체의 주제어를 볼 수 있으며, 또 다른 head는 코드에서 괄호나 변수 참조 같은 구조를 볼 수 있다. 실제로 head 해석은 과장되기 쉽고 모든 head가 사람이 이해하기 쉬운 역할을 갖는 것은 아니다. 그래도 구조적으로 보면 multi-head attention은 모델에게 동시에 여러 종류의 연결 그래프를 만들 수 있는 자유도를 준다.

이 점은 기존 알고리즘과의 차이를 더 크게 만든다. RNN의 hidden state는 매 시점 하나의 압축된 상태로 다음 단계에 넘어간다. CNN의 kernel은 고정된 지역 패턴을 반복 적용한다. Transformer의 attention head는 입력마다 다른 연결을 만든다. 같은 문장 길이, 같은 모델 파라미터라도 입력 내용에 따라 계산 그래프의 의미가 달라진다.

Transformer는 언어 모델을 "범용 인터페이스"로 만들었다

Attention은 멀티모달 AI의 공통 인터페이스가 됐다

Transformer가 더 강했던 마지막 이유는 확장 방향이다. RNN은 시퀀스에 자연스럽고, CNN은 이미지에 자연스럽다. 반면 Transformer는 데이터 타입을 토큰 시퀀스로 바꿀 수만 있으면 꽤 넓게 적용된다.

텍스트는 단어 또는 subword token이 된다. 이미지는 patch token이 된다. 오디오는 시간 구간 token이 된다. 코드는 lexical token과 syntax signal을 섞을 수 있다. 도구 호출이나 API 사용도 structured token으로 표현할 수 있다.

이건 단순히 "다 가능하다"는 마케팅 문장이 아니다. Transformer의 attention은 서로 다른 입력 단위를 같은 테이블 위에 올려놓고 관계를 계산하는 공통 연산이 된다. 그래서 이후 멀티모달 모델, 코드 모델, 에이전트 모델이 Transformer 계열 위에서 빠르게 발전했다.

물론 모든 문제에 Transformer가 최선은 아니다. 짧은 시계열, 극저지연 edge inference, 작은 데이터의 tabular 문제, 물리 시뮬레이션의 구조적 prior가 중요한 문제에서는 다른 모델이 더 낫거나 더 싸다. 하지만 "대규모 비정형 데이터를 학습해서 범용 표현을 만드는 문제"에서는 Transformer의 인터페이스가 압도적으로 유리했다.

실무적 해석: Transformer를 쓰는 이유는 정확도보다 운영 레버리지다

개발자나 제품팀 입장에서 Transformer의 의미는 "논문에서 SOTA였기 때문"이 아니다. 실무에서 중요한 건 운영 레버리지다.

1) 같은 구조로 더 많은 문제를 푼다

텍스트 분류, 검색, 요약, 번역, 코드 생성, 멀티모달 이해까지 같은 계열의 모델과 학습/추론 스택으로 접근할 수 있다. 이건 조직의 도구 비용을 낮춘다.

2) 데이터와 컴퓨트가 늘 때 성능 개선 경로가 비교적 선명하다

Transformer는 스케일업 실험이 쉽다. 모델 크기, 데이터 크기, context length, batch size, optimizer 설정을 체계적으로 조절할 수 있다. 물론 비용은 크지만, 개선 방향이 비교적 잘 정리돼 있다.

3) 생태계가 압도적으로 크다

라이브러리, 사전학습 모델, serving stack, quantization, fine-tuning, RAG, evaluation 도구가 Transformer 중심으로 발전했다. 특정 문제에서 더 작은 모델이 이론적으로 가능해도, 운영상으로는 Transformer 생태계 위에 올라타는 편이 빠른 경우가 많다.

4) 약점도 명확해서 개선 연구가 집중된다

기본 attention의 O(n²) 비용, 긴 컨텍스트에서의 메모리 사용량, hallucination, 데이터 품질 의존성, 추론 비용은 모두 실제 약점이다. 다만 약점이 명확하기 때문에 FlashAttention, sparse attention, linear attention, state space model, MoE, KV cache 최적화 같은 개선도 한 방향으로 쌓인다.

그래서 "Transformer가 더 좋다"는 말은 조건부로만 맞다

Transformer가 기존 알고리즘보다 더 좋았던 이유를 한 문장으로 줄이면 이렇다.

Transformer는 언어의 장거리 의존성을 직접 연결하고, 순차 계산 병목을 제거했으며, 대규모 병렬 학습과 멀티모달 확장에 맞는 공통 인터페이스를 제공했다.

하지만 이 말은 "모든 문제에서 Transformer가 항상 최선"이라는 뜻은 아니다. Transformer는 데이터와 컴퓨트가 충분하고, 입력을 토큰화할 수 있으며, 장거리 관계와 범용 표현이 중요한 문제에서 강하다. 반대로 작은 문제, 강한 도메인 구조가 있는 문제, latency와 비용이 극단적으로 중요한 문제에서는 전통적 알고리즘이나 작은 특화 모델이 더 낫다.

그럼에도 AI 산업이 Transformer 중심으로 재편된 이유는 분명하다. Transformer는 모델 하나가 아니라 스케일 가능한 계산 패턴이었다. RNN이 순서를 따라가고, CNN이 창을 움직였다면, Transformer는 모든 요소를 한 공간에 놓고 관계를 직접 계산했다. 그리고 그 방식이 현대 하드웨어와 대규모 데이터 시대에 가장 잘 맞았다.

결론

Transformer의 성공은 attention이라는 아이디어 하나의 승리가 아니다. attention을 중심에 놓고, 순차 처리와 순서 모델링을 분리하고, GPU 친화적인 대량 행렬 연산으로 학습을 재구성한 아키텍처의 승리다.

기존 알고리즘도 각각 강점이 있었다. RNN은 자연스러운 순서 처리, LSTM은 장기 의존성 완화, CNN은 병렬성과 지역 패턴 추출에 강했다. 하지만 Transformer는 이 강점들을 하나씩 흡수하면서도 더 큰 스케일에서 돌아갈 수 있는 구조를 제공했다.

그래서 Transformer가 더 좋았던 이유는 결국 이렇다. 더 많은 정보를 더 짧은 경로로 연결하고, 더 큰 하드웨어를 더 효율적으로 쓰며, 더 다양한 데이터를 같은 방식으로 다룰 수 있었기 때문이다. 이 세 가지가 합쳐지면서 Transformer는 좋은 알고리즘을 넘어, 현대 AI의 기본 운영체제에 가까운 위치를 차지하게 됐다.


참고 자료