추출과 글리닝
GraphRAG의 그래프 품질은 첫 단계인 추출에서 정해집니다. 청크 크기가 추출량과 비용을 어떻게 바꾸는지, 빠진 엔티티를 다시 묻는 글리닝이 무엇인지 논문 부록을 따라 계산해 봅니다.
이번 회차, 내 속도로.
기초를 더 짚거나 궁금한 주제로 잠깐 넓혀 보세요. 최대 3단계를 거쳐 DAY 87로 돌아옵니다.
난이도·관심 주제 고르기
1/2개 선택 · 새 보충·심화 수업과 본과정 다시 읽기를 선택할 수 있어요.
이렇게 다녀와요 1단계 · 약 12분
- 출발 · DAY 87청크 크기·글리닝
- 1. 관심 주제토큰 예산·선불 비용·질의 비용추가 35 · 새 추가 수업
- 복귀 · DAY 87원래 회차 이어가기
- 토큰 예산·선불 비용·질의 비용 · DAY 86에서 ‘비용은 인덱싱 때 먼저 낸다’고 했는데, 그 크기를 토큰으로 세어 보면 청크 크기·글리닝·커뮤니티 레벨 선택의 무게가 보입니다.
선택과 경로 기록은 이 브라우저에 저장됩니다. 본과정의 회차 완료와는 별도입니다.
핵심 개념
청크 크기는 GraphRAG 인덱싱의 기본 설계 결정입니다. Edge et al.(2024)은 긴 청크일수록 추출에 필요한 LLM 호출이 적어 비용이 줄지만, 청크 앞쪽에 나온 정보의 재현율이 떨어진다고 씁니다. 부록에서는 HotPotQA 표본에 대해 GPT-4가 600토큰 청크일 때 2400토큰 청크보다 엔티티 참조를 거의 두 배 추출했다고 보고합니다. 논문의 평가는 600토큰 청크에 100토큰 겹침을 썼고, 공식 문서의 기본값은 1200토큰입니다.
글리닝(gleaning)은 이 손실을 메우는 자기 성찰(self-reflection) 프롬프트입니다. 추출이 끝나면 추출한 엔티티를 LLM에 다시 보여 주고 빠진 엔티티가 있는지 예/아니오로 판정하게 합니다(논문은 로짓 편향 100으로 둘 중 하나만 고르게 함). 빠졌다고 답하면 “MANY entities were missed in the last extraction”이라는 이어 쓰기로 빠진 엔티티를 더 뽑게 하고, 정한 최대 횟수까지 반복합니다. 논문은 이 방법으로 품질 저하나 잡음 없이 더 큰 청크를 쓸 수 있었다고 설명합니다.
추출 뒤에는 병합이 따릅니다. 같은 엔티티가 여러 청크에서 나오면 인스턴스 여러 개가 생기고, 이것을 노드 하나로 모아 설명들을 LLM으로 요약합니다. 논문은 엔티티 이름을 정확한 문자열 일치로 맞췄다고 밝히므로 ‘가람전자’와 ‘가람전자(주)’는 다른 노드가 됩니다. 논문은 이런 중복이 대개 같은 커뮤니티로 묶여 요약에서 크게 문제 되지 않는다고 보지만, 엔티티 단위 질의나 근거 집계에는 영향을 주므로 엔티티 해소(DAY 68)를 넣을 자리입니다.
비용은 대략 청크 수 × (1 + 글리닝 횟수)로 늘어납니다(판정과 추가 추출을 한 번의 호출로 센 단순 모델). 큰 청크에 글리닝을 더하는 조합과 작은 청크를 쓰는 조합 중 무엇이 나은지는 데이터와 모델마다 다르므로, 표본 문서로 추출 엔티티 수와 호출 수를 함께 측정해 정합니다.
작은 예제로 따라가기
12만 토큰 코퍼스(겹침 무시)를 600토큰으로 자르면 200개, 2400토큰으로 자르면 50개 청크라 추출 호출은 200회 대 50회입니다.
논문 부록의 관찰처럼 600토큰 청크에서 엔티티 참조가 거의 두 배라면, 2400토큰은 호출을 1/4로 줄이는 대신 추출량을 약 절반 잃을 수 있습니다.
2400토큰에 글리닝 1회를 더하면 단순 모델로 50×2=100회입니다. 600토큰의 절반 호출로 추출량 회복을 노리는 조합이며, 실제 회복 정도는 측정해서 확인합니다.
직접 실험해 보기
청크 크기를 600과 2400에 놓고 글리닝을 0·1·2회로 바꿔 가며 LLM 호출 수와 추출 엔티티 수(교육용 가상 수치)를 표에 적은 뒤, 적은 호출로 600토큰 수준의 추출량에 가장 가까워지는 조합을 찾으세요.
청크 크기와 글리닝으로 추출량 조절하기
| 청크 크기 | 청크 수 | LLM 호출 | 추출 참조 | 호출당 추출 |
|---|---|---|---|---|
| 300 | 80 | 160 | 585 | 3.7 |
| 600 | 40 | 80 | 585 | 7.3 |
| 1,200 | 20 | 40 | 502 | 12.6 |
| 2,400 | 10 | 20 | 443 | 22.1 |
요소 요약 예: 누리전자
설명 3개 → 1개- C2: 해솔시에 본사를 둔 전자 회사, 그린셀 공급 계약
- C3: 연구소장 강민이 이끄는 연구소가 있는 회사
- C6: 공장 폐수 문제로 시민단체와 갈등
LLM 요약(고정 예시): 해솔시 본사의 전자 회사로 가온배터리와 그린셀 공급 계약을 맺었고, 연구소장은 강민이며, 폐수 문제로 정화 설비 투자를 약속했다.
이번에는 직접 풀어 보세요
정답을 보기 전에 계산과 이유를 적어 보세요. 해설과 비교하고 확인 표시를 남기면 완료할 수 있습니다.
힌트 보기
문자열이 한 글자라도 다르면 정확한 일치에서는 다른 노드입니다.
풀이와 비교하기
정확한 문자열 일치로는 노드 2개가 됩니다. 관계도 둘로 나뉘어 각 노드의 차수와 근거가 따로 집계되므로, 보고서에서 같은 회사가 두 번 언급되거나 중요도가 낮게 매겨질 수 있습니다. 엔티티 해소 후에는 노드 1개에 설명 4개가 모여 한 번에 요약되고, 관계와 근거도 한곳에 모입니다.
풀이와 확인 표시는 이 브라우저에 저장됩니다.
오늘 이해한 것과 다시 볼 것
계산이 달라진 이유, 헷갈린 개념, 다음에 확인할 질문을 남겨 보세요.
메모는 이 브라우저에 저장됩니다. 홈에서 전체 기록을 내려받을 수 있습니다.오늘의 이해 확인
GraphRAG 논문에서 글리닝(gleaning)이 하는 일은?
완료 조건: 확인 퀴즈 정답 · / 직접 풀기 0/1
더 깊이 읽기
예제와 실험 데이터는 이 과정을 위해 만든 것입니다. 원문은 선택 자료이며, 강의와 직접 풀기만으로도 다음 회차를 이어갈 수 있습니다.
From Local to Global: A Graph RAG Approach to Query-Focused SummarizationEdge et al. (2024)GraphRAG DocumentationMicrosoftHotpotQA: A Dataset for Diverse, Explainable Multi-hop Question AnsweringYang et al. (2018)이 자료는 개념 학습용입니다. 실제 데이터베이스·라이브러리·플랫폼의 동작과 설정은 제품과 버전마다 다를 수 있습니다.