LLM 데이터 엔지니어링 2탄 - RAG 성능의 한 끝, '스마트 청킹(Smart Chunking)'으로 검색 정확도 높이기

, ,

안녕하세요! 지난 1탄에서는 GPU 없이도 10배 빠르게 PDF 레이아웃을 분석하는 효율화 전략을 공유해 드렸습니다. (1탄 보기: [링크])

속도를 확보했다면 그다음 고민은 "어떻게 잘라야 모델이 가장 잘 이해할까?"입니다. 흔히 벡터 DB에 넣기 위해 텍스트를 일정 길이라 자르는 '청킹(Chunking)' 과정을 거치는데, 여기서 RAG의 성능이 결정됩니다. 오늘은 이파피루스 기술 블로그의 내용을 바탕으로 실무에 바로 적용할 수 있는 스마트 청킹 전략을 소개합니다.

1. 텍스트를 무작정 자르면 발생하는 문제

보통 500자, 1,000자씩 기계적으로 자르는 Fixed-size Chunking을 사용합니다. 하지만 이 방식은 문서의 맥락을 고려하지 않기 때문에 치명적인 문제를 야기합니다.

  • 의미적 단절: 중요한 문장이나 표(Table) 한복판에서 잘려버려, 검색 시 의미가 훼손된 파편만 반환됩니다.
  • 인덱싱 오염: 제목과 관련 없는 본문이 한 청크에 섞여 검색 정확도가 떨어집니다.

2. 본 콘텐츠에서 제안하는 3가지 스마트 청킹 전략

원문에서는 단순히 자르는 것이 아니라, 문서의 구조(Structure)를 보존하며 자르는 것이 핵심이라고 강조합니다.

  • ① 계층적 청킹 (Hierarchical Chunking): 문서의 목차(H1, H2, H3)를 인식하여 섹션 단위로 나눕니다. 제목 정보를 청크마다 포함시켜 임베딩하면, 검색 시 해당 단락이 어떤 맥락에서 쓰였는지 모델이 훨씬 더 잘 파악합니다.
  • ② 마크다운(Markdown) 기반 청킹: PDF를 마크다운으로 변환하면 ###, **, |---| 같은 태그가 생성됩니다. LLM은 단순 줄글보다 이런 구조화된 형식을 처리할 때 추론 정확도가 최대 20~30% 향상된다는 연구 결과가 있습니다.
  • ③ 지능적 중첩 (Intelligent Overlap): 무조건 앞뒤를 10%씩 겹치는 게 아니라, 문장의 끝이나 단락의 끝에서 청크를 마감하고, 필요한 컨텍스트만 다음 청크로 넘기는 방식입니다. 1탄에서 소개한 레이아웃 분석 엔진이 이 '절단 지점'을 찾는 데 결정적인 역할을 합니다.

3. 표(Table) 데이터를 처리하는 혁신적인 방법

아티클에서 가장 인상 깊은 부분은 표 처리입니다. 표를 텍스트로 쭉 나열하는 대신, 마크다운 테이블 형식으로 보존하여 하나의 청크에 통째로 넣는 것을 권장합니다. 이렇게 하면 LLM이 행과 열의 관계를 완벽하게 이해하여 복잡한 수치 질문에도 정확히 답변할 수 있게 됩니다.


:light_bulb: 실무적인 제언

전처리 단계에서 1탄의 고속 레이아웃 엔진과 이번에 소개한 마크다운 기반 청킹을 결합해 보세요. 임베딩 모델을 바꾸지 않고도 RAG의 **Retrieval Recall(재현율)**이 눈에 띄게 개선되는 것을 경험하실 수 있습니다.

데이터 전처리는 단순 작업이 아니라, 모델의 성능을 결정짓는 핵심 엔지니어링입니다.
더 상세한 벤치마크와 코드 예시는 아래 원문을 참고해 보세요!

**:link: 출처: 왜 데이터 청킹(Data Chunking)이 LLM 처리에서 필수적일까 [(주)이파피루스 블로그:티스토리]


지난 시리즈 보기:

여러분의 프로젝트에서는 어떤 청킹 전략을 쓰고 계신가요? 혹시 특정 문서 타입(논문, 법률, 금융 등)에서 효과를 보았던 자신만의 '골든 파라미터'가 있다면 댓글로 공유해 주세요! :blush:

3개의 좋아요