학습 자료

트랜스포머, 이름만 — "attention"이 뭘 봤나


Article

12강에서 LLM 이 하는 일을 "다음 토큰의 확률을 계산한다"까지만 열었다. 그런데 그 계산, 정확히 뭘 보고 하는 걸까. 문장 속 토큰이 열 개, 백 개로 늘어나면 그 전부를 똑같은 비중으로 볼 수는 없다. 어떤 토큰을 더 눈여겨봐야 할지 가리는 장치가 있어야 한다.

그 장치의 이름이 attention이고, 이 attention 을 쌓아 올린 구조가 **트랜스포머(Transformer)**다. 오늘은 이 두 이름이 정확히 뭘 하는지, 이름만 알아도 될 만큼만 본다.

어떤 단어가 어떤 단어를 가리키나

이런 문장을 보자. "나는 어제 강아지를 입양했다. 그 강아지는 정말 활발하다."

두 번째 문장에서 "활발하다"의 주어가 누구인지 알려면, 바로 앞 단어("그")만 봐서는 안 된다. 첫 문장의 "강아지"까지 거슬러 올라가 참고해야 한다. 반대로 "어제"나 "나는" 같은 단어는 이 판단에 별로 중요하지 않다. 즉 다음 토큰을 잘 예측하려면, 문장 속 단어마다 서로 얼마나 관련 있는지를 따로 매겨야 한다.

"그 강아지는" 다음 토큰을 고를 때, 앞선 단어들을 얼마나 참고하나 (개념 예시)
강아지 (첫 문장)55
입양했다25
어제12
나는8
실제 계산값이 아니라 개념을 보여주는 예시다. 이렇게 단어마다 참고할 비중을 매기는 일이 attention 이다.

이렇게 문장 속 다른 토큰들과의 관련도를 가중치로 매기는 것, 이게 attention 이 하는 일이다. "주의를 기울인다"는 이름 그대로, 중요한 쪽에 더 큰 비중을 싣는다.

attention 이 하는 일
  1. 문장 속 토큰 쌍마다 관련도를 잰다지금 볼 토큰과 앞선 토큰들 사이의 관련성을 각각 계산
  2. 관련도를 비중(가중치)으로 바꾼다관련 높은 토큰일수록 더 큰 비중을 얻는다
  3. 그 비중대로 정보를 섞는다비중이 큰 토큰의 정보를 더 많이 반영해 하나로 합친다
  4. 합친 정보로 다음 토큰을 예측한다12강에서 본 그 확률 계산에 이 정보가 들어간다
이 관련도 매기기를 문장 속 모든 토큰 쌍에 대해 동시에 계산한다. '동시에'가 다음 절의 핵심이다.

왜 하필 지금 이 구조가 GPU 와 잘 맞나

attention 이전의 방식은 문장을 한 단어씩 순서대로 읽었다. 앞 단어를 다 처리해야 다음 단어로 넘어갈 수 있는 구조였다. 이러면 11강에서 본 GPU 의 장점 — 여러 계산을 동시에 처리하는 것 — 을 살릴 수가 없다. 한 줄씩 순서를 지켜야 하니 줄을 서서 기다려야 한다.

한 단어씩 순서대로 vs 한꺼번에

옛 방식

한 단어씩 순서대로 읽는다

  • 앞 단어를 처리해야 다음 단어로 넘어간다
  • 문장이 길수록 앞쪽 정보가 흐려지기 쉽다
  • 11강의 GPU 병렬 처리를 살리기 어렵다

attention (트랜스포머)

모든 토큰 쌍을 한꺼번에 본다

  • 문장 속 모든 토큰 쌍의 관련도를 동시에 계산한다
  • 멀리 떨어진 단어도 곧바로 참고할 수 있다
  • 동시 계산이라 GPU 의 병렬 처리와 잘 맞는다
attention 을 쓴 구조가 요즘 LLM 이 큰 모델까지 감당 가능한 시간 안에 학습되는 이유 중 하나다.

이 "동시에 계산한다"는 방식이 트랜스포머라는 구조의 핵심이다. attention 이라는 장치를 여러 겹 쌓아 올린 것이 트랜스포머다. 정확히 어떻게 쌓였는지, 층마다 무슨 계산을 더 얹는지는 유료 실습의 몫이고, 여기서는 "attention 을 쌓은 구조"라는 정체만 잡으면 된다.

GPT 라는 이름, 뜯어보면 지금까지 배운 것들이다

트랜스포머라는 이름이 익숙한 이유가 있다. GPT 의 T 가 바로 이 트랜스포머다.

GPT 라는 이름, 뜯어보면 지금까지 배운 것들이다
글자어디서 봤나
G — Generative없던 걸 만들어낸다3강 — 생성형 AI
P — Pretrained미리 넓게 학습해뒀다14강에서 다룬다
T — Transformerattention 을 쌓은 구조오늘 이 강의
채용공고에 자주 보이는 이름 하나가, 사실은 지금까지 지도에 찍어온 개념 세 개를 이어붙인 말이었다.

정리하면

attention 은 문장 속 토큰마다 서로 얼마나 관련 있는지 비중을 매기는 장치고, 그걸 여러 겹 쌓은 구조가 트랜스포머다.

다시 짚어보기
  1. 01

    다음 토큰을 고를 땐 모든 토큰을 똑같이 안 본다

    관련 있는 토큰에 더 큰 비중을 싣는다. 이 비중 매기기가 attention 이다.

  2. 02

    attention 은 모든 토큰 쌍을 동시에 계산한다

    한 단어씩 순서대로 읽던 옛 방식과 달리, 멀리 떨어진 단어도 곧바로 참고한다.

  3. 03

    동시 계산이라 GPU 의 병렬 처리와 잘 맞는다

    11강에서 본 GPU 의 강점을 트랜스포머 구조가 그대로 살린다.

  4. 04

    attention 을 쌓은 구조가 트랜스포머다

    GPT 의 T 가 이 이름이다. G(생성형)·P(사전학습)·T(트랜스포머), 이름 자체가 지도 요약이다.

그런데 attention 이 무엇에 주목해야 할지는 어떻게 알게 됐을까. 결국 학습을 거쳐서다. 그 학습이 정확히 어떤 두 단계로 이뤄지는지 — GPT 이름의 P, 사전학습과 그 이후의 파인튜닝을 다음 강의에서 가른다.

트랜스포머, 이름만 — "attention"이 뭘 봤나 — 디코드랩(DCODELAB)