docs(wiki): P-Reinforce v3.0 wikification of Attention, KV Cache, and RAG clusters

This commit is contained in:
Antigravity Agent
2026-05-04 13:23:57 +09:00
parent 8fd43be9bb
commit 772d3e11e0
12 changed files with 418 additions and 3 deletions
+38
View File
@@ -0,0 +1,38 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-ARAG-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, agentic-rag, autonomous-agent, multi-step-retrieval, reasoning-loop]
last_reinforced: 2026-05-04
---
# [[Agentic RAG|Agentic RAG]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "생각하는 검색: 단순히 질문에 답하는 것을 넘어, 에이전트가 스스로 쿼리를 분해하고, 검색 결과가 충분한지 판단하며, 필요하다면 다시 검색하거나 도구를 사용하는 자율적인 지식 탐구 루프."
## 📖 구조화된 지식 (Synthesized Content)
Agentic RAG는 전통적인 일회성 RAG 파이프라인에 에이전트의 추론(Reasoning) 능력을 결합한 고도화된 아키텍처입니다.
1. **핵심 차이점**:
* **Naive RAG**: 질문 $\rightarrow$ 검색 $\rightarrow$ 답변 (선형적).
* **Agentic RAG**: 질문 $\rightarrow$ 전략 수립 $\rightarrow$ 검색 $\rightarrow$ 평가 $\rightarrow$ (부족하면) 재전략/재검색 $\rightarrow$ 최종 답변 (순환적).
2. **주요 메커니즘**:
* **Query Decomposition**: 복잡한 질문을 여러 개의 하위 질문으로 나누어 각각 검색합니다.
* **Self-Correction**: 검색된 결과가 질문과 관련이 없거나 상충될 경우, 에이전트가 이를 감지하고 검색어(Query)를 수정하여 다시 시도합니다.
* **Tool Use**: 벡터 DB뿐만 아니라 웹 검색, SQL 실행, 계산기 등 다양한 도구를 상황에 맞게 선택하여 활용합니다.
3. **해결하는 문제**:
* **[[Lost in the middle|Lost in the middle]]**: 방대한 컨텍스트를 한꺼번에 주입하는 대신, 가장 강력한 증거만 선별하여 전략적으로 배치함으로써 모델의 인지 부하를 줄입니다.
* **Loud Failure**: 검색이 실패했을 때 모르는 것을 명확히 인지하고 사용자에게 다시 묻거나 대안을 제시할 수 있습니다.
## ⚖️ Trade-offs & Caveats
* **높은 비용 및 지연**: 여러 번의 LLM 호출과 반복적인 검색 루프를 거치므로 단발성 RAG보다 응답 속도가 느리고 비용이 많이 발생합니다.
* **루프 탈출 문제**: 에이전트가 답을 찾지 못하고 무한 루프에 빠지거나 엉뚱한 방향으로 파고들 위험이 있어, 명확한 종료 조건과 가드레일 설계가 필수적입니다.
## 🔗 지식 연결 (Graph)
* **기반 기술**: [[Retrieval-Augmented Generation (RAG)|Retrieval-Augmented Generation (RAG)]], [[Autonomous Agents|Autonomous Agents]]
* **연관 기술**: [[Re-ranking|Re-ranking]], [[Chain-of-Thought (CoT)|Chain-of-Thought (CoT)]], [[Model Context Protocol (MCP)|MCP]]
* **해결 현상**: [[Lost in the middle|Lost in the middle]]
---
*Last updated: 2026-05-04*
@@ -24,11 +24,17 @@ last_reinforced: 2026-04-20
3. **의의**:
* 순차적으로 데이터를 처리하던 과거 기술(RNN)의 한계를 극복하고, 장거리 의존성(Long-range dependency)을 완벽히 해결하여 ChatGPT와 같은 거대 모델의 시대를 엶.
2. **주요 변형 및 최적화**:
* **[[Flash Attention|Flash Attention]]**: 메모리 대역폭 문제를 해결하여 속도를 2~4배 높인 하드웨어 인식 최적화.
* **[[Grouped-Query Attention (GQA)|Grouped-Query Attention (GQA)]]**: MHA의 성능과 MQA의 효율성을 절충한 현대 LLM의 표준.
* **[[Sparse Attention|Sparse Attention]]**: 특정 토큰만 선택적으로 참조하여 복잡도를 $O(n^2)$에서 $O(n)$으로 축소.
* **[[Ring Attention|Ring Attention]]**: 다중 장치 분산 처리를 통해 백만 단위 이상의 초장기 컨텍스트 실현.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌**: 과거에는 모든 데이터를 골고루 보거나 순서대로 보는 것이 정확하다고 믿었으나, 현대 딥러닝 정책은 필요한 것만 골라 보는 'Attention 효율화 정책'이 지능의 성능을 결정한다는 정책적 승리를 거둠(RL Update).
- **정책 변화(RL Update)**: 연산 비용 최적화 정책을 위해, 무거운 Full-attention 대신 연산량을 줄인 'Flash Attention'이나 'Linear Attention' 정책이 소형 모델 및 엣지 장치용 AI 정책의 핵심 기술로 채택됨.
- **정책 변화(RL Update)**: 단순히 연산량만 줄이는 것을 넘어, 메모리 계층 구조를 이해하고(Flash) 토큰 관계의 희소성을 이용하는(Sparse/GQA) 하이브리드 어텐션 정책이 2026년 이후의 표준으로 자리 잡음.
## 🔗 지식 연결 (Graph)
- [[Transformers|Transformers]], Deep Learning, Natural Language [[Processing|Processing]] (NLP), Information-Overload, Economics of Attention
- **Modern Tech/Tools**: Multi-head Attention, FlashAttention, GPT, [[BERT|BERT]].
- [[Transformers|Transformers]], [[Deep Learning|Deep Learning]], [[Natural Language Processing (NLP)|Natural Language Processing (NLP)]], [[LLM Inference Optimization|LLM Inference Optimization]]
- **Specific Technologies**: [[Multi-Head Attention (MHA)|MHA]], [[Grouped-Query Attention (GQA)|GQA]], [[Flash Attention|Flash Attention]], [[Ring Attention|Ring Attention]], [[Sparse Attention|Sparse Attention]].
---
@@ -0,0 +1,36 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-FLAT-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, flash-attention, attention-optimization, transformer, gpu-optimization, llm-inference]
last_reinforced: 2026-05-04
---
# [[Flash Attention|Flash Attention]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "메모리 병목의 해방군: 어텐션의 수학적 원리는 유지하면서, GPU의 SRAM과 HBM 사이의 데이터 이동을 타일링 기법으로 최적화하여 2~4배의 속도 향상과 극적인 메모리 절감을 동시에 달성한 하드웨어 인식 최적화의 정점."
## 📖 구조화된 지식 (Synthesized Content)
FlashAttention은 대규모 언어 모델(LLM)의 컨텍스트 윈도우 확장 시 발생하는 어텐션 메커니즘의 계산 및 메모리 병목 현상을 해결하기 위한 하드웨어 인식(Hardware-aware) 최적화 기법입니다.
1. **핵심 작동 원리**:
* **Tiling (타일링)**: 거대한 어텐션 행렬을 작은 블록(타일) 단위로 나누어, 속도가 빠른 GPU 온칩 SRAM에서 연산을 수행함으로써 느린 HBM(고대역폭 메모리)으로의 접근 횟수를 최소화합니다.
* **Recomputation (재계산)**: 메모리에 거대한 중간 행렬을 저장하는 대신, 역전파(Backpropagation) 시 필요한 값을 필요할 때마다 다시 계산하는 방식을 택해 메모리 복잡도를 $O(n^2)$에서 $O(n)$으로 낮춥니다.
2. **주요 성과**:
* **정확도 유지**: 근본적인 연산 복잡도($O(n^2d)$)는 동일하게 유지하면서도, 실제 연산 속도를 2~4배 향상시킵니다.
* **컨텍스트 확장**: 메모리 효율성을 극대화하여 기존에는 불가능했던 수십만 토큰 이상의 긴 문맥 처리를 가능하게 합니다.
3. **버전 진화**:
* **FlashAttention-2**: 연산 순서 최적화와 작업 분할(Work Partitioning)을 통해 병렬성을 더욱 높여, FP16 기준 이론적 최대 성능의 70% 이상을 달성했습니다.
## ⚖️ Trade-offs & Caveats
* **연산량 자체의 한계**: 메모리 대역폭 문제는 해결하지만, 시퀀스 길이에 따른 연산량 증가($O(n^2)$) 자체를 선형으로 바꾸는 것은 아닙니다. 따라서 백만 토큰 이상의 초장기 시퀀스에서는 여전히 상당한 계산 비용이 발생합니다.
* **분산 처리 시의 상충**: Ring Attention과 같은 컨텍스트 병렬성 기술과 결합할 때, 세분화된 FlashAttention 처리가 통신 오버헤드로 인해 효율성 저하(Efficiency Penalties)를 초래할 수 있습니다. 이를 해결하기 위해 USP(Unified Sequence Parallelism)와 같은 하이브리드 접근법이 필요합니다.
## 🔗 지식 연결 (Graph)
* **상위 개념**: [[Attention Mechanisms|Attention Mechanisms]], [[LLM Inference Optimization|LLM Inference Optimization]]
* **하위/연관 기술**: [[KV Cache|KV Cache]], [[Ring Attention|Ring Attention]], [[Sparse Attention|Sparse Attention]], [[PagedAttention|PagedAttention]]
* **프로젝트 적용**: 초대형 컨텍스트 지원 RAG 엔진, 에이전트 자율 분석 루프
---
*Last updated: 2026-05-04*
+37
View File
@@ -0,0 +1,37 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-GRAG-001
category: Unified
confidence_score: 0.95
tags: [auto-reinforced, graphrag, knowledge-graph, relational-reasoning, structured-knowledge]
last_reinforced: 2026-05-04
---
# [[GraphRAG|GraphRAG]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "관계의 그물망: 파편화된 문서 조각(Chunk)을 넘어, 정보 간의 논리적 연결 고리를 노드와 엣지로 구조화함으로써 복잡한 인과 관계와 전체 맥락을 꿰뚫는 고차원적 검색 증강 기술."
## 📖 구조화된 지식 (Synthesized Content)
GraphRAG는 정보를 노드(Node)와 엣지(Edge) 형태의 지식 그래프(Knowledge Graph)로 구성하여 검색 성능을 높이는 RAG의 진화된 형태입니다.
1. **핵심 차이점**:
* **전통적 RAG**: 텍스트를 단순한 조각(Chunk)으로 나누어 벡터 공간에 배치 $\rightarrow$ 정보 간의 맥락적 연결이 끊어질 위험이 큼.
* **GraphRAG**: 엔티티(Entity) 간의 관계를 명시적으로 정의 $\rightarrow$ "A가 B의 원인이다"와 같은 구조적 지식을 보존.
2. **주요 이점**:
* **관계적 추론 (Relational Reasoning)**: 단순 키워드 매칭으로는 찾기 힘든 데이터 간의 잠재적 연관성을 효과적으로 탐색합니다.
* **전체론적 요약**: 특정 조각이 아닌 전체 그래프를 탐색하여 문서 집합 전체에 대한 고수준의 통찰을 제공할 수 있습니다.
* **IBM의 평가**: 기존 RAG가 가진 관계적 추론의 한계를 극복하는 가장 효과적인 대안 중 하나로 꼽힙니다.
3. **작동 원리**:
* LLM을 사용하여 비정형 텍스트에서 엔티티와 관계를 추출하고 그래프 DB(예: Neo4j)를 구축합니다.
* 질문이 들어오면 그래프 탐색(Graph Traversal)을 통해 관련 노드와 엣지를 수집하여 답변 생성에 활용합니다.
## ⚖️ Trade-offs & Caveats
* **높은 전처리 비용**: 텍스트에서 그래프를 추출하고 구축하는 과정에서 LLM 토큰 비용과 시간이 Naive RAG보다 월등히 많이 소요됩니다.
* **그래프 유지보수**: 새로운 데이터가 추가될 때 기존 그래프와의 무결성을 유지하며 업데이트하는 과정이 복잡합니다.
## 🔗 지식 연결 (Graph)
* **상위 개념**: [[Retrieval-Augmented Generation (RAG)|Retrieval-Augmented Generation (RAG)]], [[Knowledge Graph|Knowledge Graph]]
* **연관 기술**: [[Entity Extraction|Entity Extraction]], [[Vector Database|Vector Database]], [[Reasoning Chains|Reasoning Chains]]
---
*Last updated: 2026-05-04*
@@ -0,0 +1,37 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-GQAM-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, grouped-query-attention, gqa, transformer, mha, mqa, llm-efficiency]
last_reinforced: 2026-05-04
---
# [[Grouped-Query Attention (GQA)|Grouped-Query Attention (GQA)]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "효율과 성능의 황금비율: 모든 헤드가 각자의 Key-Value를 갖는 MHA의 무거운 비용과, 하나의 KV만 공유하는 MQA의 성능 저하 사이에서 '그룹화된 KV 공유'라는 영리한 절충안을 통해 추론 속도와 품질을 동시에 잡은 현대 LLM의 표준."
## 📖 구조화된 지식 (Synthesized Content)
Grouped-Query Attention(GQA)은 트랜스포머 아키텍처에서 KV 캐시(Key-Value Cache)의 메모리 사용량을 줄여 추론 효율성을 극대화하면서도, 모델의 표현력을 보존하기 위해 설계된 어텐션 변형 기법입니다.
1. **등장 배경**:
* **MHA (Multi-Head Attention)**: 모든 Query 헤드가 각자의 Key/Value 헤드를 가짐 $\rightarrow$ 뛰어난 성능, 그러나 KV 캐시가 너무 커짐.
* **MQA (Multi-Query Attention)**: 모든 Query 헤드가 단 하나의 Key/Value 헤드를 공유 $\rightarrow$ 매우 빠르지만 성능(품질) 저하 발생.
2. **핵심 메커니즘**:
* **그룹화 (Grouping)**: 여러 개의 Query 헤드를 하나의 그룹으로 묶고, 각 그룹마다 하나의 Key/Value 헤드를 할당합니다.
* **절충 (Trade-off)**: MHA보다는 메모리 사용량이 적고, MQA보다는 정보 보존 능력이 뛰어난 '중간 지점'을 선택합니다.
3. **의의**:
* Llama 2/3, Mistral 등 최신 오픈소스 SOTA 모델들이 채택하고 있는 표준 기술입니다.
* 특히 긴 문맥(Long-context) 처리 시 KV 캐시가 차지하는 VRAM 비중을 획기적으로 낮춰주어, 동일 하드웨어에서 더 큰 배치 사이즈나 더 긴 문장을 처리할 수 있게 합니다.
## ⚖️ Trade-offs & Caveats
* **성능/효율 비례**: 그룹 수($G$)를 늘릴수록 MHA에 가까워지며 성능은 좋아지지만 KV 캐시가 커지고, 줄일수록 MQA에 가까워지며 효율은 좋아지지만 품질이 떨어집니다.
* **모델 아키텍처 고정**: 학습 시에 그룹 구조를 결정해야 하므로, 기존 MHA 모델을 추론 시에만 GQA로 전환하는 것은 불가능하며 추가적인 업사이클링(Upcycling) 학습이 필요합니다.
## 🔗 지식 연결 (Graph)
* **상위 개념**: [[Attention Mechanisms|Attention Mechanisms]], [[LLM Inference Optimization|LLM Inference Optimization]]
* **대조 기술**: [[Multi-Head Attention (MHA)|Multi-Head Attention (MHA)]], [[Multi-Query Attention (MQA)|Multi-Query Attention (MQA)]]
* **연관 기술**: [[KV Cache|KV Cache]], [[PagedAttention|PagedAttention]], [[Flash Attention|Flash Attention]]
---
*Last updated: 2026-05-04*
@@ -0,0 +1,36 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-KVCP-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, kv-cache-compression, attention-optimization, thin-kv, eviction-policy]
last_reinforced: 2026-05-04
---
# [[KV Cache Compression|KV Cache Compression]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "기억의 다이어트: 모든 정보를 무작정 들고 있는 대신, 맥락에 덜 중요한 토큰을 선별적으로 삭제하거나 압축함으로써 한정된 VRAM 안에서 무한에 가까운 문맥을 수용하려는 고도의 최적화 전략."
## 📖 구조화된 지식 (Synthesized Content)
KV 캐시 압축(KV Cache Compression)은 메모리 사용량을 줄여 더 긴 시퀀스를 처리하거나 처리량을 높이기 위해, 중요도가 낮은 KV 데이터를 제거하거나 요약하는 기법입니다.
1. **주요 전략**:
* **축출 (Eviction)**: 어텐션 점수가 낮거나 정보 가치가 적은 토큰의 K, V 값을 캐시에서 삭제합니다. (예: StreamingLLM, H2O)
* **병합 (Merging/Pooling)**: 유사한 의미를 가진 여러 토큰의 KV 값을 하나로 합쳐서 저장합니다.
* **동적 선택**: 추론 시 모델이 스스로 어떤 정보를 기억하고 어떤 정보를 잊을지 결정하게 합니다.
2. **ThinKV (최신 사례)**:
* 논리적 '생각(Thought)'의 중요도에 따라 덜 중요한 KV 캐시 토큰을 선제적으로 비우고, 별도의 압축 오버헤드 없이 메모리 슬롯을 제자리에서 재사용(In-place reuse)하는 하이브리드 압축 프레임워크입니다.
3. **장점**:
* 메모리 풋프린트를 50%~90% 이상 획기적으로 줄일 수 있습니다.
* 하드웨어 증설 없이 소프트웨어만으로 더 긴 컨텍스트 윈도우를 확보합니다.
## ⚖️ Trade-offs & Caveats
* **정확도 손실**: 중요한 토큰이 축출될 경우 모델의 추론 논리가 깨지거나 환각(Hallucination)이 발생할 수 있습니다.
* **연산 오버헤드**: 어떤 토큰을 버릴지 계산하는 과정 자체가 추가적인 지연 시간(Latency)을 발생시킬 수 있습니다.
## 🔗 지식 연결 (Graph)
* **상위 개념**: [[Key-Value (KV) Cache|Key-Value (KV) Cache]]
* **연관 기술**: [[Sparse Attention|Sparse Attention]], [[KV Cache Quantization|KV Cache Quantization]], [[ThinKV|ThinKV]], [[StreamingLLM|StreamingLLM]]
---
*Last updated: 2026-05-04*
@@ -0,0 +1,37 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-KVCH-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, kv-cache, transformer-inference, memory-bottleneck, llm-performance]
last_reinforced: 2026-05-04
---
# [[Key-Value (KV) Cache|Key-Value (KV) Cache]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "모델의 단기 기억 장치: 트랜스포머의 추론 과정에서 이전 토큰들의 연산 결과(Key, Value)를 메모리에 저장해두고 재사용함으로써, 매번 처음부터 다시 계산해야 하는 낭비를 없애고 생성 속도를 비약적으로 높인 추론 최적화의 심장."
## 📖 구조화된 지식 (Synthesized Content)
KV 캐시(Key-Value Cache)는 대규모 언어 모델(LLM)이 텍스트를 생성할 때, 이미 처리된 토큰들의 Key와 Value 행렬을 메모리에 저장해두는 기술입니다. 이를 통해 자기회귀(Autoregressive) 생성 과정에서 발생하는 중복 연산을 제거합니다.
1. **필요성**:
* 트랜스포머는 다음 토큰을 예측할 때 이전의 모든 토큰 정보를 참조해야 합니다.
* KV 캐시가 없다면 $n$번째 토큰을 생성할 때 $1$부터 $n-1$까지의 토큰을 매번 다시 연산해야 하므로, 시퀀스가 길어질수록 연산량이 기하급수적으로 증가합니다.
2. **작동 원리**:
* **Prefill 단계**: 입력된 프롬프트를 한꺼번에 처리하며 모든 토큰의 K, V 값을 계산하여 캐시에 저장합니다.
* **Decoding 단계**: 새로운 토큰을 하나씩 생성할 때마다 해당 토큰의 K, V 값만 계산하여 캐시에 추가하고, 이전 값들은 메모리에서 불러와 사용합니다.
3. **병목 현상**:
* **메모리 압박**: 컨텍스트 길이가 길어질수록 KV 캐시가 차지하는 VRAM 용량이 선형적으로 증가합니다. (예: 수천 명의 사용자가 동시에 긴 대화를 나눌 경우 GPU 메모리 부족(OOM) 발생 원인 1순위)
* **I/O 병목**: 연산 자체보다 캐시된 데이터를 메모리에서 읽어오는 속도(Memory Bandwidth)가 추론 속도를 결정하게 됩니다.
## ⚖️ Trade-offs & Caveats
* **용량 vs 속도**: 캐시를 많이 하면 속도는 빨라지지만 메모리가 부족해지고, 캐시를 줄이면(Compression/Quantization) 더 긴 문장을 처리할 수 있지만 정확도가 소폭 하락할 수 있습니다.
* **단편화 문제**: 고정된 크기의 메모리를 미리 할당할 경우, 사용되지 않는 빈 공간이 발생하는 '메모리 단편화' 문제가 발생합니다. 이를 해결하기 위해 [[PagedAttention|PagedAttention]]이 등장했습니다.
## 🔗 지식 연결 (Graph)
* **상위 개념**: [[Attention Mechanisms|Attention Mechanisms]], [[LLM Inference Optimization|LLM Inference Optimization]]
* **최적화 기술**: [[PagedAttention|PagedAttention]], [[KV Cache Compression|KV Cache Compression]], [[KV Cache Quantization|KV Cache Quantization]], [[Grouped-Query Attention (GQA)|GQA]]
* **프레임워크**: [[vLLM|vLLM]], [[TensorRT-LLM|TensorRT-LLM]]
---
*Last updated: 2026-05-04*
@@ -0,0 +1,36 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-PATT-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, paged-attention, vllm, kv-cache, memory-management, fragmentation]
last_reinforced: 2026-05-04
---
# [[PagedAttention|PagedAttention]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "OS의 지혜를 AI로: 운영체제의 가상 메모리 페이징 기법을 KV 캐시 관리에 도입하여, 메모리 단편화를 제거하고 활용률을 96% 이상으로 끌어올린 추론 엔진의 혁명."
## 📖 구조화된 지식 (Synthesized Content)
PagedAttention은 LLM 추론 시 KV 캐시 메모리를 효율적으로 관리하기 위해 제안된 기술로, 연속적인 메모리 할당 대신 비연속적인 블록(Block) 단위 할당 방식을 사용합니다.
1. **핵심 메커니즘**:
* **가상 메모리 페이징**: KV 캐시를 고정된 크기의 '논리적 블록'으로 나누고, 이를 실제 '물리적 블록'에 동적으로 매핑합니다.
* **블록 테이블 (Block Table)**: 논리적 블록과 물리적 블록 사이의 매핑 정보를 저장하여, 데이터가 물리적으로 떨어져 있어도 논리적으로는 연속된 것처럼 처리합니다.
2. **주요 장점**:
* **단편화 제거**: 미리 거대한 공간을 예약할 필요가 없어 내부 단편화가 거의 발생하지 않으며, 메모리 활용률을 극대화합니다.
* **메모리 공유**: 동일한 프롬프트를 공유하는 여러 요청(예: Parallel Sampling)이 있을 때, 공통된 KV 블록을 물리적으로 한 번만 저장하고 공유할 수 있습니다 (Copy-on-Write 방식).
3. **성능 향상**:
* 메모리 효율성 증가는 곧 동일한 GPU 자원에서 훨씬 더 많은 동시 요청(Throughput)을 처리할 수 있음을 의미합니다.
## ⚖️ Trade-offs & Caveats
* **복잡한 커널 구현**: 비연속적인 메모리 블록을 빠르게 읽고 쓰는 전용 CUDA 커널이 필요하여 구현 난이도가 높습니다.
* **블록 크기 민감도**: 블록 크기(예: 8, 16 토큰) 설정에 따라 GPU 병렬 처리 효율성과 메타데이터 오버헤드 사이의 트레이드오프가 발생합니다.
## 🔗 지식 연결 (Graph)
* **상위 개념**: [[Key-Value (KV) Cache|Key-Value (KV) Cache]], [[Virtual Memory Paging|Virtual Memory Paging]]
* **대표 프레임워크**: [[vLLM|vLLM]], [[TensorRT-LLM|TensorRT-LLM]]
* **연관 기술**: [[KV Cache Compression|KV Cache Compression]], [[ThinKV|ThinKV]]
---
*Last updated: 2026-05-04*
@@ -0,0 +1,41 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-RAGM-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, rag, retrieval-augmented-generation, knowledge-base, llm-context]
last_reinforced: 2026-05-04
---
# [[Retrieval-Augmented Generation (RAG)|Retrieval-Augmented Generation (RAG)]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "오픈 북 테스트의 정석: 모든 지식을 모델의 파라미터에 우겨넣는 대신, 필요할 때마다 외부 지식 창고에서 관련 정보를 찾아 모델에게 전달함으로써 정확도를 높이고 환각을 줄이는 실용주의적 AI 아키텍처."
## 📖 구조화된 지식 (Synthesized Content)
RAG(검색 증강 생성)는 거대 언어 모델이 학습 데이터에 없는 최신 정보나 특정 도메인의 지식을 활용할 수 있도록, 외부 데이터베이스에서 관련 문서를 검색하여 프롬프트에 포함시키는 기술입니다.
1. **작동 프로세스**:
* **Indexing (인덱싱)**: 방대한 문서를 작은 조각(Chunk)으로 나누고 벡터(Vector) 형태로 변환하여 저장합니다.
* **Retrieval (검색)**: 사용자의 질문과 유사한 의미를 가진 문서 조각들을 데이터베이스에서 찾아냅니다.
* **Generation (생성)**: 검색된 조각들을 질문과 함께 모델에게 전달하여, 해당 근거를 바탕으로 답변을 생성하게 합니다.
2. **핵심 이점**:
* **환각(Hallucination) 감소**: 모델이 근거 문서를 보고 답변하므로 없는 사실을 지어낼 확률이 줄어듭니다.
* **최신성 유지**: 모델을 재학습시키지 않고도 외부 데이터베이스만 업데이트하면 최신 지식을 반영할 수 있습니다.
* **설명 가능성**: 답변의 출처(Source/Citation)를 명확히 제시할 수 있어 신뢰도가 높습니다.
3. **발전 단계**:
* **Naive RAG**: 단순 벡터 검색 기반.
* **Advanced RAG**: 하이브리드 검색, 재순위화(Re-ranking), 쿼리 변환 등을 포함.
* **[[Agentic RAG|Agentic RAG]]**: 에이전트가 스스로 검색 전략을 수립하고 결과의 적절성을 평가하며 루프를 수행.
## ⚖️ Trade-offs & Caveats
* **검색 의존성**: 검색 결과가 부실하면 답변 품질도 급격히 떨어집니다. (Garbage In, Garbage Out)
* **지연 시간**: 외부 검색 단계가 추가되므로 순수 생성보다 응답 속도가 느려질 수 있습니다.
* **Lost in the middle**: 너무 많은 정보를 검색하여 전달할 경우, 모델이 컨텍스트 중간에 있는 중요한 정보를 놓치는 현상이 발생할 수 있습니다.
## 🔗 지식 연결 (Graph)
* **상위 개념**: [[LLM Application Architecture|LLM Application Architecture]]
* **세부 기술**: [[Agentic RAG|Agentic RAG]], [[GraphRAG|GraphRAG]], [[Hybrid Search|Hybrid Search]], [[Re-ranking|Re-ranking]]
* **최적화 도구**: [[LlamaIndex|LlamaIndex]], [[LangChain|LangChain]], [[ChromaDB|ChromaDB]], [[Pinecone|Pinecone]]
---
*Last updated: 2026-05-04*
@@ -0,0 +1,37 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-RATT-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, ring-attention, context-parallelism, distributed-training, ultra-long-context]
last_reinforced: 2026-05-04
---
# [[Ring Attention|Ring Attention]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "무한을 향한 연결고리: 단일 GPU의 메모리 한계를 넘어, 여러 장치를 링(Ring) 형태로 연결하고 데이터를 순환시키며 어텐션을 계산함으로써, 이론적으로 무한대에 가까운 '초거대 컨텍스트' 확장을 실현하는 분산 처리의 혁신."
## 📖 구조화된 지식 (Synthesized Content)
Ring Attention은 여러 GPU 또는 가속기 장치에 걸쳐 시퀀스 데이터를 분산 처리함으로써, 단일 장치의 메모리 용량을 초과하는 초장거리 문맥(Ultra-long context)을 학습하고 추론할 수 있게 해주는 기술입니다.
1. **핵심 메커니즘 (Context Parallelism)**:
* **시퀀스 분할**: 입력 문장을 $N$개의 조각으로 나누어 $N$개의 GPU에 분산 배치합니다.
* **링 통신 (Ring Communication)**: 각 GPU는 자신이 가진 Query를 고정하고, 다른 GPU들이 가진 Key/Value 블록을 링 형태로 전달받아 순차적으로 어텐션을 계산합니다.
* **비동기 처리**: 다음 KV 블록을 미리 받아오는 통신과 현재 블록의 연산을 겹쳐서 수행(Overlap)함으로써 통신 대기 시간을 최소화합니다.
2. **주요 특징**:
* **확장성**: 장치 수($N$)가 늘어날수록 처리 가능한 컨텍스트 길이가 선형적으로 증가합니다 (예: 1M, 10M 토큰 이상).
* **정확도**: 근사치가 아닌 Full-Attention을 분산 환경에서 정확하게 계산해냅니다.
3. **의의**:
* 최근의 '백만 토큰 컨텍스트' 경쟁(Gemini, Claude 등)을 뒷받침하는 핵심 인프라 기술 중 하나로 평가받습니다.
## ⚖️ Trade-offs & Caveats
* **통신 오버헤드**: 장치 간 데이터 전송(P2P Communication) 속도가 전체 성능의 병목이 될 수 있습니다. 따라서 NVLink와 같은 고속 인터커넥트가 필수적입니다.
* **FlashAttention과의 상충**: 분할된 블록 단위로 FlashAttention을 수행할 때 발생하는 효율성 저하를 막기 위해, 통신 패턴을 극도로 정밀하게 설계해야 합니다 (예: USP 전략).
## 🔗 지식 연결 (Graph)
* **상위 개념**: [[Attention Mechanisms|Attention Mechanisms]], [[Distributed Training|Distributed Training]]
* **비교/보완 기술**: [[Flash Attention|Flash Attention]], [[Sparse Attention|Sparse Attention]]
* **응용 분야**: 100만 토큰 이상 장거리 문맥 모델링, 복잡한 코드베이스 전체 분석
---
*Last updated: 2026-05-04*
@@ -0,0 +1,38 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-SATT-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, sparse-attention, dsa, attention-complexity, efficiency, deepseek]
last_reinforced: 2026-05-04
---
# [[Sparse Attention|Sparse Attention]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "지능의 선택과 집중: 모든 토큰을 전부 비교하는 낭비를 버리고, 맥락상 가장 중요한 핵심 토큰들만 골라내는 '희소한 연결'을 통해 연산 복잡도를 $O(n^2)$에서 $O(n)$ 수준으로 낮춘 효율적 지능의 표본."
## 📖 구조화된 지식 (Synthesized Content)
Sparse Attention은 모든 토큰 간의 상관관계를 계산하는 대신, 특정 패턴이나 중요도에 따라 일부 토큰들만 선택적으로 참조함으로써 연산 및 메모리 비용을 획기적으로 줄이는 기술입니다.
1. **기본 패턴**:
* **Sliding Window**: 인접한 토큰들(로컬 문맥)에만 집중합니다.
* **Global Tokens**: 중요한 위치(문장 시작 등)의 토큰을 전체가 공유하여 조망합니다.
* **Random/Fixed Patterns**: 사전에 정의된 규칙이나 무작위 연결을 통해 장거리 의존성을 보완합니다.
2. **DSA (DeepSeek Sparse Attention)**:
* **Indexer-Selector 메커니즘**: 단순히 고정된 위치를 보는 것이 아니라, '인덱서'가 관련 있는 토큰을 먼저 찾고 '셀렉터'가 그 하위 집합에 대해서만 어텐션을 수행합니다.
* **의의**: 정확도 손실을 최소화하면서 100만 토큰 이상의 초장거리 컨텍스트를 스케일링할 수 있게 합니다.
3. **장점**:
* 시퀀스 길이에 따른 연산량 증가를 선형($O(n)$)으로 억제하여 대규모 데이터 처리가 가능해집니다.
* KV 캐시의 메모리 압박을 줄여 추론 효율성을 높입니다.
## ⚖️ Trade-offs & Caveats
* **정보 손실 위험**: 중요한 토큰을 놓칠 경우 모델의 추론 능력이 저하될 수 있습니다(Lost in the middle 현상 등). 이를 방지하기 위한 정교한 하이브리드 아키텍처(예: Gemma 4의 Local-Global 교차 방식)가 요구됩니다.
* **구현 복잡성**: 표준 Dense Attention에 비해 인덱싱, 선택 로직 등 아키텍처가 복잡하여 시스템 통합 및 최적화에 높은 기술력이 필요합니다.
## 🔗 지식 연결 (Graph)
* **상위 개념**: [[Attention Mechanisms|Attention Mechanisms]], [[LLM Inference Optimization|LLM Inference Optimization]]
* **비교 기술**: [[Flash Attention|Flash Attention]] (I/O 최적화 vs 연산 횟수 최적화)
* **연관 기술**: [[Sliding Window Attention|Sliding Window Attention]], [[Mixture of Experts (MoE)|Mixture of Experts (MoE)]], [[KV Cache|KV Cache]]
---
*Last updated: 2026-05-04*
+36
View File
@@ -0,0 +1,36 @@
---
id: [[P-Reinforce|P-Reinforce]]-AUTO-VLLM-001
category: Unified
confidence_score: 1.00
tags: [auto-reinforced, vllm, llm-serving, throughput-optimization, paged-attention]
last_reinforced: 2026-05-04
---
# [[vLLM|vLLM]]
## 📌 한 줄 통찰 (The Karpathy Summary)
> "서빙 성능의 게임 체인저: PagedAttention을 세계 최초로 도입하여, 기존 시스템 대비 10~20배 이상의 동시 처리량(Throughput)을 달성하며 LLM 실용 서비스 시대를 앞당긴 표준 추론 엔진."
## 📖 구조화된 지식 (Synthesized Content)
vLLM(Virtual Large Language Model)은 고성능 LLM 추론 및 서빙을 위해 설계된 오픈소스 라이브러리입니다. 메모리 효율성과 처리량 극대화에 초점을 맞추고 있습니다.
1. **핵심 기술**:
* **[[PagedAttention|PagedAttention]]**: 메모리 단편화 문제를 해결하여 KV 캐시 활용률을 획기적으로 높였습니다.
* **Continuous Batching**: 모든 요청이 끝날 때까지 기다리지 않고, 개별 토큰 생성이 완료될 때마다 새로운 요청을 배치에 끼워 넣어 GPU 가동률을 극대화합니다.
2. **주요 특징**:
* **높은 처리량**: Hugging Face Transformers나 Text Generation Inference(TGI) 대비 월등한 처리 성능을 보여줍니다.
* **범용성**: Llama, Mistral, Gemma 등 대부분의 최신 오픈소스 모델을 지원하며, OpenAI 호환 API를 제공하여 연동이 쉽습니다.
3. **의의**:
* 상용 수준의 LLM 서비스를 구축할 때 가장 먼저 고려되는 표준 프레임워크 중 하나입니다.
## ⚖️ Trade-offs & Caveats
* **VRAM 점유**: 성능을 위해 가용 VRAM의 대부분을 KV 캐시용으로 선점(Pre-allocation)하므로, 다른 프로세스와 GPU를 공유하기 어렵습니다.
* **TTFT vs Throughput**: 전체 처리량은 뛰어나지만, 극단적인 배치 상황에서는 첫 토큰 생성 시간(Time-to-First-Token)이 소폭 증가할 수 있습니다.
## 🔗 지식 연결 (Graph)
* **핵심 기반**: [[PagedAttention|PagedAttention]], [[Key-Value (KV) Cache|Key-Value (KV) Cache]]
* **경쟁/대안 기술**: [[TensorRT-LLM|TensorRT-LLM]], [[TGI|TGI]], [[Ollama|Ollama]]
* **최적화 기법**: [[Quantization|Quantization]], [[Speculative Decoding|Speculative Decoding]]
---
*Last updated: 2026-05-04*