Loading the catalog…
Loading the catalog…
LLM Under the Hood 입문자에서 LLM Engineer까지 LLM이라는 Black Box의 Hood를 열어 핵심 기술을 하나씩 이해하고, 마지막에는 다시 하나의 시스템으로 조립해 보는 과정. Series Roadmap 00. LLM은 어떻게 동작할까? 완성된 LLM의 구조를 먼저 살펴보고, 앞으로 공부할 기술들이 어디에 위치하는지 파악한다. Language Model → Next Token Prediction → Token → Embedding → Transformer → Generation 01. 모델의 연산을 이해하기 — Vector & NumPy Embedding과 Attention을 이해하기 위해 필요한 최소한의 수치 연산을 다룬다. Vector · Matrix · Tensor · NumPy · Dot Product · Cosine Similarity · Softmax 02. Text에서 Vector까지 — Tokenization & Embedding 입력된 텍스트가 모델이 처리할 수 있는 형태로 변환되는 과정을 살펴본다. Tokenization · Subword / BPE · Token ID · Word2Vec · Token Embedding · Positional Encoding 03. 문맥과 관계를 계산하기 — Attention & Transformer Token 사이의 관계와 문맥 정보를 모델링하는 핵심 구조를 이해한다. RNN → Attention → Q·K·V → Self-Attention → Multi-Head Attention → Transformer → GPT 04. Transformer에서 LLM으로 — Training & Inference Transformer가 대규모 데이터에서 학습되고 실제 출력을 생성하는 과정을 연결한다. Next Token Prediction · Pre-training · Loss · Instruction Tuning · Logits · Probability · Temperature · Top-k / Top-p 05. 모델의 한계를 외부 정보로 보완하기 — RAG 모델 내부의 지식만으로 해결하기 어려운 문제를 Retrieval과 결합하는 방법을 살펴본다. Chunking → Embedding → Vector DB → Similarity Search → Retrieval → LLM 06. LLM을 시스템으로 — Tool Calling & Agent LLM을 API, Database, Search 등의 외부 도구와 연결해 실제 작업을 수행하는 시스템으로 확장한다. Prompt · Function Calling · Tool Use · API / DB · Agent · Workflow 07. Final — 다시 조립하기 지금까지 살펴본 기술을 하나의 Pipeline으로 연결하여 LLM Application을 구현한다. Vector ↓ Tokenization ↓ Embedding ↓ Attention ↓ Transformer ↓ LLM ↓ RAG / Tool Calling ↓ LLM Application Why LLM Under the Hood? 내가 LLM에 깊이 관심을 갖게 된 계기는 단순히 생성형 AI라는 새로운 기술의 등장 때문만은 아니었다. 언어학과 언어인지과학을 공부해 온 배경에서 언어모델을 접하면서 한 가지 질문이 생겼다. “내가 가지고 있는 관점과 인사이트가 언어모델의 고도화에 기여할 수 있는 지점이 있지 않을까?” 그리고 나와 같은 배경을 가진 사람이 모델을 단순히 활용하는 것을 넘어 모델 자체를 이해하고 기술적인 문제까지 다룰 수 있다면 , 이 분야에서 분명히 할 수 있는 역할이 있을 것이라고 생각했다. 그 생각이 내가 AI와 NLP를 더 깊게 공부하기 시작한 출발점이었다. 하지만 기존에 가지고 있던 지식을 실제 모델의 문제와 연결하려면 또 다른 영역을 이해해야 했다. 모델이 입력을 어떤 단위로 받아들이는지, 정보가 어떤 형태로 표현되는지, Transformer 내부에서는 어떤 연산이 이루어지는지, 학습된 모델이 어떤 과정을 거쳐 결과를 만들어내는지. 모델의 결과를 관찰하는 것에서 그치는 것이 아니라 그 결과가 만들어지는 과정까지 이해할 필요가 있었다. 그래서 기술 스택을 공부하기 시작했다. NumPy 와 Vector 에서 시작해 Embedding , Attention , Transformer 를 지나 RAG , Tool Calling , Agent 까지. 처음에는 서로 다른 기술처럼 보였던 개념들이 하나씩 연결되기 시작했고, 그 연결 구조 자체가 LLM을 이해하는 하나의 지도가 되었다. 이 시리즈는 그 과정을 정리한 기록이다. 무엇을 많이 아는 것보다, 연결해서 이해하기 LLM을 공부하기 시작하면 굉장히 빠르게 수많은 기술을 만나게 된다. NumPy, Word2Vec, RNN, LSTM, Attention, Transformer, BERT, GPT, Fine-tuning, LoRA, Vector DB, RAG, Agent... 모두 중요한 기술이다. 하지만 이 시리즈에서 이 모든 기술을 하나씩 깊게 다루지는 않는다. AI나 컴퓨터공학 전반을 훑는 것이 목적이 아니기 때문이다. 이 시리즈의 기준은 하나다. “이 개념을 모르고 넘어가면 LLM의 동작과 이후 기술의 연결을 이해하기 어려운가?” 필요하다면 직접 다룬다. 그렇지 않다면 전체 흐름을 이해하는 데 필요한 정도에서만 언급한다. 예를 들어 RNN은 Transformer가 등장하게 된 배경을 이해하기 위해 살펴보지만, RNN·LSTM·GRU를 각각 깊게 구현하지는 않는다. Word2Vec 역시 Embedding이라는 중요한 전환점을 이해하기 위해 다루지만, 모든 전통적인 Embedding 알고리즘을 비교하는 것이 목표는 아니다. 많은 기술을 아는 것보다 중요한 기술들이 왜 필요했고, 어떻게 연결되어 지금의 LLM까지 이어졌는지를 이해하는 것. 그것이 이 시리즈에서 정한 범위다. Language → Number → Context → Generation 이 시리즈를 관통하는 하나의 흐름이다. LLM이 만들어내는 결과만 보면 매우 복잡한 시스템처럼 보이지만, Hood를 열어보면 몇 가지 중요한 변환 과정을 발견할 수 있다. 가장 먼저 입력을 모델이 처리할 수 있는 계산 가능한 형태 로 표현해야 한다. Language ↓ Tokenization ↓ Token ↓ Embedding ↓ Vector 여기서 첫 번째 질문이 생긴다. 의미와 정보를 숫자로 표현한다는 것은 무엇일까? 이를 이해하기 위해 Vector, Embedding, Similarity와 같은 개념이 필요해진다. 하지만 각각의 Token을 Vector로 표현하는 것만으로는 충분하지 않다. 같은 Token이라도 주변 정보에 따라 의미와 역할이 달라질 수 있고, 하나의 입력 안에서도 각 Token은 서로 다른 관계를 가진다. 그래서 다음 단계는 Context 다. Vector ↓ Token 간 관계 ↓ Attention ↓ Contextual Representation ↓ Transformer Attention을 통해 각각의 Token이 다른 Token과 어떤 관계를 가지는지 계산하고, Transformer는 이러한 연산을 반복하며 입력의 문맥적 표현을 구성한다. 그리고 학습된 모델은 지금까지 주어진 Context를 바탕으로 다음 Token에 대한 확률을 계산한다. Context ↓ Transformer ↓ Logits ↓ Probability ↓ Next Token ↓ Generation 결국 이 시리즈에서 따라가려는 핵심 흐름은 다음과 같다. Language ↓ Number ↓ Context ↓ Generation 그리고 이 네 단계 사이를 연결하는 것이 Tokenization → Vector → Embedding → Attention → Transformer → Next Token Prediction 이다. 처음에는 각각 독립된 기술처럼 보이지만, 이 흐름 안에서 바라보면 왜 앞의 개념을 알아야 다음 개념을 이해할 수 있는지 가 보이기 시작한다. 기술을 하나씩 외우지 않고 연결해서 보기 각 기술은 독립된 챕터처럼 보이지만 실제로는 계속해서 다음 단계와 연결된다. 예를 들어 Dot Product 는 단순한 수학 개념으로 끝나지 않는다. Vector ↓ Dot Product ↓ Attention Score ↓ Self-Attention ↓ Transformer ↓ LLM Cosine Similarity 역시 앞에서 한 번 배우고 끝나는 개념이 아니다. Embedding ↓ Vector ↓ Cosine Similarity ↓ Similarity Search ↓ Vector DB ↓ RAG 앞에서 배운 개념이 몇 편 뒤 전혀 다른 기술 안에서 다시 등장한다. 그때 “그래서 이걸 배웠구나.” 라고 연결되는 순간을 만드는 것이 이 시리즈에서 중요하게 생각하는 부분이다. 기술을 개별적인 지식으로 쌓는 것이 아니라, 하나의 시스템 안에서 서로 연결된 구조로 이해하는 것 이 목표다. Why → How → Code → LLM 각 기술은 가능한 한 동일한 흐름으로 정리한다. 1. Why — 왜 필요한가? 기술의 정의부터 시작하지 않는다. 먼저 어떤 문제를 해결하기 위해 등장했는지 를 살펴본다. 기존 접근 ↓ 한계 ↓ 새로운 문제 ↓ 기술의 등장 Transformer란 무엇인가? 보다 먼저, “기존 방식에는 어떤 문제가 있었기에 Transformer가 필요했을까?” 를 묻는 방식이다. 2. How — 어떻게 동작하는가? 그다음 핵심적인 구조와 연산을 이해한다. 필요하다면 수식도 사용한다. 다만 수식을 암기하거나 수학 자체를 깊게 파고드는 것이 목적은 아니다. 이 연산이 모델 내부에서 무엇을 계산하고 있는가? 를 이해할 수 있는 수준까지 다루려고 한다. 3. Code — 직접 확인한다 개념을 이해했다면 Python으로 직접 확인한다. 완성된 라이브러리를 호출하고 결과만 확인하는 데서 끝내지 않고, 필요한 경우 핵심 연산을 직접 구현한다. 예를 들어 Cosine Similarity를 배운다면, Vector ↓ Dot Product ↓ Magnitude ↓ Cosine Similarity 가 실제 코드에서는 어떻게 계산되는지 확인한다. Attention 역시 가능하다면 완성된 Transformer 모델을 호출하기 전에 핵심 연산을 직접 구현해 본다. 조금씩 Black Box의 범위를 줄여가는 과정이다. 4. LLM — 그래서 어디에 쓰일까? 마지막에는 항상 같은 질문을 던진다. 그래서 이 기술은 LLM의 어디에서, 왜 사용되는가? Why ↓ How ↓ Code ↓ LLM 개별 기술을 공부하고 다시 전체 구조로 돌아오는 과정을 반복하면서, 하나씩 LLM의 내부를 채워나간다. Why "Under the Hood"? 자동차를 운전하기 위해 엔진의 모든 부품을 알아야 하는 것은 아니다. LLM도 비슷하다. LLM을 활용하기 위해 모델 내부의 모든 원리를 알아야 하는 것은 아니다. API와 Framework를 이용하면 내부 구조를 모두 이해하지 않아도 충분히 복잡한 Application을 만들 수 있다. 하지만 Hood를 한 번 열어보면 이야기가 조금 달라진다. 내가 원하는 것은 LLM을 사용할 수 있는 것에서 한 단계 더 나아가는 것 이다. 예를 들어, "Embedding을 생성한다." → 무엇이 Vector에 표현되는가? "유사한 문서를 검색한다." → '유사하다'는 것은 어떻게 계산되는가? "Attention이 문맥을 반영한다." → 어떤 연산을 통해 관계가 만들어지는가? "LLM이 다음 Token을 예측한다." → 하나의 Token은 어떤 과정으로 선택되는가? "모델이 특정 상황에서 반복적으로 오류를 만든다." → 그 결과를 데이터나 모델의 구조와 연결해서 설명할 수 있을까? 특히 마지막 질문까지 가기 위해서는 Hood를 열어볼 필요가 있다고 생각했다. 모든 부품을 분해하는 것이 목적은 아니다. 모델의 동작과 결과를 보았을 때, 그 현상을 내부 구조와 연결해 생각할 수 있을 정도까지. 이 시리즈에서 말하는 Under the Hood 는 그 정도의 깊이를 의미한다. From Language to LLM Engineering 내가 가지고 있던 전공적 배경은 이 분야에 관심을 갖게 된 중요한 출발점이었다. 하지만 그것만으로 모델의 개선을 이야기할 수 있다고 생각하지는 않았다. 어떤 현상에서 문제를 발견하고 그에 대한 인사이트를 가지고 있더라도, 그것을 실제 AI의 문제와 연결하는 순간부터는 기술적인 이해가 필요하다. 모델의 오류를 발견했다면 그것이 데이터의 문제인지, 표현의 문제인지, Context 처리의 문제인지, Retrieval의 문제인지, 혹은 모델 자체의 특성인지 구분할 수 있어야 한다. 개선 아이디어가 있다면 가설로 끝내지 않고 실험 가능한 형태로 구현하고 결과로 검증할 수 있어야 한다. 그래서 내가 공부해야 할 범위도 자연스럽게 넓어졌다. Domain Insight │ ▼ Problem Definition │ ▼ NLP / ML │ ▼ Transformer / LLM │ ▼ Implementation │ ▼ Experiment & Evaluation │ ▼ LLM Engineering 나에게 기술 스택을 공부하는 과정은 기존에 공부해 온 영역을 버리고 전혀 다른 분야로 이동하는 것이라기보다, 내가 가지고 있던 관점을 실제 모델의 문제와 연결할 수 있도록 새로운 도구를 갖추는 과정 에 가깝다. 내가 처음 이 분야에 더 깊이 들어가야겠다고 생각했던 이유 역시 여기에 있다. 내가 가진 인사이트가 모델의 고도화에 기여할 수 있다면? 그 가능성을 이야기하기 위해서는 먼저 모델을 이해해야 했다. 그리고 단순히 개념적으로 이해하는 것을 넘어, 직접 구현하고 실험하고 검증할 수 있어야 했다. 그래서 Vector 와 Matrix 를 공부하고, Embedding 을 공부하고, Attention 과 Transformer 의 내부를 들여다보기 시작했다. 이 시리즈는 그 과정에서 쌓아가는 기술적 이해를 하나씩 기록하는 공간이기도 하다. Final — 다시 조립하기 시리즈의 시작에서는 LLM을 하나의 완성된 시스템으로 바라본다. User │ ▼ ┌───────────────┐ │ LLM │ └───────────────┘ │ ▼ Answer 그리고 하나씩 Hood를 열어본다. LLM │ ├── Tokenization ├── Embedding ├── Attention ├── Transformer └── Next Token Prediction 각각의 부품을 이해한 뒤에는 다시 실제 Application으로 확장한다. User │ ▼ LLM │ ┌───────┴───────┐ │ │ ▼ ▼ RAG Tool Calling │ │ Embedding API / DB │ │ Vector DB │ │ │ └───────┬───────┘ ▼ LLM │ ▼ Answer 처음에는 각각 별개의 기술처럼 보였던 Vector, Tokenization, Embedding, Attention, Transformer, RAG, Tool Calling 이 마지막에는 하나의 시스템 안에서 연결되어 보이는 것. 그리고 단순히 구조를 이해하는 데서 끝나지 않고 직접 하나의 LLM Application으로 구현해 보는 것. 그것이 이 시리즈의 첫 번째 도착점이다. 하지만 궁극적으로 만들고 싶은 역량은 조금 더 그 너머에 있다. 모델의 결과를 단순히 “잘 된다 / 잘 안 된다” 로 판단하는 데서 끝나지 않고, 문제 발견 ↓ 원인 분석 ↓ 가설 설정 ↓ 구현 ↓ 실험 ↓ 평가 ↓ 개선 의 과정으로 가져갈 수 있는 것. 내가 기존에 가지고 있던 관점과 새롭게 쌓아가는 기술적 이해를 함께 활용해 모델의 문제를 발견하고, 개선 가능성을 실제로 검증할 수 있는 것. 그것이 내가 LLM을 공부하고 기술 스택까지 확장하게 된 이유이자, 이 시리즈를 시작한 이유다. 이 시리즈가 도착하려는 곳 이 시리즈를 끝낸다고 해서 LLM의 모든 것을 알게 되는 것은 아니다. 오히려 앞으로 무엇을 더 공부해야 하는지 판단할 수 있는 하나의 지도 를 만드는 것이 목표에 가깝다. 처음 보는 기술을 만났을 때 단순히 사용법을 외우는 것이 아니라, 이 기술은 어떤 문제를 해결하기 위해 등장했을까? 기존 방식에는 어떤 한계가 있었을까? LLM Pipeline의 어디에 위치할까? 앞에서 공부했던 어떤 개념과 연결될까? 실제 모델의 문제를 해결하는 데 어떻게 활용할 수 있을까? 를 스스로 질문할 수 있는 기반을 만들고 싶다. 익숙한 영역에서 발견한 질문을 AI의 문제로 확장하고, 그 질문을 직접 다룰 수 있기 위해 기술을 공부한다. LLM을 사용하는 것에서, 이해하는 것으로. 이해하는 것에서, 문제를 발견하고 개선하는 것으로. LLM Under the Hood.
What RADAR observed and classified to build this opportunity. It is what the source published, not a verification that the offer is still active.
[LLM.zip | 압축 해제 ] README. LLM Under the Hood 입문자에서 LLM Engineer까지 LLM이라는 Black Box의 Hood를 열어 핵심 기술을 하나씩 이해하고, 마지막에는 다시 하나의 시스템으로 조립해 보는 과정. Series Roadmap 00. LLM은 어떻게 동작할까? 완성된 LLM의 구조를 먼저 살펴보고, 앞으로 공부할 기술들이 어디에 위치하는지 파악한다. Language Model → Next Token Prediction → Token → Embedding → Transformer → Generation 01. 모델의 연산을 이해하기 — Vector & NumPy Embedding과 Attention을 이해하기 위해 필요한 최소한의 수치 연산을 다룬다.…
Open source