chunk (청크)
검색을 위해 문서를 잘게 나눈 단위. 벡터화의 최소 입자로, 자르는 방식이 retrieval 품질을 크게 좌우한다.
1줄 정의
검색을 위해 문서를 잘게 나눈 단위. 벡터화의 최소 입자로, 자르는 방식이 retrieval 품질을 크게 좌우한다.
전체 시스템에서 맡는 역할
긴 문서를 그대로 embedding 에 건네면 의미가 묽어져서 검색 정밀도가 떨어진다. 반대로 너무 짧으면 맥락이 빠진다. “적당한 길이로 자르는” 작업의 출력이 chunk.
전형적인 자르는 방식:
- 고정 크기 (500~1500 토큰)
- 문단·소제목 경계
- 의미 경계 (semantic chunking)
- 겹침 (overlap) 두기 (chunk 경계의 의미 절단 방지)
chunk 는 vector DB 에 저장되고, 질문과 chunk 의 벡터 유사도로 검색된다. RAG 성능이 chunk 전략에 크게 좌우된다.
흔한 오해
- 오해 1: chunk 는 길수록 정보가 많다, 라고 여겨지기 쉽다.
– 실제로 너무 긴 chunk 는 의미가 뿌예져서 embedding 유사도 계산이 둔해진다. “적절한 절단” 이 늘 중요.