RESEARCH / Instorm
TECH SESSION 4편 | AI는 수많은 단어 중 무엇이 중요한지 어떻게 알까?
Transformer와 Self-Attention은 어떻게 Q·K·V를 계산할까? 2017년 원논문부터 2026년 Local Attention 연구까지 숫자 예시로 설명합니다.

같은 ‘은행’이라는 단어도 문장마다 다른 역할을 합니다. Transformer는 수많은 토큰 중 어떤 정보를 얼마나 섞을지 어떻게 계산할까요?
은행 앞에 서 있는 사람과 은행에 돈을 맡긴 사람
두 문장을 읽어보겠습니다.
“그는 은행 앞에 서 있었습니다.”
“그는 은행에 돈을 맡겼습니다.”
두 문장에는 똑같이 ‘은행’이라는 단어가 등장합니다. 그러나 앞에서는 사람이 서 있는 장소이고, 뒤에서는 돈을 맡기는 행위의 대상입니다. 우리는 별다른 노력 없이 그 차이를 알아차립니다. 앞뒤 단어의 관계를 함께 읽기 때문입니다.
그런데 컴퓨터는 어떻게 이런 일을 할까요? 지난 3편에서 보았듯 언어모델은 문장을 토큰(Token)으로 나누고, 각각을 임베딩(Embedding)이라는 숫자 벡터로 바꿉니다. ‘은행’도 숫자이고, ‘돈’도 숫자입니다.
문제는 숫자로 변환된 단어들이 어떻게 서로의 관계를 반영하느냐는 것입니다. ‘은행’을 처리할 때 ‘돈’을 얼마나 참고해야 할까요? ‘맡겼다’는 어떤 역할을 할까요? 문장이 수천 토큰이라면 어떻게 될까요?
현대 Transformer에서 이 관계를 계산하는 핵심 장치가 Attention(어텐션)입니다. 막연히 “중요한 단어를 찾는다”는 설명보다 한 걸음 더 들어가 보겠습니다. Attention은 어떤 정보와 어떤 정보를 비교하고, 어떤 숫자를 실제로 섞을지 결정하는 계산입니다.
2014년, 번역기에는 한 가지 답답한 문제가 있었습니다
초기의 신경망 번역 모델 가운데는 RNN(Recurrent Neural Network)과 이를 활용한 Encoder–Decoder 구조가 있었습니다. RNN은 문장을 순서대로 읽으며 이전 단계의 상태를 다음 단계로 넘깁니다. 입력을 읽는 Encoder와 번역을 생성하는 Decoder를 연결했습니다.
그런데 초기 방식 중에는 긴 문장을 읽고도 정보를 제한된 크기의 하나의 표현에 주로 의존해야 하는 구조가 있었습니다. “어제 도서관에서 만난 친구가 추천한 책을 오늘 아침에 읽었다”는 문장을 번역한다고 생각해 보세요. 누가 추천했는지, 무엇을 읽었는지, 언제 읽었는지를 모두 보존해야 합니다.
2014년 Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio는 Neural Machine Translation by Jointly Learning to Align and Translate라는 연구를 발표했습니다. 요점은 간단했습니다. 번역할 단어가 바뀌면 원문에서 참고할 부분도 달라지게 하자. Decoder가 번역을 생성할 때 입력 문장의 여러 위치를 그때그때 참고하도록 만든 것입니다.
이 연구는 영어→프랑스어 번역을 실험했고, Attention을 신경망 번역에 효과적으로 결합한 대표적인 연구가 됐습니다. 그렇다고 Attention이라는 생각이 2014년에 처음 발명됐다는 뜻은 아닙니다. 어디에, 어떤 방식으로 넣고 학습했는지가 이 연구의 중요한 기여입니다. (Bahdanau et al., 2014)
그러다 2017년, 연구자들은 훨씬 과감한 질문을 던졌습니다. 단어를 하나씩 순차적으로 처리하는 RNN 중심 구조 자체를 바꿀 수 없을까요?
2017년, Transformer는 계산의 중심을 바꿨습니다
2017년 발표된 Attention Is All You Need는 Transformer라는 아키텍처를 소개했습니다. RNN의 순차적 상태 전달을 중심에 두는 대신 Attention을 핵심 계산으로 삼았습니다. 많은 토큰을 병렬로 학습할 수 있도록 한 점은 특히 중요했습니다.
원논문은 기계번역 실험도 제시했습니다. WMT 2014 영어→독일어 번역에서 Transformer Big은 28.4 BLEU를 기록했습니다. BLEU는 참고 번역과 생성 번역의 유사도를 평가하는 지표 중 하나입니다. 연구진이 설명한 해당 학습 구성에는 NVIDIA P100 GPU 8개를 사용한 약 3.5일의 훈련이 포함됐습니다.
이 숫자는 2017년 논문의 특정 모델·번역 과제에 관한 결과입니다. Transformer가 어떤 문제에서나 무조건 더 좋다는 뜻은 아닙니다. 그러나 이후 다양한 LLM의 기초 구조에 큰 영향을 주었습니다. (Vaswani et al., 2017)
그럼 Transformer의 핵심인 Attention은 정확히 무슨 계산을 할까요? 여기서 세 가지 이름이 등장합니다.
Query, Key, Value. 줄여서 Q·K·V입니다.
Q·K·V는 무엇일까요?
도서관에서 “고양이의 수면 습관”을 찾는다고 상상해보겠습니다. 내가 찾으려는 조건은 Query, 책마다 비교할 수 있는 단서는 Key, 실제로 가져올 정보는 Value에 비유할 수 있습니다.
다만 이것은 시작을 위한 비유입니다. 실제 Transformer의 Q·K·V는 사람이 작성한 검색어와 책 제목이 아니라 학습 가능한 선형 변환으로 만든 숫자 벡터입니다. 입력 표현 X에 각기 다른 가중치 행렬을 곱해 만듭니다.
- Query(Q): 지금 처리하는 토큰이 다른 토큰들과 관계를 계산할 때 사용하는 표현
- Key(K): Query와 비교되는 각 토큰의 표현
- Value(V): 계산된 가중치를 실제로 적용해 합칠 정보
여기서 핵심을 하나만 기억해 보세요. Q와 K가 “얼마나 섞을지”를 정하고, V가 “무엇을 섞을지”를 제공합니다.
“고양이가 창가에서 잠든다”라는 문장이 있다고 합시다. ‘잠든다’의 표현을 갱신할 때 다른 토큰을 어떻게 참고할 수 있는지 계산해 보겠습니다.
고양이 한 마리로 Attention을 실제 계산해 보겠습니다
설명을 위해 이 문장을 다섯 개의 가상 토큰으로 나누겠습니다.
고양이 / 가 / 창가 / 에서 / 잠든다
실제 토크나이저의 분할 결과는 모델마다 달라질 수 있습니다. 지금 필요한 것은 계산의 흐름입니다. ‘잠든다’의 Query를 두 숫자짜리 벡터 Q=(1,0)으로 두고, 다섯 Key를 각각 (2,0), (0,0), (1,0), (0,0), (1,0)으로 설정하겠습니다.

내적(Dot Product)은 두 벡터의 대응 요소를 곱해 더하는 연산입니다. 따라서 Q와 다섯 Key의 내적은 차례대로 2, 0, 1, 0, 1이 됩니다.
여기서 끝내지 않습니다. Scaled Dot-Product Attention에서는 Key 차원 수의 제곱근으로 점수를 나눕니다. 지금은 차원이 2이므로 √2로 나눕니다. 그다음 Softmax를 적용해 합이 100%인 가중치를 얻습니다.
| 토큰(Key) | Q·K 원점수 | Attention 가중치 |
|---|---|---|
| 고양이 | 2 | 40.45% |
| 가 | 0 | 9.83% |
| 창가 | 1 | 19.94% |
| 에서 | 0 | 9.83% |
| 잠든다 | 1 | 19.94% |
직접 계산한 교육용 가상 벡터입니다. 반올림 때문에 합계가 99.99%로 표시됩니다. 실제 모델의 Attention 측정이 아닙니다.
왜 √2로 나누었을까요? 벡터 차원이 커질수록 내적 값도 커질 수 있는데, 이 점수가 지나치게 커지면 Softmax가 매우 뾰족해져 학습이 어려워질 수 있기 때문입니다. 2017년 논문은 이런 점을 설명하며 점수 크기를 조정했습니다.
하지만 표는 아직 어디를 얼마나 참고할지만 알려줬습니다. 이제 각 토큰의 Value 벡터를 해당 가중치만큼 곱해 합칩니다. 이것이 Weighted Sum(가중합)입니다.
예를 들어 ‘고양이’의 V가 (1,0), ‘창가’의 V가 (0,1), 다른 V는 (0,0)이라면 결과는 약 (0.4045, 0.1994)입니다. 새로운 문맥 반영 표현이 나온 것이죠. 이것이 문자 그대로 “고양이를 40% 이해했다”는 뜻은 아닙니다.
Q와 K 비교 → 점수 크기 조정 → Softmax → V의 가중합. Attention은 이렇게 계산됩니다.

왜 하나가 아니라 여러 개의 Attention Head를 사용할까요?
문장 하나에는 누가 행동하는지, 어디에서 일어나는지, 어떤 표현과 어떤 표현이 연결되는지 등 여러 관계가 있습니다. 단 하나의 Q·K·V 변환만 사용하면 표현의 폭이 제한될 수 있습니다.
Multi-head Attention(멀티헤드 어텐션)은 서로 다른 학습 가중치로 여러 Q·K·V 집합을 만들고 병렬 계산한 뒤, 결과를 이어 붙여 다시 변환합니다. 여러 표현 공간에서 다양한 관계를 계산할 기회를 주는 것입니다.
하지만 Head마다 사람이 ‘주어 담당’이나 ‘장소 담당’이라고 직책을 붙여놓은 것은 아닙니다. 실제로 무엇을 학습하는지는 모델과 데이터에 따라 달라집니다.
또한 Transformer를 Attention 하나로 설명해서도 안 됩니다. FFN(Feed-forward Network)은 Attention 다음에 각 위치의 표현을 비선형적으로 변환합니다. Residual Connection(잔차 연결)은 이전 표현을 다음 경로에 더해 정보 및 학습 기울기가 흐를 경로를 제공합니다. LayerNorm(층 정규화)은 표현을 정규화하여 학습을 안정화합니다.

2017년 원래 Transformer에서는 잔차를 더한 뒤 LayerNorm을 적용했습니다(Post-LN). 이후 여러 모델은 순서를 바꾼 Pre-LN 변형도 사용합니다. 그리고 원래 Transformer는 Encoder–Decoder였지만 오늘날 많은 텍스트 생성 LLM은 Decoder 중심이며, Causal Mask(인과 마스크)로 미래 토큰을 볼 수 없게 제한합니다.
따라서 “모든 단어가 문장 전체를 마음대로 본다”는 말은 모델 종류와 마스크 조건에 따라 달라집니다.
Attention이 높으면 정말 그 단어가 답의 근거일까요?
앞선 표에서 ‘고양이’는 가장 높은 가중치를 받았습니다. 그렇다면 “모델이 고양이를 가장 중요하게 생각했기 때문에 이 답을 냈다”고 결론 내릴 수 있을까요?
조심해야 합니다. Attention 가중치와 최종 예측의 인과적 설명은 다른 것입니다. 2019년 Sarthak Jain과 Byron Wallace의 Attention is not Explanation은 여러 과제에서 Attention과 다른 중요도 측정이 일치하지 않거나, 비슷한 예측 결과를 낳는 서로 다른 Attention 분포가 존재할 수 있음을 보여줬습니다. (Jain & Wallace, 2019)
Attention 지도는 내부 계산을 살펴보는 유용한 단서입니다. 하지만 그것만으로 “이 단어가 최종 판단의 원인”이라고 확정할 수는 없습니다. 다른 층과 FFN, 값 벡터, 학습된 표현까지 복합적으로 작용하기 때문입니다.

2026년 ACL의 Characterizing the Expressivity of Local Attention in Transformers는 다시 다른 질문을 던졌습니다. 꼭 모든 이전 토큰을 참고하도록 해야 할까요? Local Attention(국소 어텐션)은 가까운 범위만 참고해 계산 부담을 줄입니다. 연구진은 특정 형식 언어를 인식하는 이론적 능력에서 전역 Attention과 국소 Attention이 서로 보완적임을 보였고, 실험에서 이를 결합한 모델의 이점도 보고했습니다. 이는 논문의 형식 언어·모델링 조건에서 얻은 결과입니다. (Li & Cotterell, ACL 2026)
Transformer 연구는 여전히 “어떤 관계를 얼마나 효율적으로 계산하고, 그 결과를 얼마나 정확히 설명할 수 있을까?”라는 질문을 이어가고 있습니다.
AI가 문맥을 계산하는 원리와 아직 남은 질문
처음의 은행 이야기로 돌아가 보겠습니다. 같은 단어라도 함께 등장한 표현에 따라 다른 역할을 합니다. Transformer는 그 차이를 사람이 읽는 방식 그대로 이해하는 것이 아니라, 토큰 표현의 관계를 Q·K·V와 여러 계층의 계산으로 반영합니다.
해결한 문제는 문장 속 여러 위치의 정보를 유연하게 결합하는 방법입니다. 그러나 Attention 수치만으로 모델의 판단 근거를 모두 설명할 수는 없습니다. 무엇을 참고할지 계산할 수 있다는 것과 문장 순서를 어떻게 반영할지는 또 다른 문제이기도 합니다.
그전에 5편에서는 일상적인 궁금증부터 살펴보겠습니다. 같은 모델인데 질문하는 말투를 바꾸면 왜 답변이 달라질까요?
참고 자료
- Bahdanau et al. (2014), Neural Machine Translation by Jointly Learning to Align and Translate — 번역에서 Attention을 결합한 대표 연구.
- Vaswani et al. (2017), Attention Is All You Need — Transformer, Scaled Dot-Product, Multi-head Attention 원전.
- Jain & Wallace (2019), Attention is not Explanation — Attention 해석의 한계.
- Su et al. (2021), RoFormer: Enhanced Transformer with Rotary Position Embedding — 이어질 위치 표현 연구.
- Li & Cotterell (2026), Characterizing the Expressivity of Local Attention in Transformers — Local/Global Attention의 표현력 비교.


