AI VIDEO BRIEFING
트랜스포머 어텐션 원리 완전 해설 – 쿼리·키·값으로 보는 LLM 핵심 구조
3Blue1Brown이 풀어낸 트랜스포머의 어텐션 메커니즘. 임베딩, 쿼리·키·값 행렬, 소프트맥스, 멀티헤드까지 LLM이 문맥을 이해하는 방식을 단계별로 정리했다.

핵심 메시지
쉽게 이해하기
트랜스포머는 오늘날 대규모 언어모델(LLM)의 심장과도 같은 구조로, 2017년 논문 "Attention Is All You Need"에서 처음 대중적으로 알려졌다. 이 모델의 목표는 입력 텍스트를 받아 다음에 올 단어를 예측하는 것이며, 텍스트는 토큰이라는 작은 단위로 쪼개져 각각 고차원 벡터(임베딩)로 변환된다. 이 벡터 공간에서 "방향"은 의미의 여러 측면과 대응한다.
문제는 처음 만들어진 임베딩이 문맥을 전혀 모른다는 점이다. 예컨대 영어 단어 "mole"은 두더지·화학 단위·점 등 여러 뜻이 있지만, 초기 단계에서는 모두 같은 벡터로 시작한다. 어텐션은 주변 단어의 정보를 끌어와 이 일반적인 벡터를 특정 의미 방향으로 이동시킨다. "Eiffel tower"처럼 앞 단어가 붙으면 '탑'의 벡터가 에펠탑 쪽으로 조정되는 식이다.
구체적으로 각 단어 임베딩에는 쿼리 행렬과 키 행렬이 곱해져 작은 차원의 쿼리·키 벡터가 만들어진다. 명사가 "내 앞에 형용사가 있나?"라고 묻는 질문이 쿼리라면, 형용사가 "내가 그 형용사야"라고 답하는 것이 키다. 쿼리와 키의 내적(dot product)이 클수록 두 단어가 서로 "주목(attend)"한다는 뜻이며, 각 열에 소프트맥스를 적용해 0~1 사이 가중치인 '어텐션 패턴'을 얻는다.
관련성이 계산되면 값(value) 행렬이 각 단어에서 "무엇을 더해줄지"를 만들어내고, 가중치만큼 합산해 원래 임베딩에 더한다. 그 결과 'creature' 벡터가 'fluffy blue creature'라는 더 구체적인 의미로 갱신된다. 이 전체 과정이 하나의 "어텐션 헤드"이며, GPT-3는 블록마다 96개의 헤드를 병렬로 돌려 다양한 문맥 변화를 동시에 학습한다.
어텐션 패턴의 크기는 문맥 길이의 제곱에 비례하기 때문에, 문맥 창(context window)을 늘리는 일이 LLM의 큰 병목이 된다. 그럼에도 어텐션이 성공한 핵심 이유는 특정 동작 자체보다 "극도로 병렬화하기 좋다"는 점에 있다. GPU로 막대한 연산을 짧은 시간에 처리할 수 있어, 규모를 키울수록 성능이 질적으로 향상되는 딥러닝의 흐름과 잘 맞아떨어졌다.
주요 인사이트
- 임베딩 공간의 '방향'이 의미를 담는다는 직관이 트랜스포머 이해의 출발점이다. 어텐션은 이 방향을 문맥에 맞게 미세하게 옮기는 작업이다.
- 쿼리·키·값이라는 세 행렬은 모두 학습되는 파라미터이며, 실제로 무엇을 학습했는지는 사람이 해석하기 어렵다. 영상의 '형용사가 명사를 수식' 예시는 이해를 돕기 위한 가상의 사례일 뿐이다.
- 값 행렬을 '값-다운'과 '값-업' 두 개의 작은 행렬로 분해(저랭크 변환)해 파라미터 수를 키·쿼리와 맞추는 것이 멀티헤드 효율의 비결이다.
- GPT-3에서 어텐션에 쓰이는 파라미터는 약 580억 개로 전체 1,750억 개의 3분의 1 수준이다. 정작 더 많은 파라미터는 어텐션 사이에 있는 다층 퍼셉트론(MLP) 블록에 있다.
- 데이터는 한 번의 어텐션이 아니라 여러 층의 어텐션과 MLP를 반복 통과하며, 층이 깊어질수록 감정·어조 같은 더 추상적인 의미까지 담을 수 있게 된다.
자주 묻는 질문
어텐션 메커니즘이 하는 일을 한마디로 말하면?
문맥에 따라 각 단어의 임베딩을 갱신해, 고정된 사전적 의미가 아니라 주변 단어의 정보가 반영된 더 풍부한 의미를 담도록 만드는 것입니다. 한 단어의 정보를 멀리 떨어진 다른 단어로 옮길 수도 있습니다.
쿼리, 키, 값은 각각 어떤 역할인가요?
쿼리는 한 단어가 "어떤 정보를 찾고 있는가"를, 키는 다른 단어가 "그 질문에 답할 수 있는가"를 나타냅니다. 쿼리와 키의 내적으로 관련성을 재고, 값은 관련 있다고 판단된 단어가 상대 임베딩에 "무엇을 더해줄지"를 만들어냅니다.
'마스킹'은 왜 필요한가요?
GPT 같은 모델은 다음 단어를 예측하도록 학습하는데, 뒤에 오는 단어가 앞 단어 예측에 정보를 흘리면 정답을 미리 알려주는 셈이 됩니다. 그래서 소프트맥스 전에 해당 위치 값을 음의 무한대로 설정해 0이 되도록 막습니다.
멀티헤드 어텐션은 왜 쓰나요?
문맥이 단어의 의미를 바꾸는 방식은 형용사-명사 관계 외에도 매우 다양합니다. 여러 헤드를 병렬로 돌리면 각 헤드가 서로 다른 종류의 문맥 관계를 학습할 수 있어, 모델이 더 풍부하게 의미를 조정할 수 있습니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗