셀프 어텐션Self-Attention
같은 문장 안 말들끼리 서로 참고하는 방식
- 셀프 어텐션은 같은 문장 안의 말들끼리 서로를 참고하는 방식이에요. 바깥에서 정보를 들여오지 않아요.
- 문장 속 모든 자리가 묻는 쪽이면서 동시에 답하는 쪽이에요. 한쪽만 질문하는 구조가 아니에요.
- 참고를 마치면 각 자리의 내용이 문맥이 밴 새 내용으로 바뀌어요. 같은 글자라도 문장이 다르면 달라져요.
- 모든 자리가 동시에 이 일을 해요. 앞에서 뒤로 차례를 기다리지 않아서 학습이 아주 빨라졌어요.
- 이 과정을 여러 층 반복하면 참고 범위가 넓어져서 문장 전체의 짜임까지 잡아내요.
목차
1비유로 이해하기
같은 건물에 사는 세대마다 우편함이 하나씩 있어요. 3호가 "우리 집 강아지 이름이 뭐였더라" 하는 쪽지를 돌리면, 다른 세대들이 각자 아는 만큼 답장을 자기 우편함에 걸어 둬요. 3호는 그 답장들을 걷어 와 자기 문패에 적힌 내용을 다시 정리해요. 셀프 어텐션은 이렇게 같은 건물 안에서만 쪽지가 오가는 구조예요.
중요한 건 모두가 동시에 이 일을 한다는 거예요. 3호만 묻는 게 아니라 1호도 2호도 4호도 각자 쪽지를 돌리고 각자 답장을 걷어요. 모두가 묻는 쪽이면서 동시에 답하는 쪽이에요.
바깥 우체국에서 배달되는 우편물은 여기 없어요. 새 정보가 들어오는 게 아니라, 이미 건물 안에 흩어져 있던 정보가 제자리를 찾아가는 거예요.
2자세히 알아보기
바깥이 아니라 안에서 오가요
어텐션 자체는 원래 두 무리 사이를 잇는 데 쓰였어요. 번역할 때 원문 쪽 단어들과 번역문 쪽 단어들을 이어 주는 식이었죠. 묻는 쪽과 답하는 쪽이 서로 다른 문장이었어요.
셀프 어텐션은 이 둘을 하나로 합쳤어요. 묻는 쪽도 답하는 쪽도 같은 문장이에요. 그래서 "자기 자신"이라는 뜻의 이름이 붙었어요. 이 단순한 변경이 트랜스포머라는 구조를 가능하게 했고, 지금 쓰이는 대부분의 언어 모델이 이 위에 서 있어요.
자리마다 세 가지 역할을 동시에 맡아요
각 자리는 세 가지를 내놓아요. "나는 이런 걸 찾고 있다"는 쪽지, "나는 이런 걸 갖고 있다"는 이름표, 그리고 실제로 건네줄 내용이에요. 우편함 하나가 편지도 보내고 이름표도 걸고 답장 내용도 준비하는 셈이에요.
쪽지와 이름표가 잘 맞을수록 그 자리에서 오는 답장의 비중이 커져요. 비중을 다 더하면 1이 되니까, 어느 한 곳을 크게 참고하면 다른 곳은 자동으로 적게 참고해요.
이 세 가지는 모두 같은 원본에서 각각 다르게 뽑아 낸 것이에요. 어떻게 뽑을지는 학습으로 정해졌어요.
답장을 걷으면 내용이 바뀌어요
답장을 다 걷은 뒤 각 자리의 내용은 그대로 있지 않아요. 걷어 온 것들을 비중대로 섞어서 자기 내용에 반영해요. 그 결과 "그것"이라는 자리에는 앞에 나온 "케이크"의 정보가 진하게 배어들고, "밝다"라는 자리에는 그 앞에 나온 것이 방인지 성격인지가 배어들어요.
같은 글자가 문장에 따라 다른 것을 뜻하게 되는 일이 여기서 일어나요. 문장 하나만 놓고 보면 "배"는 여러 뜻이지만, 앞뒤 말들의 답장을 걷고 나면 병원 쪽인지 항구 쪽인지가 정해져요.
모두가 동시에 일해요
이전 방식은 첫 단어를 처리해야 두 번째 단어로 넘어갈 수 있었어요. 줄을 서서 차례를 기다리는 구조였죠. 셀프 어텐션에는 그런 순서가 없어요. 모든 자리가 모든 자리를 한꺼번에 보니 전부 동시에 계산할 수 있어요.
이 점이 실제로 가장 큰 변화를 만들었어요. 계산 장치가 수천 개의 일을 한꺼번에 처리하는 데 강하다는 성질과 딱 맞아떨어져서, 학습 속도가 비교할 수 없이 빨라졌어요. 오늘날의 큰 모델들이 나올 수 있었던 실질적인 이유예요.
대신 순서 정보가 사라져요. 모두가 동시에 서로를 보면 누가 앞이고 누가 뒤인지 알 수 없으니까요. 그래서 각 자리에 순서를 나타내는 표시를 따로 붙여 줘야 해요.
층을 거듭하면 시야가 넓어져요
한 번 답장을 걷고 끝나지 않아요. 갱신된 내용을 가지고 또 한 번 쪽지를 돌리고, 그걸 여러 층 반복해요. 두 번째 층에서는 이미 문맥이 밴 내용끼리 주고받으니 훨씬 넓은 관계를 볼 수 있어요.
아래층은 바로 옆 말과의 관계나 문법적 짝을 주로 잡고, 위층으로 갈수록 문장 전체의 주제나 논리 흐름 같은 것을 잡는 경향이 관찰돼요. 층마다 보는 것이 조금씩 달라지는 거예요.
3조금 더 정확하게
셀프 어텐션은 질의, 키, 값을 모두 같은 입력에서 만들어 내는 어텐션이에요. 각 자리의 질의와 모든 자리의 키를 견주어 점수를 내고, 벡터 크기에 맞춰 한 번 줄인 뒤 소프트맥스로 합이 1인 비중을 만들고, 그 비중으로 값들을 가중 평균해요. 글을 이어 쓰는 모델에서는 자기보다 뒤에 있는 자리를 보지 못하도록 가려요.
계산량은 자리 수의 제곱에 비례해요. 문장이 두 배 길어지면 따져야 할 짝은 네 배가 돼요. 긴 문맥을 다루는 비용이 급하게 오르는 이유이고, 이를 줄이려는 변형이 계속 나오고 있어요.
비유가 어긋나는 지점도 있어요. 우편함 비유에서는 세대마다 사람이 있어서 답장을 읽고 판단하지만, 셀프 어텐션에는 판단하는 주체가 없어요. 학습으로 맞춰진 숫자들이 곱해지고 더해지면서 비중이 저절로 나와요. 또 쪽지를 실제로 돌리는 순서도 없어요. 한 번의 커다란 행렬 계산으로 모든 짝이 동시에 처리돼요.
4직접 해보기
5흔한 오해
셀프 어텐션이 문장 밖에서 정보를 가져온다고 생각하기 쉽지만, 실제로는 이미 입력에 들어 있는 자리들끼리만 주고받아요.
가까운 말일수록 많이 참고한다고 여기기 쉽지만, 실제로는 거리와 무관하게 비중이 정해져서 멀리 있는 말이 훨씬 크게 참고되기도 해요.
어텐션과 셀프 어텐션이 같은 말이다라고 생각하기 쉽지만, 실제로는 어텐션이 더 넓은 개념이고 묻는 쪽과 답하는 쪽이 같을 때만 셀프 어텐션이에요.
7한 줄 요약
그러니까셀프 어텐션은 같은 건물 안 우편함처럼 문장 속 말들이 서로에게 묻고 답해, 각자의 내용을 문맥이 밴 것으로 다시 쓰는 방식이에요.
잘못된 내용이나 더 좋은 비유가 있나요? 수정 제안 보내기 · 마지막 수정2026-09-02