잘 만든 Chunking 어떤 개이득을 주는가?

Mujung Kim·2025년 12월 10일

LLM + RAG 시스템

목록 보기
3/11

RAG에서 청크를 “어디를 기준으로, 얼마나 똑똑하게 나누느냐”는 단순 전처리가 아니라 전체 RAG 성능을 결정하는 핵심 요소입니다. 청크 품질은 임베딩 → 벡터 검색 → LLM 답변 생성까지 연쇄적으로 영향을 주며, 잘못된 청크는 아무리 좋은 모델을 써도 성능이 떨어집니다.

아래에서 잘 짜른 청크가 임베딩, 검색 정확도, 최종 답변의 품질에 어떤 영향을 미치는지 단계별로 설명합니다.

🔥 1. 잘 만든 청크 → “더 정확한 임베딩 벡터”를 만든다

임베딩 모델은 주어진 텍스트를 하나의 의미 벡터로 압축합니다.
따라서 청크가 다음과 같으면 임베딩이 망가지게 됩니다:

  • 너무 길면 : 의미 밀도가 낮아지고 모델의 attention이 분산됨

  • 너무 짧으면: 맥락이 끊어져 의미 정보가 부족함

  • 문장 중간에서 끊기면: 의미적 완결성이 사라짐 → 임베딩 왜곡

👉 잘 만든 청크의 결과

  • 의미적으로 응집력 있는 벡터가 생성됨

  • “이 벡터는 어떤 내용을 설명하고 있다”가 명확해짐

  • 유사도 검색 시 정확한 거리 계산이 가능

즉, 정확한 청크 → 정확한 벡터입니다.


🔥 2. 잘 만든 청크 → 벡터 검색(semantic search) 정밀도 상승

RAG는 결국 임베딩 벡터 간 거리 계산을 기반으로 검색을 합니다.
청크가 잘 만들어져 있으면 다음이 좋아집니다:

✔ 검색 Recall 상승

질문과 관련된 청크가 벡터 공간에서 더 정확히 묶여있어 → 빠뜨리지 않고 검색 가능

✔ 검색 Precision 상승

관계 없는 텍스트가 섞인 청크는 벡터의 의미를 흐려 → 질문과 덜 관련된 청크가 검색될 확률 증가
반면 잘 분리된 청크는 노이즈가 없어 → 상위 검색 결과의 관련성이 상승

✔ 문장 순서/구조 유지

특히 RecursiveCharacterTextSplitter처럼 구조적 분할은 문단 단위 세그먼트를 보존해 → 질문 맥락과 더 유사한 벡터를 생성


🔥 4. 잘 만든 청크 → RAG 전체 동작 최적화

청크의 품질은 RAG 파이프라인의 모든 단계에 영향을 주는 근본 요소입니다.

단계청크의 영향
임베딩의미적 응집력 있는 벡터 생성
검색top-k의 정확도 대폭 상승
리랭킹(선택 시)의미 단위가 뚜렷해 reranker 성능 극대화
LLM 답변정보 손실이 적어 정확한 답변 가능

결국 청크 품질 = RAG 품질입니다.


🔥 5. 정리: “좋은 청크”가 가져오는 효과 요약

1) 임베딩 품질 향상

→ 벡터가 의미를 정확히 표현
→ 유사도 검색 시 거리 계산이 정확

2) 검색 정확도 증가

→ 올바른 청크가 top-k에 올라옴
→ 불필요한 노이즈 청크 제거

3) LLM 입력 품질 상승

→ 문맥이 온전히 전달
→ 근거 기반 답변 정확도 증가
→ 할루시네이션 감소

4) 전체 RAG 성능 극대화

→ 답변 복원력, 정확성, 신뢰도 모두 상승


🔥 6. 그렇다면 최적 청크 기준은?

범용적인 권장 기준

기준이유
청크 크기 200–500 tokens임베딩 모델이 이해하기 좋은 크기
의미 단위 유지(문장·문단)문맥 보존 → 임베딩 정확도↑
적절한 overlap (10–20%)문장 단절로 인한 의미 손실 방지
문서 구조 기반 분리Markdown, HTML, 제목 기반 Recursive split 권장
profile
천천히 고민하면서 걷는 개발자

0개의 댓글