retriever가 문서를 찾아 augmented prompt를 만들고 LLM이 답을 낸다 — 여러 번 본 흐름이다. 이제 한 단계 더 깊이 들어가 왜 이게 되는가를 묻는다. LLM은 어떻게 검색된 정보를 이해할까? Module 4의 첫 편은 LLM의 토대인 트랜스포머(Transformer) 구조다.

1. 배경과 Encoder–Decoder

트랜스포머는 2017년 논문 "Attention is All You Need"에서 기계 번역을 풀기 위해 제안됐다. 두 부품 — encoder decoder — 로 이뤄졌다.

https://arxiv.org/abs/1706.03762

 

Attention Is All You Need

The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new

arxiv.org

그림 1. 트랜스포머의 등장(2017)과 이후 대규모 언어 모델로의 발전.

 

encoder는 원문(예: 독일어 문단)을 처리해 의미를 깊이 이해하고, decoder는 그 이해를 바탕으로 새 영어 문장을 생성한다. 대부분의 LLM은 텍스트 생성만 하므로 decoder만 쓴다. encoder는 풍부한 의미 표현을 만드는 게 목적이라 주로 임베딩 모델 안에 쓰인다.

그림 2. encoder(이해) vs decoder(생성). LLM은 decoder, 임베딩 모델은 encoder를 쓴다.

 

 

2. 프롬프트 처리 흐름 ① — 토큰화와 임베딩

프롬프트가 LLM(=decoder)을 통과하는 여정을 따라가 보자. 먼저 프롬프트가 토큰으로 쪼개진다. 각 토큰에는 그 의미의 첫 추정치(first guess)인 dense 벡터가 부여된다(이 값은 정적이라, 같은 토큰엔 늘 같은 첫 추정 벡터). 그다음 프롬프트 내 위치를 담은 위치 벡터(positional vector)가 더해진다. 이 둘이 함께 처리로 넘어간다.

그림 3. 각 토큰 = 의미의 첫 추정 벡터 + 위치 벡터. 둘을 합쳐 처리로 보낸다.

 

 

3. ② Attention — 어디에 주목할까

이제 토큰들이 attention(어텐션) 메커니즘에 들어간다. 각 토큰은 다른 모든 토큰의 의미와 위치를 보고, 어느 토큰에 가장 주목할지 정한다. attention은 곧 "어떤 토큰이 내 의미에 가장 큰 영향을 주는가"를 정하는 것이다. "the brown dog sat next to the red fox"에서 dog는 자신과 직접 관련된 brown에 70%, sat에 20%, 나머지 10%를 다른 토큰에 분배하는 식이다.

그림 4. Attention — 각 토큰이 다른 토큰에 주의를 배분한다(dog → brown 70%, sat 20% …).

 

이 주의를 배분하는 장치가 attention head다. 대부분의 모델은 서로 다른 관계 유형에 특화된 여러 개의 attention head를 갖는다 — 하나는 사물↔묘사(fox↔brown), 다른 하나는 공간 관계(fox↔sat, next)에 특화되는 식이다. 실제로는 사람이 정한 관계가 아니라 학습으로 얻은 복잡·추상적 관계다. 소형 모델은 8~16개, 대형은 100개 이상을 쓴다. 덕분에 모든 토큰이 서로의 관계를 여러 관점에서 동시에 추적해, 아주 상세한 관계 표현이 만들어진다.

그림 5. 여러 attention head가 서로 다른 관계를 병렬로 포착한다(소형 8~16, 대형 100+).

 

 

4. ③ Feed Forward — 의미 갱신

모든 토큰이 attention 점수를 매기면, 정보는 feed-forward(피드포워드) 단계로 들어간다. 이 단계가 LLM에서 파라미터가 가장 많은 부분이다. 각 토큰의 원래 임베딩·위치·attention을 바탕으로 갱신된 벡터(second guess)를 만든다 — 이제 다른 토큰들의 맥락이 반영된 의미다.

그림 6. Feed-forward — attention 결과를 반영해 각 토큰의 의미를 갱신한다(second guess).

 

 

5. 반복 정제

대부분의 LLM은 이 과정 전체를 반복한다. second guess 벡터를 다시 attention·feed-forward에 넣어 더 정제된 third guess를 만들고, 보통 8~64회 이 레이어들을 통과하며 이해를 점차 다듬는다.

그림 7. 같은 attention·feed-forward를 여러 층 반복(8~64회)하며 의미 표현을 정제한다.

 

 

 

6. 생성 — 다음 토큰 고르기

정제된 벡터를 바탕으로 모델은 "학습 데이터 기준, 다음에 올 법한 토큰은?"을 묻는다. 이는 vocabulary 전체에 대한 확률 분포로 계산된다. 소수 토큰만 높은 확률을 갖고 나머지는 사실상 0이다. 모델은 이 분포에서 확률에 가중해 하나를 무작위로 고른다. 고른 토큰을 프롬프트 끝에 붙이고, 다음 토큰을 생성하려면 전 과정을 다시 반복한다(이번엔 방금 생성한 토큰까지 포함). 이 반복은 토큰 한도에 이르거나 종료 토큰(EOS)이 나올 때까지 계속되고, 마지막에 텍스트로 디토큰화되어 사용자에게 반환된다.

그림 8. vocabulary 전체에 대한 확률 분포에서 다음 토큰을 확률 가중으로 선택하고, EOS까지 반복한다.

 

 

 

7. RAG 관점에서의 시사점

이 구조는 RAG 설계의 많은 부분을 설명한다.

  • 왜 RAG가 되는가 — attention의 처리와 feed-forward에 담긴 세상 지식 덕분에, LLM은 프롬프트에 추가된 정보의 의미·관련성을 깊이 이해한다.
  • 여전히 랜덤하다 — 의미 있는 정보를 넣어도 LLM이 그 정보를 안 쓰기로 무작위 선택할 수 있다. 답을 검색 정보에 근거하도록 통제하는 일이 여전히 중요하다.
  • 계산이 비싸다 — 토큰 하나 생성에도 큰 연산이 들고, 프롬프트·응답이 길수록 비용이 커진다(각 토큰이 다른 모든 토큰을 봐야 하므로). RAG 비용의 대부분이 이 트랜스포머 실행에서 나온다.

그림 9. 트랜스포머가 주는 RAG 시사점 — 깊은 이해(왜 작동) · 내재된 무작위성 · 높은 계산 비용.

 

다음 글에서는 이 "확률 분포에서 토큰을 고르는" 과정을 조절하는 방법 — LLM 샘플링 전략(temperature·top-k·top-p 등) — 을 다룬다.

'AI > RAG' 카테고리의 다른 글

어떤 LLM을 고를까  (0) 2026.07.03
LLM Sampling 전략  (0) 2026.07.03
Reranking  (0) 2026.07.03
Cross Encoder & ColBERT  (0) 2026.07.02
Query Parsing  (0) 2026.07.02

+ Recent posts