LLM을 이해하기 위해 필요한 수학
The maths you need to start understanding LLMs
TL;DR Highlight
고등학교 수준의 벡터·행렬 수학이 LLM의 추론 과정 전체를 충분히 설명하며 기초 선형대수만으로도 이해 가능함을 단계별로 입증한다.
Who Should Read
LLM이 어떻게 동작하는지 원리부터 이해하고 싶은 백엔드·풀스택 개발자. 특히 딥러닝 전공 없이 AI 내부 구조를 파악하려는 사람에게 적합하다.
Core Mechanics
- LLM의 추론(inference) 과정을 이해하는 데 필요한 수학은 고등학교 수준의 벡터, 행렬 연산이 전부다. 실제 연구나 학습(training)에는 더 깊은 수학이 필요하지만, '어떻게 동작하는지' 이해하는 데는 그 정도로 충분하다.
- 벡터는 단순한 숫자 배열이 아니라 n차원 공간의 방향과 거리를 나타낸다. LLM에서 벡터는 의미(semantics)를 수치로 표현하는 핵심 도구로, 유사한 개념은 벡터 공간에서 가깝게 위치한다.
- 토큰 임베딩(token embedding)은 단어나 서브워드를 수백~수천 차원의 벡터로 변환하는 과정이다. 이 임베딩은 LLM의 입력값이며, 트랜스포머 네트워크의 거대한 연산이 그 뒤를 이어받는다.
- 코사인 유사도(cosine similarity)는 두 벡터 사이의 각도를 측정해서 의미적 유사성을 판단하는 방법이다. RAG에서 사용자 쿼리와 문서를 비교할 때 바로 이 방법을 사용한다.
- LLM의 출력은 logit(각 토큰이 다음에 올 확률의 원시 점수) 벡터다. 이 logit에 softmax를 적용하면 각 값을 지수화(exp)한 뒤 합이 1이 되도록 정규화해서 확률 분포를 만든다.
- softmax는 고등학교에서 배우는 지수함수(exp)를 기반으로 한다. 특정 값을 크게 부각시키는 특성 덕분에 LLM이 다음 토큰을 선택할 때 특정 후보를 강하게 선호하도록 만든다.
- LLM 내부의 연산은 본질적으로 덧셈과 곱셈의 반복이다. 수학 자체는 단순하지만, 왜 1조 개 이상의 파라미터를 가진 네트워크가 그렇게 잘 동작하는지는 아직 완전히 해명되지 않았다.
- 임베딩은 LLM 전체가 아니라 입력 단계에 불과하다. 실제 LLM의 '지능'은 1.8조 개 이상의 파라미터를 가진 트랜스포머 네트워크에서 나오며, 그 내부에서 정확히 무슨 일이 일어나는지는 여전히 블랙박스다.
Evidence
- 물리학 석사 출신 개발자가 '경력 내내 안 쓰던 벡터, 선형대수, 엔트로피 개념이 LLM 공부하면서 다시 살아났다'고 했다. 역전파(backprop)가 텐서 미적분 계산이고, 모든 것이 행렬 곱이라는 점이 물리학 배경과 딱 맞아떨어진다고.
- Karpathy의 LLM 영상 시리즈를 '보기만' 하지 않고 직접 코드를 따라 치며 작업한 것이 이해에 결정적이었다는 경험담이 다수 공유됐다. CPU 동작 원리 정도만 알아도 실무에는 충분하다는 의견도 있었다.
- 댓글에서 제목이 오해를 부른다는 비판이 나왔다. 이 글이 설명하는 건 'LLM이 내부적으로 계산하는 방법'이지, 'LLM이 왜 작동하는지에 대한 수학적 설명'이 아니라는 것. LLM 설명 가능성(explainability) 연구가 그 영역을 담당하며, 아직 미완성이라는 지적이다.
- LLM이 logit을 출력하는 존재라는 점에서 다중 에이전트 체인의 위험성이 언급됐다. 각 LLM 호출마다 불확실성이 누적되기 때문에 3번 체인하면 완전 붕괴가 일어나는 경우도 봤다는 실사용 경험이 공유됐고, 이를 막기 위해 단일 오케스트레이터 + human-in-the-loop 패턴을 권장한다는 의견이 있었다.
- Google에서 이 분야 초기 수학을 개발했다고 주장하는 댓글이 화제였다. 언어 벡터 너머의 행동 예측, UI 결정 예측 등을 연구했으나 attention layer 없이는 한계가 있었고, Sundar Pichai 체제에서 팀 전체가 해고됐다는 내부 스토리를 공유해 많은 반응을 얻었다.
How to Apply
- RAG 시스템을 구축 중이라면 이 글의 코사인 유사도 설명을 바탕으로 임베딩 벡터 간 거리 계산 로직을 직접 구현해보자. 문서 청크를 임베딩하고, 쿼리 벡터와의 코사인 유사도로 상위 N개를 뽑은 뒤 reranking을 적용하는 것이 기본 패턴이다.
- 다중 LLM 에이전트를 체인으로 연결하는 아키텍처를 설계할 때, 호출 횟수를 최소화하고 단일 오케스트레이터가 모든 판단을 내리도록 구성하라. 각 호출마다 불확실성이 누적되므로 3회 이상 체인은 신중하게 검토해야 한다.
- LLM 내부 수학을 더 깊이 공부하려면 Karpathy의 유튜브 시리즈를 단순 시청이 아니라 코드를 직접 실행하면서 따라가고, Sebastian Raschka의 'Build a Large Language Model (from Scratch)' 책으로 보완하는 것이 효과적이다.
- 선형대수 기초부터 체계적으로 잡고 싶다면 Deeplearning.AI의 'Mathematics for Machine Learning and Data Science Specialization' 강좌(Coursera, 월 $50)와 'Math and Architectures of Deep Learning' 책을 병행하면 좋다.
Terminology
관련 논문
Airbyte Agents – 여러 데이터 소스를 아우르는 Agent용 Context Layer
Airbyte가 Slack, Salesforce, Linear 등 여러 SaaS 시스템의 데이터를 미리 인덱싱해서 Agent가 API를 일일이 뒤지지 않아도 되는 Context Store를 출시했다. 기존 MCP 방식보다 토큰을 최대 90%까지 줄이는 효과를 확인했다.
Polynomial Autoencoder가 Transformer Embedding에서 PCA를 능가하는 방법
PCA 인코더에 2차 다항식 디코더를 붙여서 닫힌 형태(closed-form)로 embedding 압축 품질을 크게 개선하는 기법으로, SGD 없이 numpy만으로 구현 가능하다.
비정형 Recall에서 Schema 기반 Memory로: 반복적 Schema-Aware Extraction을 통한 신뢰할 수 있는 AI Memory
RAG 스타일 텍스트 검색 대신 Schema로 정의된 구조화 레코드에 메모리를 저장하면, 정확한 사실 조회·상태 추적·집계 쿼리에서 압도적으로 높은 정확도를 얻을 수 있다.
Atomic – Local-first, AI 기반 개인 지식 그래프 앱
노트, 웹 클립, RSS 피드를 자동으로 임베딩·태깅·연결해주는 오픈소스 개인 지식 그래프 앱으로, 시맨틱 검색과 LLM 기반 위키 합성, MCP 통합까지 지원한다.
RAG 대신 Virtual Filesystem으로 AI 문서 어시스턴트 만든 이야기
Mintlify의 ChromaFs(Chroma DB 위의 UNIX 명령어 흉내 가상 파일시스템)가 RAG 청킹 한계를 극복해 세션 부팅 시간을 46초에서 100ms로 단축한다.
Chroma Context-1: Self-Editing 기능을 갖춘 검색 에이전트 학습 방법
Chroma의 20B 파라미터 agentic search 모델이 프론티어급 LLM 수준의 검색 성능을 1/10의 비용과 10배 빠른 속도로 달성한다.
Related Resources
- https://www.gilesthomas.com/2025/09/maths-for-llms
- https://www.youtube.com/watch?v=7xTGNNLPyMI
- https://www.manning.com/books/build-a-large-language-model-from-scratch
- https://github.com/stared/thinking-in-tensors-writing-in-pytorch
- https://www.coursera.org/specializations/mathematics-for-machine-learning-and-data-science
- https://www.manning.com/books/math-and-architectures-of-deep-learning
- https://www.manning.com/books/deep-learning-with-python
- http://wordvec.colorado.edu/website_how_to.html