ChatGPT가 등장한 이후, "LLM"이라는 단어는 개발자가 아닌 사람들에게도 익숙해졌다. 그런데 정작 LLM이 어떻게 동작하는지, 왜 그렇게 거대해야 하는지를 명확히 설명할 수 있는 사람은 많지 않다. 이 글에서는 대형 언어 모델(Large Language Model, LLM) 의 핵심 특징과 작동 원리를 정리하고, 현재 주류가 된 Decoder-Only 아키텍처가 왜 선택되었는지까지 살펴본다.
LLM이란?
LLM(Large Language Model) 은 대규모 텍스트 데이터로 훈련된 AI 모델로, 인간의 언어를 이해하고 생성하는 능력을 갖추고 있다. 단순한 규칙 기반 챗봇과는 근본적으로 다르다. LLM은 방대한 텍스트에서 언어의 패턴, 문맥, 의미 관계를 통계적으로 학습한 모델이다.
비유하자면, LLM은 수십억 권의 책을 읽은 독서광과 비슷하다. 이 독서광은 책의 내용을 완벽히 암기한 것은 아니지만, "이런 맥락에서는 보통 이런 말이 나온다"는 감각을 놀랍도록 정확하게 체득하고 있다.
LLM의 다섯 가지 핵심 특징
1. 대규모 파라미터 (Large Scale Parameters)
LLM의 "Large"는 이름값을 한다. 수백억에서 수천억 개에 이르는 파라미터를 가진다. GPT-3는 약 1,750억 개, GPT-4는 그 이상으로 추정된다. 파라미터 수가 많을수록 모델이 표현할 수 있는 패턴의 복잡도가 높아진다.
파라미터란 모델이 학습 과정에서 조정하는 가중치(weight)와 편향(bias) 값이다. 쉽게 말해, 모델의 "기억 용량"에 해당한다.
2. 대규모 데이터셋 훈련 (Large-Scale Dataset Training)
거대한 모델에는 거대한 데이터가 필요하다. LLM은 인터넷 문서, 위키피디아, 책, 코드 저장소 등 수조 개의 토큰으로 구성된 텍스트 코퍼스(corpus)로 훈련된다. 데이터의 양과 질이 모델의 성능을 좌우하며, 이것이 대규모 기업만이 최전선에서 경쟁할 수 있는 이유이기도 하다.
3. 트랜스포머 아키텍처 (Transformer Architecture)
현재 거의 모든 LLM은 트랜스포머(Transformer) 아키텍처를 기반으로 한다. 2017년 Google의 "Attention Is All You Need" 논문에서 제안된 이 구조는 기존의 RNN, LSTM을 대체하며 자연어 처리의 패러다임을 바꿨다.
트랜스포머는 크게 인코더(Encoder) 와 디코더(Decoder) 로 구성된다. 모델에 따라 인코더만, 디코더만, 또는 둘 다 사용하는 구조를 택한다.
| 구조 | 대표 모델 | 특징 |
|---|---|---|
| Encoder-Only | BERT | 문맥 이해에 강함 (분류, 질의응답) |
| Decoder-Only | GPT | 텍스트 생성에 강함 (대화, 작문) |
| Encoder-Decoder | T5, BART | 입력을 변환하는 작업에 강함 (번역, 요약) |
4. 생성 능력 (Generation Capability)
LLM의 가장 눈에 띄는 능력은 텍스트 생성이다. 주어진 프롬프트(prompt)에 이어질 텍스트를 생성하는데, 이 과정은 본질적으로 다음에 올 토큰을 예측하는 것의 반복이다. 한 토큰을 예측하고, 그 결과를 입력에 붙이고, 다시 다음 토큰을 예측하는 식이다. 이 단순한 메커니즘에서 놀랍도록 자연스러운 문장이 만들어진다.
5. 멀티태스크 수행 (Multi-task Performance)
과거의 AI 모델은 "번역 전용", "요약 전용"처럼 하나의 작업에 특화되어 있었다. LLM은 다르다. 별도의 미세 조정(fine-tuning) 없이도, 프롬프트만 바꾸면 번역, 요약, 질의응답, 코드 생성 등 다양한 작업을 하나의 모델로 수행할 수 있다. 이를 제로샷(Zero-shot) 또는 퓨샷(Few-shot) 학습이라 한다.
LLM의 작동 원리
LLM이 텍스트를 처리하는 과정은 네 단계로 나눌 수 있다.
1단계: 토큰화 (Tokenization)
사람이 입력한 텍스트는 그대로 모델에 들어가지 않는다. 먼저 토큰(token) 이라는 단위로 쪼개진다. 토큰은 단어일 수도 있고, 단어의 일부(subword)일 수도 있다.
예를 들어, "unbelievable"이라는 단어는 하나의 토큰이 아니라 un + believ + able처럼 세 개의 서브워드 토큰으로 분리될 수 있다. 이렇게 하면 모델이 처음 보는 단어도 구성 요소를 통해 의미를 추론할 수 있다.
토큰화는 단순 분리가 아니라, 모델이 텍스트를 숫자로 변환하기 위한 첫 번째 관문이다. 각 토큰은 고유한 정수 ID에 매핑된다.
2단계: 임베딩 (Embedding)
토큰 ID는 그 자체로는 의미를 담고 있지 않다. 이를 고차원 벡터 공간에 매핑하는 과정이 임베딩이다. 비슷한 의미를 가진 토큰은 벡터 공간에서 가까운 위치에 놓인다.
택배 시스템에 비유하면, 토큰화가 물건에 송장 번호를 붙이는 과정이라면, 임베딩은 그 물건을 물류 창고의 적절한 위치에 배치하는 것과 같다. 비슷한 물건끼리 가까이 두면 나중에 찾기도, 분류하기도 쉽다.
3단계: 셀프 어텐션 (Self-Attention)
트랜스포머의 핵심 메커니즘이다. 셀프 어텐션(Self-Attention) 은 문장 내의 각 토큰이 다른 모든 토큰과의 관계를 계산하는 과정이다.
"The cat sat on the mat because it was tired."라는 문장에서, "it"이 "cat"을 가리킨다는 것을 사람은 직관적으로 안다. 셀프 어텐션은 이 직관을 수학적으로 구현한다. 각 토큰에 대해 Query(질문), Key(열쇠), Value(값) 세 가지 벡터를 만들고, Query와 Key의 유사도를 계산하여 어디에 "주의(attention)"를 기울일지 결정한다.
이 과정을 여러 관점에서 동시에 수행하는 것이 멀티헤드 어텐션(Multi-Head Attention) 이다. 한 헤드는 문법적 관계를, 다른 헤드는 의미적 관계를 포착하는 식으로, 다양한 차원에서 문맥을 파악한다.
4단계: 다음 토큰 예측 (Next Token Prediction)
셀프 어텐션을 거친 후, 모델은 최종적으로 다음에 올 토큰의 확률 분포를 출력한다. "오늘 날씨가 참"이라는 입력이 들어오면, "좋다"가 높은 확률, "나쁘다"가 그보다 낮은 확률, "바나나"가 거의 0에 가까운 확률을 갖게 된다.
이 확률 분포에서 토큰을 선택하고, 선택된 토큰을 다시 입력에 추가하여 반복하면 하나의 완성된 문장이 만들어진다. 이것이 LLM이 텍스트를 생성하는 기본 원리다.
흔한 오해: LLM이 "이해"하고 "생각"해서 답을 내놓는다고 여기기 쉽다. 실제로는 통계적으로 가장 그럴듯한 다음 토큰을 반복적으로 선택하는 것이다. 이 단순한 원리에서 놀라운 결과가 나오는 것이 LLM의 신비로운 점이다.
주요 활용 분야
LLM의 활용 범위는 넓고 계속 확장되고 있다.
- 콘텐츠 생성: 블로그 글, 마케팅 카피, 소설 등 다양한 텍스트 생성
- 질의응답(QA): 문서 기반 또는 대화형 질의응답
- 번역: 다국어 간 자연스러운 번역
- 코드 생성: 자연어 설명을 코드로 변환 (GitHub Copilot, Cursor 등)
- 요약: 긴 문서를 핵심만 추려 요약
주요 모델 비교
현재까지 큰 영향을 미친 대표적인 LLM들을 정리한다.
| 모델 | 개발사 | 아키텍처 | 특징 |
|---|---|---|---|
| GPT 시리즈 | OpenAI | Decoder-Only | 텍스트 생성에 최적화, ChatGPT의 기반 |
| BERT | Encoder-Only | 양방향 문맥 이해, 분류/검색에 강함 | |
| T5 | Encoder-Decoder | 모든 NLP 작업을 text-to-text로 통일 | |
| BART | Meta (Facebook AI) | Encoder-Decoder | 문서 요약, 텍스트 복원에 강함 |
BERT는 문장의 양방향(bidirectional) 문맥을 동시에 고려한다. "The [MASK] sat on the mat"에서 빈칸 양쪽의 문맥을 모두 활용하여 "cat"을 예측하는 식이다. 반면 GPT는 왼쪽에서 오른쪽(autoregressive) 으로만 예측하며, 이 방식이 텍스트 생성에 더 자연스럽다.
왜 Decoder-Only가 주류가 되었는가?
현재 가장 강력한 LLM들(GPT-4, Claude, Gemini, LLaMA 등)은 대부분 Decoder-Only 구조를 채택하고 있다. 원래 트랜스포머는 인코더-디코더 구조였는데, 왜 디코더만 남게 되었을까?
병목 현상: 크로스 어텐션
인코더-디코더 구조에서는 인코더가 입력을 압축하고, 디코더가 이를 참조하여 출력을 생성한다. 이때 디코더가 인코더의 출력을 참조하는 메커니즘이 크로스 어텐션(Cross-Attention) 이다.
문제는 이 크로스 어텐션 지점에서 병목(bottleneck) 이 발생한다는 것이다. 인코더가 아무리 잘 압축해도, 디코더가 이를 참조하는 과정에서 정보 손실이 생기고, 모델이 커질수록 이 비효율이 두드러진다.
디코더에 집중하는 것이 더 효율적
Decoder-Only 모델은 이 문제를 근본적으로 회피한다. 인코더 없이 입력과 출력을 하나의 연속된 시퀀스로 처리하므로, 크로스 어텐션이 필요 없다. 모든 학습 용량을 디코더 하나에 집중할 수 있어, 같은 파라미터 수 대비 더 효율적인 학습이 가능하다.
또한 Decoder-Only 구조는 학습 방식이 단순하다. "다음 토큰 예측"이라는 하나의 목표만 최적화하면 되기 때문에, 스케일업(scale-up)이 수월하다. 이 단순함이 수천억 파라미터 규모에서 빛을 발한다.
결국, 스케일의 시대에서 "단순하지만 확장 가능한 구조"가 복잡하지만 이론적으로 우아한 구조를 이긴 셈이다.
정리
- LLM은 대규모 파라미터와 데이터로 훈련된, 트랜스포머 기반의 언어 모델이다
- 작동 원리는 토큰화 - 임베딩 - 셀프 어텐션 - 다음 토큰 예측의 네 단계로 요약된다
- 셀프 어텐션이 문맥을 파악하는 핵심 메커니즘이며, 이를 통해 단어 간의 관계를 학습한다
- 현재 주류는 Decoder-Only 구조로, 크로스 어텐션의 병목을 피하고 학습 효율을 극대화한다
- GPT, BERT, T5, BART 등 다양한 아키텍처가 존재하며, 각각의 강점이 다르다