AI VIDEO BRIEFING

트랜스포머 구조 정리: 스탠퍼드 CS229 14강이 짚은 토큰화·어텐션·온도 설정

스탠퍼드 CS229 2026년 봄학기 14강은 대형 언어모델을 다루는 첫 시간이다. 서브워드 토큰화와 자기회귀 확률 모형에서 출발해 생성 온도, 어텐션의 계산 과정과 마스킹, 긴 문맥이 비싼 이유까지 훑었다.

스탠퍼드 CS229 14강: 토큰을 쪼개는 이유부터 어텐션 마스킹까지 영상 대표 이미지

핵심 메시지

  • 토큰화는 글자 단위와 단어 단위의 절충이다. 서브워드로 쪼개면 처음 보는 긴 단어도 이미 아는 조각들의 조합으로 이해할 수 있다.
  • 문장 전체에 확률을 하나씩 매기면 어휘 크기의 길이 제곱 수만큼 경우의 수가 생긴다. 그래서 연쇄법칙으로 쪼개 '앞 토큰이 주어졌을 때 다음 토큰' 분포만 모형화한다.
  • 온도는 로짓을 나누는 값이다. 토큰들의 순서는 바꾸지 않고 분포의 뾰족함만 바꾸며, 0에 가까울수록 항상 가장 확률 높은 토큰을 고르는 결정론적 생성이 된다.
  • MLP는 위치마다 독립적으로 적용되므로 위치 사이의 정보를 섞는 역할은 오직 어텐션이 맡는다. 어텐션은 쿼리와 키의 내적을 소프트맥스로 확률로 바꾼 뒤 값 벡터를 가중합한다.
  • 미래 토큰을 보지 못하게 하려면 해당 자리에 음의 무한대를 더해 소프트맥스 이후 0이 되게 만든다. 이 어텐션 행렬 때문에 연산량이 길이의 제곱으로 늘어나는 것이 긴 문맥의 근본 비용이다.

쉽게 이해하기

스탠퍼드 CS229 2026년 봄학기 14강은 대형 언어모델로 넘어가는 첫 강의다. 강의자는 앞으로 서너 번에 걸쳐 언어모델을 다루고, 추론 모델을 설명하려면 강화학습을 짚고 가야 하므로 중간에 강화학습도 다루겠다고 예고했다. 이번 시간의 범위는 GPT-3 이후 표준이 된 자기회귀 방식, 즉 토큰을 하나씩 만들어 나가며 각 토큰이 앞선 토큰들에 의존하는 구조다.

첫 주제는 토큰화다. 트랜스포머는 숫자를 먹는 모형이므로 텍스트를 먼저 숫자로 바꿔야 한다. 글자 단위로 쪼개면 처리해야 할 단계가 지나치게 늘어나고, 단어 단위로 쪼개면 드물게 나오는 긴 단어를 통째로 새 단어처럼 취급하게 된다. 강의자는 'internationalization'을 예로 들었다. 이 단어를 하나의 단위로 보면 'internationalize'와 아무 관계 없는 별개의 것이 되지만, 조각으로 나누면 이미 학습한 조각들의 조합으로 뜻을 짐작할 수 있다. 어휘집의 크기는 모델마다 다르고 최근 오픈소스 모델은 25만 개 수준이라고 언급했다.

다음은 확률 모형이다. 길이 T짜리 토큰 열 하나하나에 확률을 배정하려면 어휘 크기의 T제곱만큼 값이 필요하니 불가능하다. 그래서 연쇄법칙으로 결합확률을 조건부확률의 곱으로 분해한다. 그러면 각 자리에서 필요한 것은 어휘 크기만큼의 선택지 위에 놓인 분포 하나뿐이고, 이 분포는 트랜스포머가 뱉은 로짓에 소프트맥스를 씌워 만든다. 학습은 데이터에 실제로 등장한 토큰의 확률에 로그를 씌워 모두 더한 음의 로그우도를 줄이는 방식으로 이뤄진다.

생성 단계에서 조절할 수 있는 손잡이가 온도다. 로짓 벡터를 온도로 나누면 값들의 대소 관계는 유지되지만 간격이 벌어지거나 좁아진다. 강의자는 (2, 1, -1)이라는 로짓을 아주 작은 온도로 나눠 (200, 100, -100)처럼 만들면, 소프트맥스를 지난 뒤 첫 항이 사실상 1이 되고 나머지는 0이 되는 과정을 직접 계산해 보였다. 온도를 1보다 크게 하면 반대로 분포가 완만해져 꼬리 쪽 토큰까지 나올 여지가 생기고, 다양성이 필요할 때 이 성질을 쓴다.

강의의 절반은 어텐션에 쓰였다. 각 위치의 벡터에 서로 다른 가중치 행렬을 곱해 쿼리, 키, 값 세 벡터를 만들고, 어떤 위치를 볼지는 그 위치의 쿼리와 다른 위치들의 키를 내적해 정한다. 내적 결과에 소프트맥스를 씌우면 위치들에 대한 확률이 되고, 이 확률로 값 벡터들을 가중합한 것이 그 자리의 출력이다. 강의자는 MLP가 위치마다 따로 적용되어 위치 간 의존을 전혀 만들지 못한다는 점을 강조했다. 정보가 섞이는 통로는 어텐션뿐이라는 것이다.

마지막으로 실전에서 붙는 장치들이 언급됐다. 시점 t의 출력이 뒤쪽 토큰에 의존하지 않도록 어텐션 행렬의 위쪽 삼각 부분에 음의 무한대를 더하는 마스킹, 서로 다른 가중치를 가진 여러 헤드를 병렬로 돌린 뒤 이어 붙여 투영하는 멀티헤드 구조, 정규화 층과 잔차 연결의 순서 문제가 그것이다. 계산 비용에서는 길이 T에 대한 제곱 의존이 핵심이다. 강의자는 대화 도구들이 어느 시점에 문맥을 압축하는 이유가 여기 있다고 설명하면서, 메모리 쪽은 플래시 어텐션 같은 기법으로 줄일 수 있지만 구조 자체를 바꾸는 방식은 표현력을 일부 내주게 된다고 덧붙였다.

주요 인사이트

  • '그냥 아주 큰 MLP를 쓰면 안 되나'라는 학생의 질문에 대한 답이 트랜스포머 설계 철학을 잘 보여준다. 모든 토큰을 이어 붙여 하나의 신경망에 넣으면 파라미터가 폭증할 뿐 아니라 파라미터 수가 시퀀스 길이에 묶여 버려, 학습 때와 다른 길이로는 쓸 수 없게 된다.
  • 구조를 얼마나 강하게 처방할지가 설계의 균형점이다. 아무 구조도 주지 않으면 계산이 감당되지 않고, 평균처럼 지나치게 못박아 버리면 학습할 여지가 사라진다.
  • 멀티헤드 어텐션의 헤드들은 앞 헤드의 출력을 뒤 헤드가 받는 직렬 구조가 아니라 같은 입력을 병렬로 처리한 뒤 이어 붙이는 구조다. 강의 중에도 이 오해에 대한 질문이 나왔다.
  • 컨텍스트를 압축한다는 사용자 경험이 왜 필요한지가 계산량으로 설명된다. 어텐션 행렬은 길이의 제곱 크기이므로 문맥이 백만 토큰이 되면 연산이 감당 범위를 벗어난다.
  • 합성곱 신경망으로 시퀀스를 다루는 접근도 어느 정도는 작동한다고 강의자는 언급했다. 어텐션이 유일한 정답이라서가 아니라 상대적으로 더 잘 작동해서 표준이 된 쪽에 가깝다.

자주 묻는 질문

생성 온도를 0으로 두면 어떻게 되나요?

로짓 간의 간격이 무한히 벌어지는 효과가 나서 소프트맥스 결과가 가장 확률 높은 토큰 하나에 몰립니다. 결과적으로 매번 최댓값을 고르는 결정론적 생성이 되어 같은 입력에 같은 출력이 나옵니다.

어텐션에 마스킹을 씌우는 이유는 무엇인가요?

마스킹이 없으면 시점 t의 출력이 그 뒤에 오는 토큰에까지 의존하게 되어 자기회귀 구조가 깨집니다. 생성할 때는 미래 토큰을 볼 수 없으므로, 해당 자리에 음의 무한대를 더해 소프트맥스를 지나면 가중치가 0이 되도록 만듭니다.

왜 단어가 아니라 서브워드 단위로 쪼개나요?

글자 단위는 처리 단계가 너무 많아지고, 단어 단위는 드문 긴 단어를 매번 새로운 단위로 취급해 학습이 비효율적입니다. 서브워드로 쪼개면 자주 등장하는 조각들을 재사용해 처음 보는 단어도 조각의 조합으로 다룰 수 있습니다.

MLP는 어텐션과 어떻게 역할이 다른가요?

MLP는 파라미터를 공유하면서 각 위치에 독립적으로 적용되기 때문에 위치 사이에 어떤 의존 관계도 만들지 않습니다. 서로 다른 시점의 정보를 섞는 일은 전적으로 어텐션이 담당합니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식