Transformer를 시각적으로 이해하기
요약
본 글은 Transformer의 핵심 메커니즘인 어텐션 헤드를 시각적으로 깊이 있게 분석합니다. 특히, 어텐션 행렬을 값 벡터에 곱하는 과정이 동적 신경망 구성과 같음을 설명하며, 전통적인 MLP와의 차이점을 강조합니다. 또한, 최신 연구 트렌드와 모델 구조의 세부 사항에 대한 논의를 포함하고 있습니다.
핵심 포인트
- 어텐션 헤드는 키/쿼리를 이용해 작은 단층 신경망을 동적으로 구성함.
- 어텐션은 입력 의존적 활성값 간의 곱셈 상호작용이 특징임.
- 전통적인 MLP와 달리, 어텐션은 입력에 따라 가중치를 정하는 방식임.
- 최신 모델 구조 및 연구 논문(Full Bandwidth Transformers)을 언급하며 심화 학습 자료를 제공함.
어텐션 헤드에서 가장 흥미로운 부분은 계산된 어텐션 행렬을 값 벡터에 곱하는 단계임. 어텐션 행렬을 가중치로 삼는 일반적인 완전연결층에 값 벡터를 통과시키는 것과 정확히 같은 동작임.
즉, 어텐션 헤드는 추론 중 키와 쿼리로 작은 단층 신경망을 동적으로 구성하도록 학습됨. LLM 구조 설명에서 이 점을 강조하는 경우는 드문데, 이렇게 잘 작동한다는 사실이 놀라움. 이 시각화를 단계별로 클릭해 보면 해당 메커니즘을 쉽게 확인할 수 있음.
여러 입문 설명에서도 다루지만, 이 설명이 와닿으려면 MLP는 잘 알면서 Transformer는 몰라야 한다는 묘한 조건이 붙음. 요즘은 둘 다 처음이거나 둘 다 아는 경우가 많아, Transformer 입문 설명에서 MLP에 대한 깊은 이해를 전제하기 어려움.
Transformer 블록은 기본적으로 입력에 따라 완전연결층의 가중치 벡터를 정한다고 볼 수 있음. 전통적인 MLP 계열에서는 Squeeze-and-Excitation 층 같은 예외를 빼면, 입력과 무관한 매개변수와 입력에 의존하는 활성값 사이에서만 곱셈이 이루어짐. 반면 어텐션은 입력에 의존하는 활성값끼리의 곱셈 상호작용을 많이 만들어 냄.
덧붙이자면 Schmidhuber는 이미 오래전에 이런 내용을 다뤘음.
Welch Labs의 시각·언어·행동 모델 YouTube 영상에 훌륭한 시각화가 있음. 해당 행렬을 이용해 프롬프트의 어텐션이 이미지의 정확히 어느 원본 픽셀로 이어지는지 추적할 수 있음.
조금 더 쉽게 풀어서 설명해 줄 수 있을까요? 중요한 내용 같은데, 아직 어텐션 부분이 잘 이해되지 않음.
전기공학 학위를 가진 시스템 관리자라서, transformer라는 용어를 이렇게 쓰는 게 계속 헷갈림. 암호학 대신 암호화폐를 뜻하는 데 “crypto”를 쓰는 것도 마찬가지임.
온도 설명에서 “가장 확률이 높은 토큰을 고르는 대신 다른 선택 전략으로 안전성과 창의성의 균형을 맞춘다”고 했는데, 여기서 안전성은 잘못된 단어임. 온도 0으로 생성한 글에는 묘하게 뜻밖의 요소가 없어 인공적으로 느껴짐. 관련 논문 [1]에서도 확률이 높은 글은 지루하거나 반복적일 수 있으며, 인간은 정보를 효율적으로 전달하면서 오류를 줄이려는 무의식적 목표에 따라 단어를 선택한다고 설명함.
내가 알기로 드롭아웃은 더 이상 현대적인 학습 구성에 포함되지 않으므로 그 설명은 아예 빼겠음. 하나의 대화형 시각화로 Transformer 전체를 설명한다는 목표도 야심차지만, 단어 임베딩과 어텐션을 동시에 처음 이해하게 될 독자를 상상하기는 어려움. 나도 2014년에 word2vec을 보고 크게 놀랐음.
내일 샌프란시스코 Deep Learning Study Group에서 발표할 “Full Bandwidth Transformers” [2]를 위한 시각화도 직접 만들고 있음. 비거주자는 Zoom으로 참여할 수 있음 [3]. 사전 설명 없이 단독으로 이해하도록 만든 자료는 아니지만, 피드백을 받고 싶음. https://rrenaud.github.io/fullbandwidth_transformer_viz/
[1] https://arxiv.org/abs/2202.00666.
[2] https://arxiv.org/abs/2608.08888.
[3] https://www.meetup.com/deep-learning-sf/events/316601593/.
전기공학을 배운 탓인지 전력용 변압기를 다루는 글인 줄 알았음.
그런 글이었어도 무척 흥미로웠을 것 같음. 직접 변압기 권선을 감는 천재적이거나 무모한 사람들도 있음.
GPT-2를 설명하는 자료라는 점은 이해하지만, 비전문가가 이를 현대 모델의 작동 방식으로 받아들이지는 않았으면 함. 예를 들어 절대 위치 인코딩은 이제 쓰이지 않음.
최신 구조가 아니라는 안내가 있는 것도 알고 있음. 다만 이런 세부 사항은 모델이 학습할 수 있는 표현에 큰 영향을 미치며, 여러 면에서 그게 가장 중요한 부분임.
가르치려면 어느 정도는 단순화해야 함.
이 페이지를 열었다가 Chromebook이 먹통이 됨. 이런 일은 처음임.
“Examples” 아래에 GPT-2 모델을 다운로드하는 동안 예제를 사용해 보라는 안내가 있으며, 다운로드 용량이 600MB임. 다운로드도 상당히 크고 연산 부담도 클 가능성이 있음.
키·쿼리·값 행렬을 따로 두는 이유가 이해되지 않음. 각각 정확히 무엇을 하는 건가요?
임베딩 자체는 잠재 공간에 있음. 쿼리·키·값 공간으로의 투영은 각각 “이 토큰은 어떤 질문을 하는가?”, “이 토큰은 어떤 질문에 답하는가?”, “그 답은 무엇인가?”로 이해할 수 있음.
물론 이는 행렬에 사후적으로 붙인 해석임. 가중치를 구성해 어텐션이 최소제곱 계산이나 숫자 정렬을 수행하게 만들 수도 있고, 경사하강법의 갱신 단계를 계산하는 Transformer도 만들 수 있음. 데이터에 적용할 수 있는 함수의 범위가 상당히 유연해 보임.
AI 자동 생성 콘텐츠
본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기