Transformer Circuits를 위한 수학적 프레임워크 (2021)
A Mathematical Framework for Transformer Circuits (2021)
TL;DR Highlight
Transformer를 수학적으로 동등하게 다시 쓰자 작은 모델 내부와 induction head가 보였다
Who Should Read
LLM이 내부에서 어떻게 동작하는지 감을 잡고 싶은 LLM API·에이전트 개발자
Core Mechanics
- 작은 모델만 뜯어봤다
- 레이어 2개 이하이고 MLP 없이 attention만 있는 장난감 transformer를 분석했다.
- 비교 대상인 GPT-3는 96층에 attention과 MLP가 번갈아 나온다.
- Zero-layer는 bigram 통계 모델이다
- 다음 토큰을 직전 토큰만 보고 맞히는 구조다.
- bigram 표를 실행 없이 가중치에서 바로 읽을 수 있다.
- One-layer는 bigram과 skip-trigram 앙상블이다
- skip-trigram은 "A… B C" 꼴의 패턴이다.
- 이 표도 모델을 돌리지 않고 가중치에서 읽을 수 있다.
- 아주 단순한 in-context learning(프롬프트 안 예시로 배우는 능력)도 여기서 나온다.
- Two-layer에서 induction head가 생긴다
- attention head를 서로 조합해서 만드는 head로, 더 일반적인 in-context learning 알고리즘이다.
- 원문은 이 head가 attention 레이어 2개 이상인 모델에서만 생겼다고 한다.
- Residual stream은 모델의 통신 버스다
- 각 레이어가 읽고 쓰는 선형 공간이고 자체 연산은 하지 않는다.
Community Reactions
- Q·K·V 설명이 유일한 정답은 아니라는 의견
- 댓글에서 Q, K, V 대신 수학적으로 동등한 더 큰 행렬로 보는 관점이 해석에 유용하다고 했다.
- 키·쿼리 비유만이 attention을 이해하는 좋은 방법은 아니라는 주장이다.
- residual stream 관점으로 구조도를 다시 그린다는 경험
- 한 댓글러는 이를 층 우회로가 아니라 임베딩에서 출력까지 이어지는 주 통신 버스로 이해하게 됐다고 한다.
- 이후 구조도를 볼 때마다 residual stream을 중심에 놓고 머릿속으로 다시 그린다고 했다.
- 분량이 부담스럽다는 반응
- 여러 번 읽으려 했지만 너무 길어 읽을 가치가 있는지 묻는 댓글이 있었다.
- 반대로 mechinterp의 고전이 될 것이라는 평가도 있었다.
How to Apply
- residual stream 중심으로 구조도 다시 그리기
- 오늘 transformer 구조도를 하나 골라 embedding에서 unembedding까지 가운데 직선 하나를 긋는다.
- attention과 MLP는 옆에서 그 선에 더하는 블록으로 다시 그린다.
- 프롬프트에서 induction 패턴 직접 시험하기
- 아래 프롬프트를 붙여넣어 모델이 앞쪽 패턴을 이어 쓰는지 확인한다.
- 원문은 이 현상을 작은 모델의 in-context learning으로 설명한다.
- 모델 설명 문서에 head 역할 구분 쓰기
- 팀 내부 설명에서 attention을 "어디를 볼지(QK)"와 "무엇을 옮길지(OV)"로 나눠 적는다.
Try It
# Claude나 ChatGPT에 그대로 붙여넣기 (논문 방법의 간이 버전: induction 패턴 따라 하기)
아래 규칙을 설명 없이 따라 해줘.
moon -> 7
cable -> 3
river -> 9
cable -> 3
moon -> 7
river -> ?
질문: {{새 패턴으로 바꿔서 시험}}
이어서 해 볼 것: 앞 예시를 {{무의미한 토큰 쌍}}으로 바꿔도 이어 쓰는지 확인해 보자.Terminology
관련 논문
The Judge Can Debias Itself: LLM-as-a-Judge가 스스로 편향을 고치게 하는 법
심사 프롬프트에 편향 경고를 넣거나 스스로 비판시켰더니 21개 중 20개 조합에서 정확도가 올랐다
미국 노동시간의 90%는 AI 벤치마크가 제대로 다루지 못하는 일이다
벤치마크 29개를 직업 과제에 매핑했더니 노동시간 90%가 커버 밖
Postgres 19, AI 코드 리뷰가 버그를 너무 많이 찾아 출시 연기
LLM 코드 리뷰가 버그를 쏟아내 Postgres 19가 11월로 밀리고 기능 8~10개가 빠졌다
StarSkirmish Bench v0.2: LLM이 1시간 만에 짜는 StarCraft 봇 대결
LLM에게 1시간 동안 StarCraft 봇을 짜게 했더니 GPT-6 Astra가 1위
그럴듯한 설명 하나면 멀티모달 LLM 심사위원도 속는다 (JUPE 벤치마크)
정답은 그대로 두고 설명만 붙였더니 MLLM 심사위원의 오답 거절률이 12.7~13.8%p 떨어졌다
신경망은 이미 깔끔하다: polysemanticity의 원인 재해석
뉴런을 직접 들여다봤더니 대부분 한 가지 역할이 있었다는 주장
Linus Torvalds의 첫 LLM 보조 패치 시리즈
Linus가 LLM으로 folio 조회 패치 10개를 만들어 read() 벤치가 10배 빨라졌다