환상 뒤에 숨겨진 30만 달러짜리 공식
주택 가격을 예측하는 기본적인 모델을 상상해 보세요. 1,000제곱피트에 학습된 weight(가중치) 300을 곱하면 30만 달러라는 결과가 나옵니다. 실제 신경망은 이를 확장하여 여러 층에 걸쳐 수많은 입력값과 가중치를 결합합니다. 한 층의 출력값이 다음 층의 입력값이 되는 방식입니다.
이러한 계산 단위를 neurons(뉴런)이라 하며, 학습된 모든 값을 parameters(매개변수)라고 합니다. 이 단순한 곱셈은 직관을 제공하지만, LLM의 복잡성을 크게 과소평가하는 것입니다. Llama 3 405B와 같은 최첨단 LLM은 126개의 층을 가지고 있으며, GPT-4는 96개에서 128개의 층으로 추정됩니다.
층을 쌓으면 모델이 점점 더 복잡한 패턴을 학습할 수 있습니다. '약 100개의 층'이라는 표현이 일반적인 깊이를 보여주기는 하지만, 구체적인 아키텍처는 크게 다를 수 있습니다. 각 층은 입력 데이터를 변환하여 네트워크가 원시 정보에서 특징을 추상화할 수 있게 합니다. 마치 물체를 식별하기 전에 가장자리를 인식하는 것과 비슷합니다.
왜 'bank'에는 주변 단어가 필요한가
텍스트는 단어가 아니라 tokens(토큰)으로 여정을 시작합니다. 토큰은 일반적인 단어 조각이나 문장 부호를 나타내는 숫자 ID입니다. 'Bank'는 하나의 토큰 ID일 수 있습니다. 그런 다음 특수 조회 테이블이 각 토큰 ID를 수치 embedding(임베딩)으로 매핑합니다. 이는 모델이 사용할 수 있는 시작 표현을 제공하는 벡터, 즉 숫자 목록입니다.
'Bank'라는 단어를 생각해 보세요. '나는 강둑(river bank)에 앉았다'와 '나는 은행(bank)에 돈을 넣었다' 사이에서 의미가 극적으로 바뀝니다. 고정된 사전 항목으로는 이러한 뉘앙스를 포착할 수 없습니다. 모델이 이러한 모호성을 해결하려면 주변 단어를 고려해야 합니다.
여기서 기초적인 Transformer 아키텍처의 핵심 메커니즘인 인과적 셀프 어텐션(causal self-attention)이 등장합니다. 각 층 내에서 특정 위치의 모든 토큰은 시퀀스 내의 모든 이전 토큰에 '주의(attend)'를 기울이거나 정보를 가져올 수 있습니다. 가장 관련성 높은 문맥적 단서를 혼합하여 수치 표현을 동적으로 업데이트하는 것입니다.
'River bank'에서 'bank'의 경우, 어텐션 메커니즘은 'river'에 큰 가중치를 둘 수 있고, 'money in the bank'에서는 'money'에 집중할 것입니다. 이러한 문맥적 혼합은 토큰의 벡터가 특정 용례를 정확하게 반영하도록 보장합니다. 약 100개의 층을 거치면 최종 토큰 임베딩은 전체 메시지의 완전한 문맥을 포함하게 되어, 모델이 다음 토큰에 대해 매우 정보에 입각한 예측을 할 수 있게 됩니다.
어텐션은 포인트를 짚고, MLP는 패턴을 찾습니다
LLM의 핵심 계산 단위인 트랜스포머 블록은 두 가지 별개의 작업을 수행합니다. 첫째, attention mechanism(어텐션 메커니즘)이 토큰 위치 전반에 걸쳐 정보를 혼합합니다. 이를 통해 모델은 이전의 모든 단어가 현재 단어와 얼마나 관련이 있는지 가중치를 부여할 수 있으며, 주변 단어를 고려하여 'bank'가 강둑을 의미하는지 금융 기관을 의미하는지 등의 모호성을 해결합니다.
어텐션이 토큰을 문맥화한 후, feed-forward network(FFN, 피드 포워드 네트워크)가 해당 벡터를 독립적으로 처리합니다. FFN을 패턴 탐지기로 생각하면 됩니다. FFN은 조정된 'bank'의 수치 표현을 가져와 '이것이 돈에 관한 것인가?'와 같은 내장된 패턴을 확인합니다. 패턴이 일치하면 FFN은 모델이 해당 특정 개념에 대해 학습한 내용을 증폭시킵니다. Geva 등의 연구자들은 이러한 층이 사실적 연관성을 검색하는 연상 기억 장치 역할을 한다는 것을 보여주었습니다.
이 단순화된 관점은 핵심을 잘 포착하고 있지만, 실제 Transformer 블록에는 residual connections 및 정규화 계층(normalization layers)과 같은 메커니즘도 포함되어 있습니다. 명확성을 위해 영상의 비유에서는 생략되었지만, 이러한 구성 요소들은 학습을 안정화하고 성능을 향상시킵니다. Transformer 아키텍처에 대해 더 깊이 알고 싶다면, 기념비적인 논문인 Attention Is All You Need를 살펴보세요. Llama 3 405B와 같은 최신 LLM은 최대 126개의 이러한 계층을 활용하여 복잡한 문맥 표현을 구축합니다.
이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.
하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음
한 번에 하나의 토큰씩, 약간의 변화를 더하여
약 100개의 attention 및 feed-forward 네트워크 계층을 거친 후, 마지막 토큰 위치에 대한 모델의 최종 문맥 표현이 출력 계층에 도달합니다. 이 벡터는 logits으로 변환되는데, 이는 모델의 어휘집에 있는 모든 토큰에 대한 수치 점수이며, 32,000개에서 128,000개 이상의 고유 토큰 범위에 이를 수 있습니다. 그런 다음 softmax 함수가 이 logits을 확률로 변환하여 각 토큰이 다음 단어가 될 가능성을 나타냅니다.
디코딩(Decoding) 과정에서 다음 토큰을 선택합니다. 단순히 확률이 가장 높은 토큰을 선택하는 것도 하나의 전략이지만, sampling과 같은 고급 방법은 무작위성을 도입하여 확률 분포 내에서 더 다양하고 창의적인 출력을 가능하게 합니다. 이렇게 선택된 단일 토큰은 입력에 추가되고, 전체 과정이 반복되면서 순차적으로 다음 토큰을 생성합니다.
이러한 반복적인 '한 번에 하나씩' 처리 과정을 autoregressive generation이라고 하며, 이를 통해 전체 응답이 구축됩니다. 중요한 점은 모델이 전체 답변을 미리 계획하지 않는다는 것입니다. 모델은 이전 토큰을 기반으로 각 토큰을 예측합니다. 고급 추론 모델은 중간 단계나 '사고' 과정을 생성하는 데 더 많은 추론 시간 계산을 사용할 수 있지만, 여전히 최종 출력은 토큰 단위로 순차적으로 생성됩니다.
자주 묻는 질문(FAQ)
LLM은 어떻게 다음 단어를 선택하나요?
문맥을 바탕으로 어휘집에 있는 토큰들의 점수를 계산한 다음, 해당 점수와 디코딩 설정에 따라 토큰을 선택합니다.
Transformer에서 attention은 어떤 역할을 하나요?
Attention은 각 토큰의 표현이 문맥 내의 관련 토큰을 참조할 수 있게 하여, 모델이 'river bank(강둑)'와 'bank account(은행 계좌)'와 같은 의미 차이를 구분하도록 돕습니다.
LLM도 사람처럼 생각하나요?
인간적인 의미에서의 생각은 아닙니다. 표준 LLM은 학습된 계산과 다음 토큰 예측을 통해 텍스트를 생성하지만, 다단계 출력은 마치 추론하는 것처럼 보일 수 있습니다.
LLM에서 파라미터(parameters)란 무엇인가요?
파라미터는 모델이 입력을 변환하고 예측을 생성하는 방식을 결정하는 가중치(weights)를 포함한 학습된 수치 값입니다.

