Transformer기반 언어 모델들이 강력해짐에 따라 세계적으로 그 쓰임새 또한 증가하고 있다. 하지만 워낙 모델의 크기가 크고 복잡해지다보니, 모델을 만든 사람들과 사용하는 사람들 모두 출시가 된 지 몇 년이 지난 후에도 전에 발견하지 못했던 새로운 현상들을 발견하고는 한다. Mechanistic interpretatilbity는 이러한 예측 불가능성을 탐구하는 접근법 중 하나로, transformer 모델 안에서 일어나는 복잡한 계산들을 reverse engineer (역설계/리버싱)하고자 한다. 비유하자면, 인간이 읽기 힘든 이진 코드를 읽기 쉬운 소스 코드로 변환하는 과정이라고 생각해볼 수 있다. 이것이 가능하다면, 이러한 transformer 모델들을 배포하는 과정에서 발생할 수 있는 다양한 안전성 문제를 포착/설명/해석하거나 심지어 사전에 예상할 수 있을 것으로 생각한다. 이와 비슷한 시도로는 이전에 vision 모델을 기준으로 작성된 Distill circuits thread가 있으나, transformer 및 언어모델에 대해서 이런 접근이 이루어진 적은 없었다.
이 글에서는 transformer 모델에 대한 mechanistic interpretability의 초석을 놓는 것을 목표로 잡았다. 구체적으로는, 작은 모델에서 알고리즘적인 패턴이나 framework 등을 발견하는 것이 목표이며, 나중에는 발견한 내용들을 점점 더 복잡한 모델들에 적용할 수 있으리라 기대한다. 이런 의미에서, 이 글에서는 2 layer 이하의 (MLP 블록이 없는) attention-only transformer 모델에 대해서만 이야기 할 것이다.
우리는 transformer 모델을 수학적/기능적으로는 동일하지만 새로운 방식으로 표현하게 됨으로서 이런 작은 모델들에 대한 이해도를 매우 높일 수 있다는 것을 발견하였다. 특히, 우리는 attention head들이 소위 “induction head”이라는 개념을 통해 in-context learning을 발현한다는 것을 발견하였고, 이는 적어도 attention layer를 두 개를 쌓아야 발현된다는 것 또한 알아내었다.
A Mathematical Framework for Transformer Circuits (Anthropic)