TECH 으로 돌아가기
TECH HACKER NEWS 오늘 8분 읽기 26 READS

모든 레이어는 기억 장치다: 트랜스포머를 연상 기억으로 다시 읽기

모든 레이어는 기억 장치다: 트랜스포머를 연상 기억으로 다시 읽기
SOURCE IMAGE · HACKER NEWS

대형 언어 모델이 세계 구석구석의 사소한 사실까지 꺼내 보여주는 능력은 이제 당연하게 여겨진다. 하지만 '모델은 어떻게 그렇게 많은 정보를 기억하며, 대체 얼마나 저장할 수 있는가'라는 질문은 여전히 실무자에게 유용한 통찰을 준다. 알렉스 왕(Alex Wang)의 글은 선형 레이어, MLP, 셀프 어텐션을 서로 다른 종류의 '기억 장치(memory store)'로 바라보는 관점을 제시한다. 이 틀에서 보면 트랜스포머의 핵심 구성 요소들은 결국 키-값 쌍을 저장하고 유사도로 꺼내 쓰는 연상 기억(associative memory)의 변주다.

간섭 대 신호 비율이라는 잣대

좋은 기억 장치의 조건은 저장량이 아니라 '꺼내 쓸 수 있는가'다. 무한히 저장해도 필요할 때 정확히 회상하지 못하면 소용이 없다. 저장된 기억이 많아질수록 하나를 회상할 때 다른 기억들이 끼어들어 방해하는데, 글은 이 방해의 크기를 '간섭 대 신호 비율(interference-to-signal ratio)'로 정의한다. 간섭이 신호만큼 커지기 직전까지 담을 수 있는 기억의 수가 그 장치의 용량(capacity)이다. 이 하나의 지표로 세 가지 구조를 일관되게 비교할 수 있다는 점이 이 글의 설명력이다.

가장 기본적인 선형 기억 장치는 외적(outer product)을 단순히 누적한다. 키 k와 값 v로 이루어진 새 기억은 가중치에 vk^T를 더하는 것으로 저장되고, 입력 x로 질의하면 모든 키와의 유사도로 값들을 가중합한다. 흥미롭게도 이는 학습과도 연결된다. 선형 레이어 y=Wx를 경사하강법으로 학습할 때 가중치 갱신은 키가 입력 x이고 값이 -η·(출력 기울기)인 새 기억을 더하는 것과 같다. 다만 키를 정규화해도, 서로 다른 기억의 키가 비슷하면 회상 결과에 간섭이 섞인다. 공간 R^d_k에는 직교 방향이 d_k개뿐이므로 저장량이 키 차원을 넘어서면(M>d_k) 완벽한 회상은 불가능하다. 무작위 키를 가정하면 용량은 대략 키 차원 d_k 수준으로, 64차원 키라면 약 64개다.

더 똑똑하게 저장하고, 더 선택적으로 회상하기

용량을 늘리는 길은 두 갈래다. 첫째는 키 차원 d_k 자체를 키우는 무차별 방식인데, 이는 하드웨어 제약에 걸린다. 둘째는 알고리즘 개선이다. 외적 저장은 각 기억을 다른 기억과 무관하게 쓰기 때문에 간섭을 전혀 상쇄하지 못한다. 대신 모든 기억을 한꺼번에 맞추도록 가중치를 고르면, 이는 최소제곱 회귀 문제가 된다. 그 해는 질의를 키들과 비교하기 전에 키들의 공분산 (K^T K)의 역행렬을 곱해 '화이트닝'하는 형태다. 덕분에 여러 키가 공유하는 방향을 과대평가하지 않게 되고, M이 d_k 이하이고 키가 선형 독립이면 간섭 없이 정확히 회상한다. 무작위 키·값에서 이 최적 선형 장치의 용량은 약 2·d_k, 즉 64차원에서 약 128개로 두 배가 된다.

그러나 선형 장치는 작은 유사도와 큰 유사도를 같은 비율로 키우는 한계가 있다. 유사도가 낮은 키의 기여를 억눌러야 간섭이 줄어든다. 각 유사도를 비선형 함수 σ에 통과시킨 뒤 값을 가중합하면, 우리는 바로 2층 MLP를 처음 원리에서 재발견하게 된다. 첫 번째 가중치 행렬의 행이 키, 두 번째 행렬의 열이 값에 해당한다. 수카바타르 등과 게바 등의 연구는 학습된 트랜스포머의 피드포워드 레이어가 실제로 이렇게 작동하며, 키가 입력의 알아볼 수 있는 패턴에 반응한다는 점을 보였다. 흥미롭게도 원 트랜스포머 논문도 arXiv v2·v3에서 피드포워드 레이어를 '일종의 어텐션'이라 서술했으나 이후 판본에서는 그 대목이 사라졌다.

비선형이 만드는 용량의 도약

관건은 억제 함수의 선택이다. 제곱 ReLU는 유사도 0.1을 0.01로 줄이지만 1은 1로 유지해, 0 근처의 키를 강하게 눌러준다. 실제로 제곱 ReLU는 대규모에서 검증된 활성화 개선 중 하나이며, 게이트와 입력 투영이 가중치를 공유하는 GLU MLP의 특수한 형태로 볼 수 있다. 오늘날 언어 모델이 쓰는 SwiGLU는 게이트에 별도 가중치를 주고 ReLU 대신 Swish를 쓴다. 더 일반적으로 σ(s)=ReLU(s)^p로 지수 p를 키우면, 신호는 1^p=1로 유지되는 반면 유사도 1/√d_k인 간섭항은 d_k^(-p/2)로 줄어든다. 그 결과 용량은 p에 따라 기하급수적으로 커지며, 64차원 키 기준으로 선형의 약 64개에서 약 2,700개로 뛰고, 셀프 어텐션에 이르면 백만 개를 넘어설 수 있다.

이 관점은 실무적으로 몇 가지 함의를 준다. 트랜스포머의 MLP는 사실들을 중첩(superposition)으로 저장해, 많은 사실이 같은 가중치를 공유하고 출력은 여러 기억의 혼합으로 나온다. 가르시아 등은 은닉 유닛 수보다 훨씬 많은 사실을 담는 구성을 명시적으로 만들었고, 리 등은 학습된 ReLU MLP가 주어진 입력에 대해 은닉 유닛의 1%만 활성화하기도 한다는 점을 보였다. 즉 한 번의 회상이 전체 기억의 작은 일부만 사용한다는 뜻으로, 활성화 희소성이 왜 효율과 연결되는지를 설명한다.

다만 이 글의 틀은 어디까지나 직관적 휴리스틱임을 분명히 해둘 필요가 있다. 용량 추정은 '무작위이고 길이가 비슷한 키와 값'이라는 가정 위에서 나온 근사이며, 실제 학습된 가중치의 키 분포는 결코 무작위가 아니다. 간섭을 랜덤워크로 더하는 가정도 상관관계가 있는 실제 데이터에서는 그대로 성립하지 않는다. 그럼에도 선형 → 최적 선형 → MLP → 어텐션으로 이어지는 '저장을 더 세심하게, 회상을 더 선택적으로'라는 축은, 왜 비선형과 어텐션이 용량과 회상 품질을 동시에 끌어올리는지를 하나의 언어로 꿰어준다. 모델 내부를 지식 저장소로 바라보려는 실무자에게 이 비율 중심의 시각은 아키텍처 선택을 해석하는 쓸모 있는 도구가 된다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://alexwang.ai/posts/associative-memory/
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...