STEM (Scaling Transformers with Embedding Modules)은 2026년 1월 Carnegie Mellon University와 Meta AI 연구진이 발표한 논문입니다.
Transformer 내부의 거대한 행렬 곱셈(Matrix Multiplication) 하나를, 단순한 사전 찾기(Lookup)로 바꿔버렸습니다.
Transformer의 한 블록은 크게 Attention과 FFN으로 나뉩니다. 보통 FFN은 입력 벡터를 뻥튀기(Up)했다가 다시 줄이는(Down) 구조를 가집니다. LLaMA 등 최신 모델에서 쓰는 SwiGLU 구조를 수식으로 보면 이렇습니다.
여기서 STEM이 주목한 건 바로 (Up-Projection)입니다.
이 논문의 핵심 원리는 "지식(Knowledge)과 문맥(Context)을 분리하자"는 것입니다.
"사과(Apple)"라는 단어가 가진 본질적인 속성(빨갛다, 과일이다, IT 기업이다 등)은 문장이 바뀐다고 해서 매번 새로 계산할 필요가 없다는 것입니다. 그래서 을 행렬 곱셈으로 매번 계산하는 대신, "사과"라는 단어에 배정된 전용 벡터를 그냥 꺼내 쓰는 방식(Lookup)으로 바꿨습니다. 이것이 Embedding Module입니다.
하지만 "사과"가 과일인지, IT 기업인지는 문맥에 따라 다릅니다. 이걸 어떻게 구분할까요? STEM은 은 Lookup으로 바꿨지만, (Gate Projection)는 그대로 둡니다.
이 단순한 교체가 가져오는 이득은 생각보다 큽니다.
| 특징 | 기존 Transformer (Dense FFN) | STEM | 이점 |
|---|---|---|---|
| 연산 비용 | 행렬 곱셈 | 메모리 접근 | FLOPs 대폭 감소 (행렬 곱셈 하나가 사라짐) |
| 파라미터 | 모든 토큰이 전체 공유 | 각 토큰이 독립된 벡터를 가짐 | 희소성(Sparsity) 확보 (필요한 것만 로드 가능) |
| 해석 가능성 | 내부를 알기 어려움 | "사과" 벡터가 명확히 존재 | 지식 수정(Knowledge Editing)이 쉬워짐 |
기존 모델에서 "미국의 수도는?"이라고 물었을 때 틀린 답을 내놓으면, 수억 개의 파라미터를 재학습해야 했습니다. 하지만 STEM에서는 해당 레이어의 "미국" 토큰에 해당하는 임베딩 벡터만 찾아서 수정하면 됩니다. 즉, 모델 전체를 건드리지 않고 특정 지식만 수술하듯 고칠 수 있게 된 것입니다.
STEM은 Transformer의 가장 무거운 연산 중 하나를 토큰 기반의 사전 조회(Dictionary Lookup)로 대체하여, 계산 효율성과 해석 가능성 두 마리 토끼를 잡은 구조입니다.