고등학생(18~20) 때만 해도 AI 라고 하면 CV도 있고, KNN이나, 머신러닝, 딥러닝 이런 키워드가 있었던 거 같은데 요즘은 AI라고 하면 거의 LLM을 떠올린다.
필자도 LLM을 자주 사용하고 그 성능에 놀라고는 하는데 그 이면에는 어떤 원리가 있고 어떻게 동작하는지 궁금해서 여유가 좀 생겼을 때 LLM도 공부해보려 한다.
이 글은 LLM이란 것이 무엇인가, LLM이 어떤 문제를 해결하고자 해서 나온 도구인가, LLM이 만능일까?, LLM은 지금까지 내가 공부했고 가고자 하는 길을 가로막는 벽이 될 것인가? 도구로서 강력한 무기가 될 것인가? 와 같은
고민 중 LLM의 근본과 그 동작 원리를 넓게 이해하고자 공부한걸 정리하는 글이다. (클로드랑 같이 공부했다.)
즉, top-down 방식의 첫 시작이다.
언어란 무엇인가.
LLM(Large Language Model)은 방대한 텍스트 데이터를 학습하여 인간의 언어를 이해하고 생성할 수 있는 대규모 신경망 모델이다.
따라서 LLM을 이해하려면 먼저 “언어를 안다는 것이 무엇인가?”라는 질문을 던져야 한다.
전통적인 AI는 언어를 규칙의 체계로 봤다.
문법, 구문론, 의미론을 명시적으로 코딩하려 했다.
하지만 LLM은 완전히 다른 철학에서 출발한다.
언어는 규칙이 아니라 분포(Distribution)이다.
근본 원리 : 다음 토큰 예측
LLM의 작동 원리는 놀라울 정도로 단순한 목표 함수에서 출발한다.
“이전 맥락이 주어졌을 때, 다음에 올 토큰의 확률 분포를 예측해라.”
수식으로 쓰면
$$ P(x_t | x_1, x_2, ..., x_{t-1}) $$
을 모델링 하는 것이다. 이게 전부다.
이 단순한 목표가 어떻게 추론, 번역, 코딩, 창작까지 가능하게 하는가..
아직까지 이 질문에 대한 완전한 답은 없다고 한다.
경험적 단서는 많지만 “왜 이렇게 까지 되는지”에 대한 이론은 여전히 부제한 상황이라고 한다.
한편으로는 이런 상황에 agentic payment나 openclaw 같은 AI 도구들이 이렇게 까지 실 생활에 깊게 들어와도 되나 싶긴 하다. (특히, 보안적인 문제)
토큰화 : 언어를 이산 공간으로 매핑
모델이 텍스트를 처리하려면 먼저 연속적인 문자열을 이산적 단위로 쪼개야 한다.
BPE(Byte Pair Encoding) 같은 알고리즘이 이 역할을 한다.
“안녕하세요”라는 문장이 들어오면 이걸 몇 개의 토큰 ID로 변환한다.
여기서 중요한 점은 토큰 자체는 아무런 의미를 담고 있지 않고 그냥 정수이다.
의미는 이후 임베딩 과정에서 부여된다.
임베딩 : 의미의 기하학
각 토큰은 고차원 벡터 공간 (예: 4096 차원, 12288 차원)에 매핑된다.
이 공간에서 의미적으로 유사한 토큰들은 가까이 위치하게 된다.
“왕 - 남자 + 여자 ≈ 여왕” 같은 예시가 이걸 보여준다.
근본적으로 보면, LLM은 의미를 기하학적 구조로 인코딩하는 것이다.
언어의 의미론이 벡터 공간의 위상(topology)로 변환된다
Transformer : 문맥을 이해하는 메커니즘
Transformer 아키텍처의 핵심은 Self-Attention이다.
이걸 직관적으로 설명하면 다음과 같다
문장 내의 모든 토큰이 다른 모든 토큰을 “바라보면서” 서로 간의 관련성을 계산한다.
“그 은행에서 돈을 인출했다”에서 “은행(bank)”이 금융 기관인지 강둑인지를 결정하는 것은 주변 토큰들과의 attention 가중치를 통해 이루어진다.
여기서 근본적으로 중요한 통찰이 있다.
Attention은 본질적으로 문맥 의존적 표상(Context-dependent representation)을 만드는 메커니즘이다.
같은 단어라도 문맥에 따라 완전히 다른 벡터로 표현된다.
이것이 이전의 정적 임베딩 (Word2Vec 등) 과 결정적으로 다른 지점이다
깊이의 의미 : 레이어를 쌓는다는 것
Transformer 블록을 수십 ~ 수백 개 쌓는다.
각 레이어는 입력 표상을 점진적으로 변환한다.
최근 연구들이 밝혀낸 바에 따르면 초기 레이어는 구문적•표면적 패턴을, 중간 레이어는 의미적 관계를, 후기 레이어는 과제 특화적 (task-specific) 정보를 처리하는 경향이 있다.
하지만 이건 깔끔하게 분리되는게 아니라 분산적이고 중첩적이다.
근본적으로 보면, 깊이(depth)는 추상화의 계층(hierarchy of abstraction)을 의미한다.
원시 토큰에서 출발해서, 레이어를 거칠수록 점점 더 추상적이고 과제에 적합한 표상으로 변환되는 것이다.
학습 : 경사하강법이라는 지형 탐색
수십억 ~ 수조 개의 파라미터가 역전파(backpropagation)와 경사하강법(gradient descent)을 통해 조정된다.
손실 함수는 cross-entropy, 모델이 예측한 확률 분포와 실제 다음 토큰 사이의 괴리를 줄이는 것이 목표.
인터넷 규모의 텍스트 데이터에 대해 이 과정을 반복한다.
여기서 근본적인 미스터리가 있다.
왜 일반화(generalization)가 되는가?
파라미터 수가 학습 데이터보다 많은 과잉매개변수화(overparameterization) 상태임에도 불구하과, 모델은 학습 데이터를 단순 암기하는 것이 아니라 새로운 입력에 대해서도 합리적인 출력을 생성한다.
이중하강(double descent)현상, 손실 지형의 평탄한 최솟값(flat minima)등이 부분적 설명을 제공하지만 완전한 이론적 이해는 아직 없다.
스케일링 법칙 : 양이 질로 전환
Kaplan et al.(2020)과 Chinchilla(2022)가 보여준 것처럼, 모델 크기, 데이터 양, 연산량 사이에 멱법칙(power law) 관계가 존재한다.
그리고 일정 스케일을 넘어서면 작은 모델에서는 전혀 보이지 않던 능력이 갑자기 나타나는데.
창발(emergence) 라고 불리는 것이다..
창발 : 하위 구성 요소들에는 없는 특성이 상호작용을 통해 전체 시스템에서 자발적으로 나타나는 현상.
부분의 합보다 큰 가치를 만드는 ‘떠오름’현상
소수의 예시만으로 새로운 과제를 수행하는 few-shot learning , 연쇄적 추론 (chain-of-though reasoning) 등이 대표적이다.
이게 의미하는 바는 “다음 토큰 예측”이라는 단순한 목표를 충분한 스케일로 최적화하면, 그 부산물로 춪론, 계획 , 세계 모델링 같은 고차원적 능력이 출현한다는 것.
LLM은 무엇을 이해하는가?
이 질문에 대해 두 가지 관점이 충돌한다.
첫째는 확률적 앵무새 (stochastic parrot) 관점.
LLM은 통계적 패턴을 재조합하는 것일 뿐, 진정한 이해나 세계 모델이 없다는 입장.
둘째는 암묵적 세계 모델 (implicit word model)관점.
다음 토큰을 잘 예측하려면 텍스트를 생성한 과정.
즉, 세계 자체에 대한 모델을 내부적으로 구축해야 한다는 입장이다.
Li et ai.(2023)의 Othello 연구처럼 게임 기보만 학습한 모델 내부에서 실제 보드 상태의 표상이 발견된 사례까 이를 뒷받침한다.
현재 연구 커뮤니티의 합의에 가까운 관점은 .
LLM이 “어떤 종류의” 세계 모델을 갖고 있긴 하지만, 그것이 인간의 이해와 동일한 성격인지는 아직 열린 질문이라는 것이다.
마치며..
top-down으로 공부하기 위해서 LLM이 무엇인지, LLM에 대한 근본을 얕게나마 공부했다.
공부를 하면서 드는 생각은 인간 뇌의 구조를 표방해서 만든 인공 신경망 기반의 Transformer 아키텍쳐를 사용하는데 어쩌면 인간의 이해를 간접적으로 연구하고 있는게 아닐까?, 우리 뇌도 비슷한 과정을 거쳐서 학습하고 출력되는게 아닐까? 라는 생각을 했다.
물론, 비행기와 새가 나는 원리가 다르듯 전혀 다를수도 있지만 말이다.