콘텐츠로 바로가기

LLM & RAG Engineering

수조 개의 파라미터를 통해 인류의 지식을 수리적으로 압축하고, 자연어와 멀티모달 데이터를 물리적으로 생성하며 추론하는 현대 AI의 정점을 다룹니다.

Article
M

Me

hyunyoun's Blog

machine-learning-aimachine-learningaillmrag-engineeringretrieval-augmented-generationvector-searchlearning9 min read

1. Overview

거대 언어 모델 및 RAG 엔지니어링(LLM & RAG Engineering, LRE)은 인류가 생산한 모든 지식을 집어삼킨 초거대 인공지능을 통제하여, 단순한 잡담 기계(Chatbot)를 넘어 기업의 데이터를 정확히 검색하고 추론해 내는 '범용적 지능 파이프라인'을 설계하는 현대 AI의 최전선을 다룹니다.

과거에는 분야마다 다른 모델(번역용, 요약용)을 수백 개 만들었다면, 이제는 거대한 파운데이션 모델(Foundation Model) 하나를 프롬프트로 달래거나(Prompting) 미세 조정(Fine-tuning)하여 만능으로 씁니다. 학습자는 문장을 숫자로 바꾸는 토큰화(Tokenization)와 다음 단어를 예측하는 자기 회귀(Autoregressive) 생성의 본질을 깨닫습니다. 나아가 AI의 치명적인 단점인 '환각(Hallucination)'을 막기 위해 외부의 사내 문서를 주입하는 RAG(검색 증강 생성) 아키텍처를 물리적으로 구축하고, 모델을 윤리적 가치관에 맞추는 RLHF 정렬 역학을 배웁니다.

2. Scope & Boundaries

In-Scope

  • 언어 모델 기초 (LLM Foundations): 트랜스포머 디코더 기반의 자기 회귀(Autoregressive) 생성 물리, 스케일링 법칙(Scaling Laws), 토큰 역학.
  • 프롬프트 및 검색 증강 (Prompt & RAG): 프롬프트 엔지니어링(Few-shot, CoT), 벡터 데이터베이스(Vector DB), RAG 아키텍처 및 임베딩 공간 매핑.
  • 미세 조정과 정렬 (Fine-tuning & Alignment): PEFT(LoRA), Instruction Tuning, RLHF(인간 피드백 기반 강화 학습).
  • 멀티모달 및 에이전트 (Multimodal & Agents): 이미지/음성 통합 토큰화, 자율형 AI 에이전트(Autonomous Agents), 도구 호출(Tool Calling).

Out-of-Scope

  • RNN 및 기초 신경망의 순전파 수학: 퍼셉트론과 LSTM의 수학적 기초 전개 \rightarrow 11-02. Deep Learning & Transformer 영역으로 위임.
  • LLM 추론 클러스터 및 k8s 서빙 인프라: vLLM을 쿠버네티스에서 오토스케일링하는 하드웨어 설정 \rightarrow 11-04. MLOps 영역으로 위임.

Boundaries

  • LRE vs. DLN (11-02): DLN(11-02)이 "어텐션 연산이 행렬로 어떻게 이루어지는지" 바닥부터 뼈대를 만든다면, LRE(11-03)는 "이미 훈련된 1,000억 개짜리 뼈대(LLM)를 어떻게 개조하고 외부 DB(RAG)와 붙여서 돈이 되는 서비스로 만들 것인가?"에 집중하는 하이레벨 응용 공학입니다.

3. Counterexample

  • 프롬프트 만능주의 (Prompt-only Fallacy): 사내 규정을 물어보는 챗봇을 만들겠다며, LLM의 프롬프트 창에 1만 장짜리 사규를 매번 다 때려 넣고 질문하는 행위. 한 번 질문할 때마다 입력 토큰(Token) 비용으로 수십 달러가 깨지고, 입력 길이 제한(Context Window)에 걸려 모델이 뻗어버립니다. 방대한 문서는 프롬프트로 넣는 것이 아니라, 텍스트를 벡터(Vector)로 쪼개어 저장한 뒤 관련 있는 문단 딱 3개만 검색해 와서 주입하는 RAG(Retrieval-Augmented Generation) 아키텍처를 세워야 합니다.
  • 무턱대고 파인튜닝 (Reckless Fine-Tuning Fallacy): "우리 회사만의 모델을 만들자!"라며 최신 LLM의 가중치(Weight)를 사내 데이터로 덮어쓰기(Full Fine-Tuning) 하는 데 수천만 원의 GPU 비용을 태우는 현상. 파인튜닝은 모델에게 지식(Knowledge)을 주입하는 데는 효율이 극도로 떨어지며(환각 발생), 모델의 '말투나 형식(Tone & Manner)'을 가르치는 데만 써야 합니다. 사내 지식을 가르치고 싶다면 RAG를 도입하는 것이 수백 배 싸고 정확합니다.

4. Prerequisites

  • 딥러닝과 어텐션 구조 (Recommended): 트랜스포머의 'Self-Attention' 메커니즘을 알아야 프롬프트의 토큰 제한이 왜 발생하고 연산량이 어떻게 폭증하는지 이해할 수 있습니다. (11-02. DLN)
  • 비정형 데이터베이스 (Basic): RAG 파이프라인 구축을 위해 벡터 유사도(Cosine Similarity)를 계산하는 벡터 DB 구조를 알아야 합니다. (06-03. Data Systems)

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 LLM Foundations 문장을 토큰 조각으로 부수고, 그 조각들이 모여 다음 단어의 확률을 예측해 내는 언어 모델의 본질을 뜯어봅니다. Industry
2 Prompt & RAG 환각(거짓말)을 막기 위해 벡터 DB에서 정확한 사내 문서를 꺼내 모델 입에 떠먹여 주는 RAG 파이프라인을 짓습니다. Industry
3 Tuning & Alignment 파라미터 수천억 개의 모델을 다 건드리지 않고, 어댑터(LoRA)만 살짝 붙여 싼값에 말투를 교정하는 마법을 배웁니다. P1
4 Agents & Multimodal LLM이 단순히 글만 쓰는 걸 넘어, 눈(Vision)을 달고 계산기(Tool)를 직접 실행하며 자율 행동하는 에이전트를 조립합니다. Industry

6. Learning Topics

Basic

Core Topic 01: 토큰 물리학과 프롬프트 엔지니어링 (Tokens & Prompting)

  • Why to Learn: LLM은 인간의 언어를 이해하는 것이 아니라 숫자의 확률을 계산하는 기계임을 깨닫고, 기계가 가장 계산하기 쉬운 형태로 명령을 내리기 위함입니다.
  • What to Learn:
    • Concepts: 토큰화(Tokenization: BPE, WordPiece), 자기 회귀(Autoregressive Generation), 컨텍스트 윈도우(Context Window).
    • Skills: 프롬프트 엔지니어링 뼈대 (Few-shot Prompting, 생각의 사슬 Chain-of-Thought), 환각(Hallucination).
    • Tools: OpenAI Playground, Tiktoken.
    • Trade-offs: "답만 말해!"라고 짧게 명령할 때의 오류 폭발 vs "단계별로 천천히 생각해 봐(CoT)"라고 명령하여 출력 토큰이 길어지지만 추론 정확도가 3배 수직 상승하는 토큰 경제학.
  • How to Learn:
    • 1단계: 한글 문장과 영어 문장을 토크나이저(Tiktoken)에 넣어보고, 왜 한글이 영어보다 토큰을 3배나 더 잡아먹어 과금이 3배로 나오는지 인코딩의 물리적 낭비를 확인합니다.
    • 2단계: 복잡한 수학 문제를 그냥 풀라고 하면 틀리는 모델에게, "1단계: ..., 2단계: ..." 식으로 중간 추론 과정을 텍스트로 적어 내도록(CoT) 프롬프트를 바꾸면 정답률이 확연히 올라가는 생성 메커니즘을 캡처합니다.
  • Implement: 특정 도메인(예: 법률 상담)에서 LLM이 거짓말(환각)을 절대 하지 않고, 모르면 "모른다"고만 대답하도록 페르소나와 제약 조건을 강제하는 System Prompt 엔지니어링 프레임워크 작성.

Core Topic 02: 벡터 임베딩과 RAG 아키텍처 (Embeddings & RAG)

  • Why to Learn: 2021년까지만 학습된 LLM에게 2024년의 최신 사내 기밀 문서를 안전하게 가르쳐서 실시간 챗봇을 만들기 위해서입니다.
  • What to Learn:
    • Concepts: 검색 증강 생성(RAG: Retrieval-Augmented Generation), 임베딩(Embedding), 코사인 유사도(Cosine Similarity).
    • Skills: 텍스트 청킹(Chunking), 벡터 데이터베이스(Vector DB), 시맨틱 검색(Semantic Search).
    • Tools: LangChain, LlamaIndex, ChromaDB / Pinecone.
    • Trade-offs: 문서를 아주 잘게 쪼개서(Chunking) 벡터 DB에 넣으면 정확한 문장을 잘 찾아오는 장점 vs 문맥이 다 잘려나가 모델이 답변을 엉뚱하게 요약해 버리는 분할(Fragmentation)의 함정.
  • How to Learn:
    • 1단계: "사과"와 "바나나"라는 단어를 임베딩 모델에 넣어 1536차원의 숫자로 바꾸고, 두 숫자의 거리가 "사과"와 "자동차"의 거리보다 훨씬 가깝다는 것을 코사인 유사도 계산으로 증명합니다.
    • 2단계: 1,000페이지짜리 사내 규정집을 500자 단위로 쪼개어(Chunking) 벡터 DB에 저장합니다. 사용자가 질문하면 벡터 검색으로 딱 맞는 3개의 조각만 뽑아낸 뒤, 그걸 프롬프트에 붙여서 LLM에게 "이 3개만 보고 대답해"라고 시키는 RAG의 전체 파이프라인을 조립합니다.
  • Implement: LangChain을 활용하여 특정 PDF 파일 여러 개를 업로드하고 벡터 DB(Chroma)에 적재한 뒤, 이를 기반으로 답변 출처(Source)까지 함께 출력해 주는 사내 문서 Q&A 봇 파이프라인.

Practical

Core Topic 03: 파라미터 효율적 미세 조정과 정렬 (PEFT & Alignment)

  • Why to Learn: 남들이 다 쓰는 범용 LLM의 말투가 마음에 들지 않거나 특정 전문 도메인 어휘를 못 알아들을 때, 거대 모델의 뇌수술을 '가장 싼값에' 진행하기 위함입니다.
  • What to Learn:
    • Concepts: 미세 조정(Fine-tuning), 파운데이션 모델(Foundation Model).
    • Skills: PEFT(Parameter-Efficient Fine-Tuning), LoRA(Low-Rank Adaptation), RLHF(인간 피드백 기반 강화 학습).
    • Tools: HuggingFace (Transformers, PEFT), vLLM.
    • Trade-offs: 1,000억 개 파라미터를 다 학습시키는 Full Fine-Tuning의 완벽함과 수천만 원의 GPU 파산 비용 vs 가중치 행렬을 잘게 쪼갠 어댑터(LoRA)만 붙여서 학습하여 노트북 GPU 1장으로도 끝내는 극한의 엔지니어링 가성비.
  • How to Learn:
    • 1단계: 거대한 모델 가중치 행렬 W를 직접 수정하는 대신, 아주 얇은 A×BA \times B 행렬 두 개를 옆에 덧붙여서 학습시키는 LoRA의 수학적/물리적 트릭을 그려봅니다.
    • 2단계: "해킹하는 법 알려줘"라는 질문에 모델이 절대 대답하지 못하도록 훈련된 이유가, 인간이 나쁜 대답에 낮은 점수를 주고 좋은 대답에 높은 점수를 주어 보상 함수를 훈련시킨 RLHF(Alignment)의 결과임을 뜯어봅니다.
  • Implement: HuggingFace의 오픈소스 소형 LLM(Llama-3-8B 등)을 가져와, 사투리로만 대답하게 만드는 데이터셋(JSONL) 수천 개를 넣고 QLoRA 기법으로 미세 조정하여 나만의 사투리 어댑터(Adapter) 가중치 추출.

Advanced

Core Topic 04: 에이전트 아키텍처와 멀티모달 (Agents & Multimodal)

  • Why to Learn: 키보드로 타자를 쳐야만 대답하는 수동적인 LLM을 넘어, 모델 스스로 툴을 사용하고 그림을 보며 자율적으로 움직이는 미래의 AI 로봇을 설계하기 위해서입니다.
  • What to Learn:
    • Concepts: 자율형 에이전트(Autonomous Agent), 도구 호출(Tool Calling / Function Calling), 멀티모달(Multimodal).
    • Skills: ReAct(Reasoning and Acting) 프레임워크, 멀티모달 토큰 임베딩 물리.
    • Tools: LangGraph, AutoGPT.
    • Trade-offs: 에이전트에게 파이썬 코드 실행 권한과 인터넷 브라우징 권한을 주어 모든 것을 자율적으로 끝내는 환상적인 자동화 vs 에이전트가 환각(Hallucination)에 빠져서 회사 데이터베이스를 통째로 지우는 스크립트를 스스로 실행해 버리는 통제 불능의 재앙.
  • How to Learn:
    • 1단계: "오늘 서울 날씨와 뉴욕 날씨의 온도 차이를 알려줘"라고 물었을 때, 모델이 "나는 실시간 정보가 없다"고 하는 대신 스스로 get_weather(city="Seoul")라는 함수(Tool)를 호출하는 포맷으로 응답을 뱉어내고, 서버가 그 함수를 대신 실행해 결과값을 다시 모델에게 던져주는 핑퐁 로직을 짭니다.
    • 2단계: 텍스트뿐만 아니라 강아지 사진(Image)이나 음성 파형(Audio)을 어떻게 잘게 쪼개어 숫자로(Token) 바꾼 뒤 LLM이라는 단일 신경망 용광로에 한꺼번에 쏟아붓는지 멀티모달 아키텍처의 혁신을 스케치합니다.
  • Implement: LangGraph를 이용하여, "1. 사용자의 요청 분석 \rightarrow 2. 웹 검색 함수 실행 \rightarrow 3. 결과를 엑셀 파일로 저장 \rightarrow 4. 이메일 전송"의 시퀀스를 LLM 스스로 판단하여 순차적으로 수행하는 상태 기반(Stateful) 자율 에이전트 봇 기획 및 구현.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Autoregressive Generation 이전 토큰들을 바탕으로 다음 토큰을 순차적으로 확률 예측하여 문장을 생성하는 물리적 과정입니다. 기본 원리 Tokenization vs. Masked Language Model 모델이 문장 전체의 뜻을 한 번에 생각하고 말한다고 착각 Primary core
RAG (Retrieval-Augmented Generation) 외부 데이터베이스에서 관련 문서를 검색(Retrieval)해 온 뒤, 이를 컨텍스트로 LLM에 주입하여 답변을 생성하는 기법입니다. 권장 아키텍처 Vector DB, Embedding vs. Fine-tuning 문서 전체를 프롬프트에 통째로 복붙하는 단순 행위로 오해 Industry, LlamaIndex core
PEFT / LoRA 거대 모델의 파라미터 수천억 개를 건드리지 않고, 작은 크기의 어댑터 행렬만 추가로 학습시켜 연산량을 극도로 압축하는 튜닝 기술입니다. 실무 최적화 Fine-tuning vs. Full Fine-Tuning 파인튜닝으로 모델에 새로운 '지식'을 우겨넣을 수 있다고 믿는 함정 Industry core
ReAct (Reasoning and Acting) 모델이 스스로 생각(Reasoning)하고 외부 도구를 실행(Acting)하는 과정을 반복하여 문제를 해결하는 자율 에이전트 프레임워크입니다. 심화 에이전트 Tool Calling vs. Static Prompting 프롬프트만 잘 쓰면 모델이 모든 걸 알아서 해줄 거라는 맹신 Industry Paper core

8. References

Primary References

  • [CS2023: AL/Machine Learning] — 언어 모델의 자기 회귀적 생성 원리 및 토큰 물리 역학.
  • [SWEBOK v3: Software Engineering Models] — AI 파이프라인과 LLM 통합을 위한 소프트웨어 엔지니어링 생명주기.

Secondary References

  • [LangChain Documentation] — RAG 아키텍처, 벡터 스토어 통합 및 에이전트 라우팅 패턴 표준.
  • [HuggingFace PEFT/LoRA] — 파라미터 효율적 미세 조정(PEFT) 기술 스펙 및 구현 가이드.

Industry References

  • [OpenAI API Best Practices] — 프롬프트 엔지니어링, Few-shot 학습 및 컨텍스트 윈도우 한계 극복 패턴.
  • [Pinecone / Milvus] — 시맨틱 검색을 위한 고성능 벡터 데이터베이스 시스템 백서.

9. Final Checklist

Primary Checklist

  • 비즈니스 도메인의 텍스트 데이터를 임베딩하여 벡터 데이터베이스에 올바르게 청킹(Chunking) 및 적재했는가?
  • LLM의 생성 답변이 할루시네이션(환각) 없이 RAG 파이프라인에서 검색된 컨텍스트 내에서만 출력되도록 프롬프트를 제한했는가?

Secondary Checklist

  • 모델의 말투나 특정 출력 포맷(JSON 등) 강제가 필요한 경우에만 LoRA 등 파라미터 효율적 미세 조정을 제한적으로 적용했는가?
  • 프롬프트 인젝션(Prompt Injection) 공격을 방어하기 위해 입력값 샌드박싱이나 제약 조건 룰을 시스템 프롬프트 레벨에 명시했는가?

Industry Checklist

  • LLM을 서빙할 때 토큰당 과금(Cost)과 추론 지연 시간(Latency)을 측정하여 경제성 있는 모델 사이즈(예: 8B vs 70B)를 선택했는가?
  • 자율형 에이전트(ReAct) 구성 시, 외부 API(예: DB 삭제 쿼리) 호출 권한을 최소 권한의 원칙에 따라 철저히 제한(Hard Stop)했는가?

Retrieval-Augmented Generation & Vector Search

2 / 2