본문으로 건너뛰기
피드

LLM은 실제로 어떻게 돌아가나: 토큰부터 다음 토큰 예측까지

ai-ml 약 16분
vote
0
댓글
북마크

현대 대규모 언어 모델(LLM)의 핵심 구조인 Transformer를 토큰화, 임베딩, 위치 인코딩, 어텐션, 피드포워드 네트워크, 잔차 스트림, 다음 토큰 예측 순서로 풀어낸 글임. 수식보다 구조와 직관에 집중해서, 모델 카드나 논문에서 나오는 RoPE, GQA, MoE, KV cache 같은 용어가 어디에 붙는지 이해하게 해줌.

  • 1

    LLM은 텍스트를 직접 읽지 않고 토큰 ID를 벡터로 바꿔 처리함

  • 2

    Transformer의 핵심은 토큰들이 어텐션으로 서로 필요한 정보를 가져오고, 피드포워드 네트워크에서 개별 토큰 표현을 더 깊게 가공하는 구조임

  • 3

    RoPE, RMSNorm, SwiGLU, GQA, MoE 같은 최신 구성요소는 2017년 Transformer 위에 쌓인 실전 최적화임

  • 4

    모델이 문장을 만드는 과정은 결국 마지막 토큰의 벡터로 다음 토큰 확률을 만들고, 그걸 반복하는 루프임

LLM은 텍스트를 읽는 게 아니라 숫자 시퀀스를 처리함

  • 대규모 언어 모델(LLM)은 문장을 그대로 읽지 않고, 먼저 토큰 ID라는 정수 배열로 바꿔서 처리함

    • 이 변환 과정이 tokenization임
    • 현대 LLM의 vocabulary는 보통 수만 개에서 수십만 개 항목을 가짐
    • 단어 전체가 아니라 subword 조각을 쓰는 경우가 많아서, “tokenization”이 “token” + “ization”처럼 쪼개질 수 있음
  • 이게 별거 아닌 것 같지만, 모델의 이상한 실수 중 일부는 여기서 시작됨

    • 예전 LLM들이 “strawberry에 R이 몇 개냐” 같은 질문을 틀리던 이유도 모델이 글자를 직접 세는 구조가 아니기 때문임
    • 모델은 사람이 보는 문자 단위가 아니라, tokenizer가 만든 토큰 ID 단위로 세상을 봄
  • 토큰 ID 자체는 아무 의미 없는 행 번호에 가까움

    • 의미를 주는 건 embedding matrix임
    • 예를 들어 7B급 모델에서는 토큰 하나가 4,096개 숫자로 된 벡터가 되는 경우가 흔함
    • “king - man + woman ≈ queen” 같은 유명한 예시는 임베딩 공간에 의미 관계가 어느 정도 기하학적으로 잡힌다는 걸 보여줌

순서 정보는 따로 넣어줘야 함

  • 기본 self-attention은 단어 순서를 내장하고 있지 않음

    • “dog bites”와 “bites dog”는 완전히 다른 의미인데, 토큰 벡터만 보면 위치 정보가 없음
    • 그래서 positional encoding이 필요함
  • 초기 Transformer는 sine/cosine 기반 위치 패턴을 임베딩에 더하는 방식을 썼음

    • 2017년 Vaswani 등의 Transformer 논문 방식임
    • position 1, position 5, position 100마다 다른 숫자 패턴을 더해 순서를 표시함
  • 요즘 오픈 모델들은 대부분 RoPE를 씀

    • RoPE는 위치 정보를 더하지 않고, 토큰 벡터를 위치에 따라 회전시킴
    • LLaMA, Mistral, Gemma, Qwen 계열에서 널리 쓰임
    • 상대적 거리 정보가 attention 계산에 자연스럽게 들어가고, 추가 파라미터도 필요 없음

💡

> 긴 프롬프트에서 중요한 내용을 앞이나 끝에 두라는 팁은 그냥 미신이 아님. LLM은 긴 컨텍스트의 중간 정보를 상대적으로 덜 잘 쓰는 “lost in the middle” 문제가 있음.

Attention은 토큰들이 서로 정보를 빌려오는 장치임

  • Transformer의 이름값을 하는 핵심 장치가 attention임

    • 각 토큰은 다른 토큰들을 보고 “지금 내 표현을 업데이트하는 데 뭐가 중요하지?”를 계산함
    • 이때 각 토큰은 Query, Key, Value라는 세 역할을 동시에 가짐
  • Query, Key, Value는 대충 이렇게 보면 됨

    • Query는 “내가 찾는 정보가 뭐냐”임
    • Key는 “내가 제공할 수 있는 정보가 뭐냐”임
    • Value는 “매칭이 강할 때 실제로 가져갈 내용”임
  • 예를 들어 “The cat that I saw yesterday was sleeping”에서 “was”는 주어를 찾아야 함

    • “was”의 Query가 앞 토큰들의 Key와 비교됨
    • “cat”과의 점수가 높고 “yesterday”와의 점수는 낮아짐
    • softmax가 이 점수를 가중치로 바꾸고, “cat”의 Value가 “was” 표현에 크게 반영됨
  • GPT 스타일 모델은 미래 토큰을 보면 안 되기 때문에 causal masking을 씀

    • 5번째 토큰은 1~5번째 토큰만 볼 수 있음
    • 6, 7, 8번째 토큰은 아직 생성되지 않았으니 attention 점수를 사실상 0으로 만들어 숨김
  • attention의 비용은 긴 컨텍스트에서 확 커짐

    • full attention은 각 토큰이 볼 수 있는 모든 토큰과 비교함
    • 프롬프트 길이를 2배로 늘리면 계산량은 대략 4배에 가까워짐
    • 그래서 FlashAttention, sparse attention, linear attention 같은 효율화 연구가 계속 나옴

Multi-head attention은 여러 관점을 동시에 굴리는 방식임

  • attention head 하나만 있으면 관계를 보는 관점이 하나뿐임

    • 언어에는 주어-동사 일치, 대명사 참조, 문장 간 장거리 연결, 지역적 어순 같은 관계가 동시에 존재함
    • multi-head attention은 여러 attention head를 병렬로 돌려 이 문제를 푸는 구조임
  • 흔한 오해와 달리, 각 head가 원래 벡터의 고정된 조각만 받는 건 아님

    • 각 head는 전체 토큰 벡터를 자기만의 학습된 projection으로 작은 Q/K/V 공간에 매핑함
    • 4,096차원 벡터와 32개 head라면 head당 보통 128차원으로 일하지만, 그 128차원은 고정 슬라이스가 아니라 학습된 관점임
  • head들은 학습 중 자연스럽게 역할이 갈라질 수 있음

    • 어떤 head는 문법 관계를 따라가고, 어떤 head는 대명사와 이름을 연결하고, 어떤 head는 반복 패턴을 잡음
    • Anthropic이 2022년에 분석한 induction head는 “A B … A” 패턴을 보고 다음에 B가 올 가능성을 잡는 대표적 예시임
  • 추론 비용에서 중요한 건 KV cache임

    • 생성 중 이전 토큰들의 Key와 Value를 저장해두면 매번 전체 프롬프트를 다시 계산하지 않아도 됨
    • 대신 긴 컨텍스트에서는 이 캐시가 메모리를 크게 잡아먹음
  • 그래서 요즘 decoder-only LLM은 Grouped-Query Attention(GQA)을 많이 씀

    • 모든 query head가 각자 key/value를 갖는 대신, 여러 query head가 더 적은 key/value head를 공유함
    • LLaMA-2 70B는 query head 64개에 key/value head 8개를 씀
    • Mistral 7B도 query head 32개에 key/value head 8개를 씀
    • 정확도는 거의 유지하면서 KV cache 메모리와 추론 비용을 줄이는 타협임

FFN에는 모델의 지식과 계산이 많이 들어 있음

  • attention이 토큰 간 정보 교환이라면, feed-forward network(FFN)는 각 토큰을 개별적으로 더 가공하는 단계임

    • 보통 벡터를 더 큰 차원으로 확장함
    • 비선형 함수를 통과시킴
    • 다시 원래 크기로 압축함
  • 비선형 함수가 없으면 깊은 신경망은 사실상 큰 선형 변환 하나로 무너짐

    • ReLU, GELU, SwiGLU 같은 함수가 여기서 등장함
    • 원래 Transformer는 ReLU를 썼고, GPT/BERT는 GELU를 썼고, LLaMA/Mistral/PaLM 같은 현대 모델은 SwiGLU 계열을 많이 씀
  • dense Transformer에서는 파라미터 상당수가 attention보다 FFN에 있음

    • 연구에 따르면 FFN 내부 뉴런 일부는 특정 개념이나 사실과 강하게 연결됨
    • Eiffel Tower, 프로그래밍 언어, 과거형 동사 같은 개념에 반응하는 뉴런이 발견된 사례가 있음
    • ROME 같은 기법은 특정 FFN weight matrix를 저랭크로 수정해 “Eiffel Tower는 Paris에 있다” 같은 연결을 바꾸는 실험도 보여줌
  • 초대형 모델에서는 dense FFN 대신 Mixture of Experts(MoE)를 쓰기도 함

    • 여러 FFN 전문가를 두고, 라우터가 토큰마다 일부 전문가만 선택함
    • Mixtral 8x7B는 layer마다 expert 8개를 두고 토큰당 2개만 활성화함
    • 전체 파라미터는 467억 개지만 토큰당 사용하는 파라미터는 약 129억 개라, 크기는 키우고 추론 비용은 덜 키우는 방식임

중요

> MoE의 포인트는 “모델 전체는 크지만 매 토큰마다 전부 돌리진 않는다”는 것임. 그래서 파라미터 수만 보고 추론 비용을 단순 비교하면 감이 틀어질 수 있음.

깊게 쌓으려면 residual stream과 normalization이 필요함

  • residual connection은 각 블록의 출력을 기존 벡터에 더하는 구조임

    • attention이나 FFN 결과가 기존 표현을 완전히 대체하는 게 아니라 누적됨
    • 이 누적 경로를 residual stream이라고 부름
  • 이 구조가 없으면 깊은 모델 학습이 훨씬 어려워짐

    • ResNet에서 온 아이디어고, 원래는 이미지 인식용 깊은 네트워크를 학습시키기 위해 등장했음
    • gradient가 깊은 층을 지나며 사라지거나 폭주하는 문제를 줄여줌
  • layer normalization은 residual stream의 숫자 범위를 안정화함

    • 수십~수백 번 더하다 보면 값이 폭주하거나 0에 가까워질 수 있음
    • normalization은 각 토큰 벡터를 조절해서 학습이 망가지지 않게 함
  • 현대 Transformer는 대체로 pre-norm 구조를 선호함

    • 2017년 원래 Transformer는 sub-block 뒤에 normalization을 붙이는 post-norm이었음
    • GPT-2 이후 많은 모델은 sub-block 앞에 normalization을 두는 pre-norm을 씀
    • LLaMA, Mistral, Gemma, Phi 같은 오픈 모델은 더 단순하고 싼 RMSNorm도 자주 씀

생성은 결국 다음 토큰 예측 루프임

  • 모든 layer 계산이 끝나면, 모델은 마지막 토큰의 최종 벡터로 다음 토큰을 예측함

    • vocabulary가 100,000개라면 가능한 다음 토큰마다 raw score인 logits 100,000개가 나옴
    • softmax가 이 logits를 확률 분포로 바꿈
  • 모델은 매번 가장 높은 확률의 토큰만 고르지 않음

    • temperature는 분포를 얼마나 날카롭게 볼지 조절함
    • top-k와 top-p는 후보를 그럴듯한 토큰으로 제한함
    • 그래서 같은 모델도 설정에 따라 딱딱하거나 창의적으로 느껴질 수 있음
  • 한 토큰을 고르면 그 토큰을 입력 뒤에 붙이고 다시 반복함

    • KV cache를 재사용해 전체 prefix 재계산을 피함
    • 새 토큰에 대한 attention과 FFN을 돌림
    • 다시 다음 토큰 확률을 만들고 샘플링함
    • 문단 하나도 결국 이 루프가 계속 돈 결과임
  • base LLM의 핵심 학습 목표는 놀랄 만큼 단순함

    • 사실성, 추론, 코딩, 대화 능력을 직접 목표로 삼는 게 아니라 massive text에서 다음 토큰을 맞히도록 훈련함
    • 이후 instruction tuning, preference learning, safety tuning 같은 post-training이 얹히면서 우리가 쓰는 챗봇 형태가 됨
  • speculative decoding은 이 루프를 빠르게 만드는 대표 기법임

    • 작은 draft model이 여러 토큰을 미리 제안함
    • 큰 모델이 그 제안을 병렬로 검증함
    • 제대로 구현하면 큰 모델만 돌린 것과 같은 분포를 유지하면서 더 빠르게 생성할 수 있음

결국 모델 간 차이는 구조보다 weight와 학습에 있음

  • GPT, Claude, Gemini, LLaMA는 세부 구현과 공개 범위가 다르지만 큰 틀은 Transformer 계열임

    • tokenization, embeddings, positional encoding, stacked transformer layers, attention, FFN, residual stream, normalization, next-token prediction이 공통 골격임
    • 차이는 학습 데이터, scale, layer 수, vocabulary 크기, head 수, dense/MoE 여부, post-training 방식에서 커짐
  • 2023~2025년의 현대 Transformer 스택은 꽤 수렴된 상태임

    • pre-norm, RMSNorm, RoPE, SwiGLU, GQA, 일부 대형 모델의 MoE가 반복적으로 등장함
    • 2017년 Transformer 위에 약 5년간 실전 최적화가 쌓인 결과라고 보면 됨
  • 그래도 이 구조가 영원하다는 뜻은 아님

    • Mamba 같은 state-space model은 아주 긴 시퀀스에서 대안으로 연구되고 있음
    • hybrid architecture도 계속 나오고 있음
    • 다만 토큰을 표현하고, 순서를 넣고, 문맥을 섞고, 다음 출력을 고르는 문제는 어떤 sequence model이든 결국 풀어야 하는 핵심 과제임

기술 맥락

  • LLM 아키텍처를 볼 때 제일 먼저 잡아야 하는 건 “텍스트가 바로 의미로 들어가는 게 아니다”라는 점이에요. tokenizer가 문자열을 정수 ID로 바꾸고, embedding matrix가 그 ID를 벡터로 바꿔야 이후 계산이 가능하거든요. 그래서 tokenizer 선택은 다국어 품질, 토큰 수, 추론 비용에 직접 영향을 줘요.

  • RoPE나 RMSNorm 같은 이름은 새 모델 발표 때 자주 보이지만, 사실 역할은 꽤 실용적이에요. RoPE는 긴 문맥에서 위치 관계를 더 자연스럽게 다루려는 선택이고, RMSNorm은 깊은 모델을 안정적으로 학습시키면서 계산 비용을 줄이려는 선택이에요. 둘 다 “더 크게, 더 길게” 가려다 생긴 병목을 줄이는 장치예요.

  • GQA와 KV cache는 서비스를 붙이는 개발자에게 특히 중요해요. 모델이 토큰을 생성할 때 이전 Key와 Value를 저장해두면 빠르지만, 컨텍스트가 길어질수록 메모리가 크게 늘어나거든요. GQA는 여러 query head가 key/value를 공유하게 해서 이 메모리 압박을 낮추는 타협이에요.

  • MoE는 “큰 모델은 무조건 비싸다”는 공식을 조금 비트는 선택이에요. 전체 파라미터는 크게 가져가되 토큰마다 일부 expert만 실행하면, 모델의 표현력은 키우면서 토큰당 계산량은 덜 늘릴 수 있어요. Mixtral 8x7B가 전체 467억 파라미터 중 토큰당 약 129억만 쓰는 게 딱 그 맥락이에요.

LLM을 ‘마법 같은 챗봇’으로 보지 않고 실제 시스템 구성요소로 이해하려면 이런 글이 제일 효율적임. 특히 긴 컨텍스트 비용, KV cache 메모리, MoE의 추론비 절감 같은 내용은 모델을 고르거나 서비스에 붙일 때 바로 체감되는 지점임.

댓글

댓글

댓글을 불러오는 중...

ai-ml

토지 개발 인허가, AI가 미리 판정한다…국토부가 107억 원 투입

국토교통부가 토지 개발 인허가 가능성을 AI로 사전 진단하는 서비스를 만든다. 200여 개 법률과 지자체 조례, 공간정보를 분석해 민원 준비와 인허가 처리 기간을 30% 이상 줄이는 게 목표다.

ai-ml

스페이스X가 구글에 GPU 11만 개를 빌려준다, AI 인프라가 IPO 스토리가 됨

스페이스X가 구글과 월 9억2000만 달러 규모의 AI 연산 인프라 임대 계약을 맺었다. 엔비디아 GPU 11만 개가 포함된 계약으로, IPO를 앞둔 스페이스X가 AI 인프라 자산 가치를 부각하려는 전략으로 해석된다.

ai-ml

네이버가 군 AI 시장에 들어가는 이유, 포털보다 ‘전장 운영체제’에 가까움

네이버클라우드가 김유원 대표 직속 국방 AX 전담 조직을 만들고, 하이퍼클로바X·클라우드·디지털 트윈·로봇 관제 기술을 군 AI 사업에 연결하려 한다. 유비파이 투자로 드론 군집 비행까지 확보하면서 네이버의 피지컬 AI 전략이 로봇에서 하늘로 확장되는 그림이다.

ai-ml

코어위브 vs 네비우스, AI 클라우드 주식은 이제 ‘GPU 몇 장’만 보면 안 됨

BNP 파리바는 AI 클라우드 업체 코어위브가 네비우스보다 상승 여력이 크다고 봤다. 핵심은 누가 더 멋진 스토리를 갖고 있느냐가 아니라, 장기 계약·GPU 수명·단위 경제성까지 감안했을 때 돈을 얼마나 남길 수 있느냐다.

ai-ml

팔란티어, 구글 클라우드 붙이고 상업용 AI 운영체제로 체질 바꾸는 중

팔란티어가 AIPCon 10에서 구글 클라우드와의 연동, 법률·건설·보험 분야 신규 파트너십을 공개했다. 정부 고객 중심 데이터 플랫폼 이미지에서 벗어나 규제가 강한 산업의 상업용 AI 운영 플랫폼으로 확장하려는 흐름이다. 투자 뉴스 성격이 섞여 있지만, 엔터프라이즈 AI가 실제 워크플로에 들어가는 방식이 드러나는 기사다.