티스토리 뷰
Chunking in LLM (대형 언어 모델에서의 청킹)
Chunking은 대형 언어 모델(LLM, Large Language Model)에서 매우 중요한 개념 중 하나입니다. 주로 긴 문서나 데이터를 모델이 이해할 수 있도록 나누는 작업을 의미합니다. 아래에서 이 개념을 자세히 설명드릴게요.
✅ 1. Chunking이란?
Chunking은 **큰 텍스트나 데이터를 작은 단위(청크)**로 나누는 기술입니다. LLM은 입력 토큰 수에 제한이 있기 때문에, 긴 문서 전체를 한 번에 처리할 수 없습니다. 따라서:
긴 텍스트 → 작은 덩어리로 분할 → 모델에 순차적으로 입력
이 과정을 통해 긴 문서를 효과적으로 요약하거나 질문에 답변할 수 있습니다.
✅ 2. 왜 Chunking이 필요한가?
❗ LLM의 입력 제한 때문
예: GPT-4의 경우 약 8k ~ 32k 토큰 제한이 있음.
긴 문서(논문, 리포트 등)는 이 제한을 초과할 수 있기 때문에, 나눠서 넣어야 함.
❗ 문맥 유지와 정보 손실 방지
한 번에 다 못 넣으면 중요한 정보가 빠질 수 있음 → Chunk 단위로 나눠서 처리 후 연결
✅ 3. Chunking 방식
📌 1) 고정 길이 청크 (Fixed-length Chunking)
- 일정한 토큰 수 또는 문장 수로 나눔
- 단순하지만 문맥이 잘릴 수 있음
| text = "너무 긴 텍스트를 일정 토큰 단위로 나눕니다." chunks = chunk_text(text, chunk_size=500) |
📌 2) 문단 기반 Chunking
- 문단이나 주제 단위로 나눔
- 자연스러운 문맥을 유지할 수 있음
📌 3) 슬라이딩 윈도우 (Sliding Window)
- 겹치도록 나누어서 문맥 손실을 줄임
- 예: [1-500], [400-900], [800-1300]...
| Chunk 1: 이 문서는 LLM에 대한 설명입니다. LLM은... Chunk 2: ...LLM은 다양한 자연어 처리를 지원합니다. 특히... |
✅ 4. Chunking + Embedding (RAG의 핵심 기술)
RAG(Retrieval-Augmented Generation) 방식에서는 문서를 청크로 나눈 뒤, 각각을 벡터 임베딩하여 검색에 활용합니다.
문서 → 청크 → 임베딩 → 벡터 DB에 저장 → 쿼리와 유사도 검색 → 관련 청크만 LLM에 전달
🔍 예시 흐름:
- 논문을 청크로 분할
- 각 청크를 벡터로 변환
- 사용자 질문 → 임베딩
- 가장 유사한 청크들을 찾아 LLM에게 제공
- 정확한 답변 생성
✅ 5. LLM 사용 시 Chunking이 영향을 미치는 요소
항목설명
| 문맥 유지 | 청크 사이의 문맥이 자연스럽지 않으면 품질 저하 |
| 응답 정확도 | 관련 없는 청크가 선택되면 부정확한 응답 유도 |
| 성능 최적화 | 청크 크기 조정으로 처리 속도와 비용 최적화 가능 |
✅ 6. 실전에서의 사용 예
📘 문서 요약:
- 긴 리포트를 청크로 나눈 뒤 각 청크 요약 → 전체 요약으로 통합
🔍 문서 질의응답 (RAG):
- 유저 질문 → 관련 청크만 선택 → GPT에게 전달 → 정답 제공
📄 계약서 검토:
- 청크 단위로 분석 → 리스크 요소만 추출
✅ 7. 유의사항
- 너무 짧은 청크는 정보 부족 → 부정확한 응답
- 너무 긴 청크는 LLM의 한계를 초과 → 오류 발생
- Overlap을 적절히 설정하여 문맥 연결 유지가 중요
🔚 마무리
LLM에서의 Chunking은 성능과 정확도에 핵심적인 요소입니다. 특히 RAG 기반 검색, 문서 요약, 질의응답 시스템에서 매우 중요한 역할을 합니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 쿠버네티스
- 코로나19
- 오라클
- Qdrant
- poetry
- RangChain
- K8s
- 테라폼
- MCP
- RAG
- kiwipiepy
- llama
- llm
- open ai
- CVE 취약점 점검
- Chroma
- Oracle
- KoSimCSE
- 5.4.0.1072
- embedding
- MSA
- Weaviate
- Ai
- n8n
- 임베딩
- VectorStore
- 버쳐박스
- faiss
- AWS
- chunking
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
글 보관함
