Transformer (수정중)
FDE 세션 LLM 강의에서 LLM 을 '여러 층으로 쌓인 거대한 확률 수식'이라고 했다. 그 층 안에서 실제로 문맥을 처리하는 구조가 Transformer 다. 이 강의는 그 핵심 아이디어와, 왜 컨텍스트 창에 한계가 생기는지의 기술적 뿌리를 다룬다.
1. 왜 Transformer 인가
이전의 순차 모델(RNN·LSTM)은 단어를 앞에서부터 하나씩 처리했다. 문장이 길어지면 앞쪽 정보가 희미해지고, 순서 의존 탓에 병렬 계산도 어려웠다.
2017년 논문 "Attention Is All You Need" 는 순차 처리를 버리고, 문맥의 모든 토큰을 한 번에 놓고 서로의 관련도를 계산하는 어텐션(attention) 만으로 이를 대체했다. 병렬화가 쉬워 대규모 학습이 가능해졌고, 이것이 오늘날 LLM 의 토대가 됐다.
2. 어텐션
어텐션의 핵심은 단순하다. 어떤 토큰을 처리할 때, 문맥의 다른 토큰들과 각각 얼마나 관련 있는지를 가중치로 계산하고, 관련이 높은 토큰의 정보를 더 많이 끌어온다. 예를 들어 "그것"이 무엇을 가리키는지는 앞에 나온 명사에 높은 가중치를 주어 해결한다.
- 각 토큰은 질의(Query)·키(Key)·값(Value) 세 벡터로 표현된다.
- 질의와 키의 유사도로 가중치를 구하고, 그 가중치로 값들을 합쳐 그 토큰의 새 표현을 만든다.
- 이 계산이 모든 토큰 쌍에 대해 동시에 일어난다. 이를 셀프 어텐션(self-attention)이라 한다.
3. 층으로 쌓기
어텐션 한 번으로 끝이 아니다. 어텐션과 피드포워드 신경망(FFN)을 한 블록으로 묶고, 이 블록을 수십 개 층으로 쌓는다. FDE 세션 LLM 강의의 '계층 구조'에서 본 은닉층이 바로 이 블록들이다. 층을 지날수록 표현이 점점 추상화되며, 각 층·각 연결의 가중치가 모여 수천억 개의 파라미터가 된다.
다만 층을 무작정 깊게 쌓으면 정보가 층을 통과하며 변형·손실되고(표현 degradation·over-smoothing) 기울기 전달도 어려워진다. Transformer 는 각 블록을 잔차 연결(residual connection, 출력 = x + F(x)) 과 층 정규화(layer norm) 로 감싸, 원래 입력을 다음 층으로 그대로 흘려보내며 이 손실을 억제한다. FDE 세션에서 말한 '원래 값을 다음 층으로 곧바로 전달하는 지름길'이 바로 이 잔차 연결이다.
4. 컨텍스트 창과 비용
어텐션은 모든 토큰이 서로를 본다. 토큰이 n 개면 따져야 할 쌍이 n×n, 즉 연산량이 시퀀스 길이의 제곱(O(n²))에 비례한다. 그래서 두 가지가 따라온다.
- 컨텍스트 창을 무한정 늘릴 수 없다. 길이를 2배로 하면 어텐션 비용은 약 4배가 된다.
- 긴 입력일수록 급격히 느리고 비싸진다.
FDE 세션에서 "한 번에 넣을 수 있는 양에 상한이 있다"고 한 컨텍스트 창의 한계는, 바로 이 제곱 비용이 기술적 뿌리다. 최근에는 이 비용을 줄이는 여러 변형·근사 기법이 연구되지만, 이 강의에서는 원리만 짚는다.
마무리
- 핵심 정리: Transformer 는 순차 처리 대신 어텐션으로 문맥 전체 토큰의 관련도를 한 번에 계산하는 구조다. 이 블록을 여러 층 쌓은 것이 LLM 이며, 어텐션의 제곱 비용이 컨텍스트 창 한계·비용의 뿌리다.
- 참고: 더 깊은 수식과 구현은 원 논문 "Attention Is All You Need"(2017)를 참고한다.