← 스터디

스터디 · 2026-10-15 · 기초

어텐션과 트랜스포머: 문장 전체를 한꺼번에 읽는 법

트랜스포머는 RNN의 순환과 CNN의 합성곱을 모두 빼고 어텐션만으로 문장을 처리하는 구조로, 단어를 하나씩 차례로 읽어야 했던 이전 방식의 병목을 풀었다. 이 노트는 어텐션의 작동 원리와 2017년 원 논문이 새로 한 일, 그리고 어텐션 싱크·RoPE 같은 최근 쟁점을 정리한다.

목차
핵심 정리
  • 어텐션은 각 토큰이 문장 안의 다른 토큰을 얼마나 참고할지 가중치로 정해 정보를 섞는 방법이다.
  • 트랜스포머(1706.03762)는 순환 없이 어텐션만 써서 학습을 병렬로 돌릴 수 있게 했고, 번역 품질과 학습 비용을 함께 개선했다.
  • 멀티헤드 어텐션은 여러 관점의 어텐션을 동시에 돌려, 가중 평균 때문에 세부가 흐려지는 문제를 보완한다.
  • 어텐션에는 순서 정보가 없어서 위치 정보를 따로 넣어야 하며, 그 방식(예: RoPE)이 지금도 성능 문제의 원인으로 분석된다.
  • 최근에는 첫 토큰에 어텐션이 몰리는 어텐션 싱크처럼 긴 컨텍스트에서 드러나는 어텐션의 버릇을 재고 고치려는 연구가 이어지고 있다.

왜 필요했나: 한 단어씩 읽는 방식의 병목

트랜스포머 이전에 번역이나 언어 모델링에서 가장 많이 쓰인 구조는 RNN(순환 신경망)이었다. RNN은 문장을 앞에서부터 한 토큰씩 읽으며, 지금까지 읽은 내용을 요약한 '은닉 상태'를 다음 단계로 넘긴다. 트랜스포머 논문논문은 이 방식이 본질적으로 순차적이라서 한 문장 안에서 계산을 나눠 동시에 처리할 수 없고, 문장이 길어질수록 이 점이 치명적이 된다고 지적했다. 메모리 한계 때문에 여러 문장을 한꺼번에 묶어 처리하는 것도 어려워진다.

순차 계산을 줄이려고 CNN(합성곱 신경망)을 쓴 번역 모델도 있었다. CNN은 모든 위치를 병렬로 계산할 수 있지만, 같은 논문의 설명에 따르면 멀리 떨어진 두 단어를 연결하는 데 필요한 연산 수가 거리에 따라 늘어난다(ConvS2S는 거리에 비례하고, ByteNet은 로그에 비례해 늘어난다). 연결 경로가 길수록 먼 단어 사이의 관계를 배우기도 어렵다.

어텐션 자체는 이미 쓰이고 있었다. 번역 모델이 원문의 어느 부분을 참고할지 고르는 장치로 인코더와 디코더 사이를 이어 주고 있었다. 다만 논문에 따르면 거의 모든 경우 RNN과 함께 쓰였다. 트랜스포머는 여기서 한 걸음 더 나아가 'RNN을 빼고 어텐션만 남기면 어떨까'를 물었다.

RNN 대 트랜스포머

RNN한 토큰씩 차례로

  • 앞 단계 결과가 나와야 다음 계산
  • 문장 안에서 병렬 처리 불가
  • 긴 문장일수록 병목이 심함

트랜스포머모든 토큰을 한꺼번에

  • 어텐션으로 모든 위치를 동시에 연결
  • 먼 단어도 일정한 연산 수로 연결
  • 순서 정보는 따로 더해야 함

공통 둘 다 문장 같은 시퀀스를 입력받아 다른 시퀀스를 만드는 모델

같은 문장을 처리할 때 두 구조가 정보를 주고받는 방식의 차이다.

핵심 아이디어: 회의실에서 누구 말을 들을지 정하기

어텐션은 회의에 비유할 수 있다. 회의실에 문장의 각 단어가 한 사람씩 앉아 있다. 각자 자기 발언을 다듬기 전에 다른 사람을 둘러보고, 지금 내 이야기와 관련 있는 사람의 말은 크게, 관련 없는 사람의 말은 작게 받아들인다. 'it'이라는 단어라면 앞에 나온 'the animal'에 귀를 기울이는 식이다. 각자가 이렇게 다른 사람들의 말을 가중치를 매겨 섞고 나면, 단어마다 문맥이 반영된 새 표현을 갖게 된다.

이 과정은 보통 Query(질문), Key(이름표), Value(내용) 세 가지로 설명한다. 각 단어는 '내가 찾는 것'(Query)과 '나를 설명하는 이름표'(Key), '내가 실제로 건넬 내용'(Value)을 가진다. 내 Query와 다른 단어들의 Key가 얼마나 잘 맞는지 점수를 매기고, 점수를 합이 1인 비율로 바꾼 뒤, 그 비율대로 Value를 섞는다. 이렇게 한 문장 안의 단어끼리 서로를 참고하는 것을 셀프 어텐션(self-attention)이라 부른다. 논문은 이를 '하나의 시퀀스 안 여러 위치를 서로 연결해 그 시퀀스의 표현을 계산하는 어텐션'이라고 정의한다.

장점은 분명하다. 모든 단어가 모든 단어를 한 번에 바라보므로 아무리 멀리 떨어진 단어 사이도 연결하는 연산 수가 일정하고, 모든 위치의 계산을 동시에 할 수 있다. 다만 논문도 인정했듯이 여러 단어를 가중 평균하면 세부가 뭉개질 수 있다. 이 문제를 보완하려고 논문은 어텐션을 여러 개 나란히 돌리는 멀티헤드 어텐션을 도입했다.

어떻게 작동하나: 인코더와 디코더의 층 쌓기

원래 트랜스포머는 번역용으로 설계되어 입력 문장을 읽는 인코더와 출력 문장을 쓰는 디코더로 나뉜다. 처리는 대략 다음 순서로 진행된다. 첫째, 입력 문장을 토큰으로 쪼개고 각 토큰을 숫자 벡터, 즉 임베딩으로 바꾼다. 어텐션은 단어의 순서를 스스로 알지 못하므로 여기에 위치 정보를 더한다. 논문의 원 모델은 학습하지 않는(파라미터가 없는) 위치 표현을 썼다.

둘째, 인코더는 똑같은 층 6개를 쌓은 구조다. 각 층에는 하위 층이 두 개 있다. 하나는 멀티헤드 셀프 어텐션이고, 다른 하나는 토큰마다 따로 적용하는 단순한 완전연결 신경망(피드포워드 네트워크)이다. 각 하위 층의 입력을 출력에 그대로 더하는 잔차 연결을 두고 그 뒤에 층 정규화를 붙였다. 이렇게 하려고 모든 하위 층의 출력 크기를 512차원으로 맞췄다.

셋째, 디코더도 층 6개를 쌓았지만 하위 층이 하나 더 있다. 디코더의 셀프 어텐션에는 마스크를 씌워, 각 위치가 자기보다 뒤에 있는 위치를 보지 못하게 한다. 아직 쓰지 않은 미래 단어를 미리 엿보면 안 되기 때문이다. 추가된 하위 층은 인코더의 출력을 바라보는 어텐션으로, 번역할 때 원문의 어느 부분을 참고할지 정한다(흔히 교차 어텐션이라 부른다).

넷째, 디코더는 출력을 한 번에 한 토큰씩 만든다. 방금 만든 토큰을 다시 입력에 넣어 다음 토큰을 예측하는 자기회귀 모델 방식이다. 학습할 때는 정답 문장 전체를 마스크와 함께 한꺼번에 넣을 수 있어 병렬 처리가 가능하다. 트랜스포머가 빨리 학습되는 이유가 여기에 있다.

원래 트랜스포머의 처리 흐름입력 토큰 → 임베딩+위치; 임베딩+위치 → 인코더 ×6층; 이전 출력 토큰 → 임베딩+위치; 임베딩+위치 → 디코더 ×6층; 인코더 ×6층 → 디코더 ×6층(교차 어텐션); 디코더 ×6층 → 다음 토큰; 다음 토큰 → 이전 출력 토큰(다시 입력)입력 토큰원문 문장임베딩+위치순서 정보 더하기인코더 ×6층셀프 어텐션피드포워드이전 출력 토큰지금까지 쓴 부분임베딩+위치디코더 ×6층마스크 셀프 어텐션교차 어텐션·피드포워드다음 토큰교차 어텐션다시 입력
원래 트랜스포머의 처리 흐름 윗줄은 입력 문장을 읽는 인코더, 아랫줄은 출력을 한 토큰씩 쓰는 디코더다. 디코더는 교차 어텐션으로 인코더 결과를 참고하고, 만든 토큰을 다시 입력으로 넣는다.

출발점: 2017년 트랜스포머 논문이 새로 한 일

'Attention Is All You Need'논문는 Google Brain과 Google Research 연구자들이 2017년에 발표한 논문이다. 논문 스스로 밝힌 핵심은 순환도 합성곱도 쓰지 않고 셀프 어텐션만으로 입력과 출력의 표현을 계산하는 첫 번째 변환(transduction) 모델이라는 점이다. 기여자 설명에 따르면 Scaled Dot-Product 어텐션, 멀티헤드 어텐션, 파라미터가 없는 위치 표현이 이 논문에서 제안됐다.

결과도 좋았다. WMT 2014 영어→독일어 번역에서 28.4 BLEU(번역 품질 점수)를 기록해, 여러 모델을 합친 앙상블까지 포함한 기존 최고 기록을 2 BLEU 넘게 앞섰다. 영어→프랑스어 번역에서는 GPU 8개로 3.5일 학습해 단일 모델 최고 기록인 41.8 BLEU를 세웠다. 논문은 이 학습 비용이 기존 최고 모델들의 '작은 일부'라고 밝혔다. P100 GPU 8개로 12시간만 학습해도 당시 최고 수준의 번역 품질에 도달했다고도 적었다.

논문은 번역 밖으로도 시험을 넓혔다. 영어 문장 구조 분석(constituency parsing)에 적용해 학습 데이터가 많을 때와 적을 때 모두 잘 작동함을 보였다. 이 노트의 입력 자료에는 그 뒤 이 구조가 어떻게 퍼졌는지를 다룬 논문이 없으므로 중간 역사는 생략한다. 다만 아래 최근 연구들이 대규모 언어 모델과 영상 생성 모델 안의 어텐션을 분석 대상으로 삼는다는 사실에서, 이 구조가 지금도 기본 부품으로 쓰이고 있음을 알 수 있다.

원 논문의 주요 결과

28.4 BLEU영어→독일어
41.8 BLEU영어→프랑스어 단일 모델
3.5일GPU 8개로 학습
WMT 2014 번역 과제에서 원 논문이 보고한 수치다.

요즘 어디로 가고 있나: 어텐션의 버릇을 재고 고치기

첫 번째 흐름은 긴 컨텍스트 윈도에서 드러나는 문제다. 어텐션 싱크 연구논문는 요즘 언어 모델이 100만 토큰짜리 컨텍스트 윈도를 내세우지만, 두 가지 버릇 때문에 그 창을 다 쓰지 못한다고 지적한다. 하나는 읽을 만한 것이 없는 어텐션 헤드가 남는 몫을 첫 토큰에 쏟는 '어텐션 싱크'이고, 다른 하나는 사실이 컨텍스트의 어디에 있느냐에 따라 모델이 그것을 찾을지가 달라지는 현상이다. 이 논문은 앞선 연구에서 게이트 어텐션(gated attention)이 첫 토큰으로 가는 어텐션을 46.7%에서 4.8%로 줄였다는 보고를 소개한 뒤, 측정 도구 SinkProbe를 만들어 토큰을 섞는 방식만 다른 소형 모델 4개에 적용했다. 그 결과 싱크를 만드는 것은 구조가 아니라 학습 목표였고, 게이팅의 효과는 그들의 규모에서 재현되지 않았으며, 싱크의 크기·활성값·위치 편향은 서로 따로 움직였다.

두 번째 흐름은 위치 정보의 부작용이다. 영상 디퓨전 모델 연구논문는 텍스트로 영상을 만드는 모델이 물리 법칙을 어기는 영상을 자주 만드는 원인을 모델 내부에서 찾았다. 노이즈를 걷어 내는 초기 단계에서 움직임의 경로가 만들어지며('모양 먼저, 세부는 나중'), 움직임 계획을 주도하는 어텐션 헤드가 따로 있다는 것을 확인했다. 또 RoPE(회전 위치 임베딩)가 공간 방향의 어텐션을 지나치게 빨리 약하게 만들어, 초기의 후보 위치가 물리적으로 어색한 자리에 너무 일찍 고정된다고 분석했다. 이를 고치려고 노이즈 제거 단계마다 RoPE의 주파수를 조절하는 가벼운 수정을 제안했고, 추가 학습 없이 적용한 실험과 학습을 거친 실험 모두에서 효과를 확인했다고 밝혔다.

세 번째 흐름은 어텐션의 수학적 바탕을 바꾸려는 이론 연구다. 리만 어텐션 연구논문는 모든 트랜스포머 기반 언어 모델이 어텐션 점수를 평범한 내적(유클리드 내적)으로 계산한다는 점에 주목한다. 이 논문은 선행 연구를 인용해, 어텐션만 쌓으면 깊이가 깊어질수록 표현의 다양성(랭크)이 급격히 줄어든다는 문제를 소개한다. 그리고 토큰마다 학습된 '거리 재는 법'(리만 계량)을 쓰는 이론 틀과 Fiber Bundle Transformer라는 구조 명세를 제안했다. 다만 이것이 랭크 감소를 막는다는 증명은 아니라고 스스로 밝히며, 핵심 문제를 열린 질문으로 남겨 두었다.

출발점과 최근 연구 지도트랜스포머 → 어텐션 싱크 점검(분석 대상); 트랜스포머 → 영상 속 RoPE(분석 대상); 트랜스포머 → 리만 어텐션(분석 대상)요즘 방향트랜스포머 논문 보기트랜스포머2017어텐션만으로 번역↗어텐션 싱크 점검 논문 보기어텐션 싱크 점검2026싱크는 학습 목표 탓↗영상 속 RoPE 논문 보기영상 속 RoPE2026주파수 조절로 물리성개선↗리만 어텐션 논문 보기리만 어텐션2026내적 대신 학습된 계량↗분석 대상분석 대상분석 대상
출발점과 최근 연구 지도 왼쪽은 2017년 출발점 논문, 오른쪽은 그 어텐션 구조를 분석하거나 고치려는 2026년 연구들이다. 점선은 '분석 대상'이라는 관계를 뜻한다.

한계와 쟁점

첫째, 셀프 어텐션은 모든 토큰이 모든 토큰을 바라보는 구조라서 토큰 사이 관계의 수가 문장 길이의 제곱으로 늘어난다(일반적인 계산 성질이다). 원 논문이 강조한 '거리와 상관없이 일정한 연산 수'의 대가인 셈이다. 컨텍스트 윈도가 100만 토큰 단위로 커지면서 어텐션 싱크 연구논문가 지적하듯, 창이 크다고 그 안의 정보를 고르게 활용하는 것은 아니다.

둘째, 어텐션 가중치를 그대로 '모델이 무엇을 중요하게 봤는지'로 읽으면 위험하다. 어텐션 싱크 연구논문는 읽을 것이 없는 헤드가 의미 없이 첫 토큰에 어텐션을 쏟는다는 점을 다루었다. 높은 어텐션 값이 꼭 높은 중요도를 뜻하지는 않는다는 얘기다. 해석 가능성 연구가 어텐션 헤드 하나하나의 실제 기여를 따로 측정하는 이유이기도 하다. 영상 디퓨전 모델 연구논문도 어텐션 패턴에 헤드의 인과적 기여를 함께 따져 움직임을 담당하는 헤드를 찾아냈다.

셋째, 고쳤다는 보고가 다른 조건에서도 통하는지는 따로 확인해야 한다. 같은 연구논문에서 게이트 어텐션의 효과가 작은 규모에서 재현되지 않은 것이 그 예다. 리만 어텐션 연구논문처럼 구조를 근본부터 바꾸자는 제안도 아직 이론 단계여서, 실제 대형 모델에서 나아지는지는 검증되지 않았다.

더 공부하려면

가장 먼저 읽을 것은 'Attention Is All You Need'논문다. 1장 Introduction과 2장 Background에서 RNN과 CNN의 한계를 어떻게 봤는지 확인하고, 3장 Model Architecture에서 인코더·디코더의 층 구성과 마스킹을 그림 1과 함께 따라가면 이 노트의 '어떻게 작동하나' 절을 원문으로 다시 볼 수 있다. 수식이 낯설다면 각 하위 층이 '어텐션으로 섞고, 피드포워드로 다듬고, 잔차로 원래 값을 보존한다'는 큰 흐름만 잡아도 충분하다.

그다음에는 관심사에 따라 고르면 된다. 언어 모델의 긴 컨텍스트 처리에 관심이 있으면 어텐션 싱크 연구논문를 읽자. 측정 지표(싱크 크기, 위치별 회상률 등)를 정의하는 방식이 실무 평가에도 참고가 된다. 위치 정보와 영상 생성에 관심이 있으면 영상 디퓨전 모델 연구논문가 RoPE가 어텐션에 미치는 영향을 구체적으로 보여 준다. 어텐션의 수학적 성질이 궁금하면 리만 어텐션 연구논문를 읽되, 저자 스스로 '증명이 아닌 구조적 관찰'이라고 선을 그은 부분을 구분하며 읽는 것이 좋다.

관련 용어

어텐션 트랜스포머 RNN CNN 임베딩 자기회귀 모델 RoPE 컨텍스트 윈도

참고 문헌

핵심 논문

최근 연구

AI가 참고 문헌을 바탕으로 작성하고 검수를 거친 해설입니다. 정확한 내용은 원문을 확인해 주세요.