이번에 더 배울 것
DRIFT 검색(Microsoft Research 블로그, 2024년 10월)은 로컬 검색에 커뮤니티 정보를 더합니다. 프라이머(Primer) 단계에서 가상 문서 임베딩(HyDE)을 써 질문과 의미가 가장 가까운 상위 K개 커뮤니티 보고서와 비교하고, 폭넓은 첫 답과 후속 질문을 만듭니다. 후속(Follow-Up) 단계에서는 각 후속 질문을 로컬 검색 변형으로 풀어 중간 답과 새 후속 질문을 만들고(블로그 기준 두 번 반복), 마지막으로 질문과 답을 관련도 순으로 정리한 계층(Output Hierarchy)을 냅니다.
동적 커뮤니티 선택(dynamic community selection, 2024년 11월 블로그)은 전역 검색의 비용을 줄입니다. 루트 커뮤니티부터 LLM이 각 보고서가 질문에 관련 있는지 평가해, 관련 없으면 그 보고서와 하위 커뮤니티를 검색에서 뺍니다. 관련 있으면 자식 노드로 내려가 같은 평가를 반복하고, 마지막에 관련 보고서만 맵-리듀스에 넘깁니다. 블로그는 평가에 GPT-4o-mini를 썼고, AP 뉴스 데이터의 전역 질문 50개에서 레벨 1 정적 전역 검색보다 평균 77% 비용을 줄이면서 비슷한 답 품질을 냈다고 보고합니다.
두 방법 모두 ‘무엇을 읽을지 고르는 LLM 호출’을 추가로 씁니다. 관련성 평가가 틀리면 필요한 하위 커뮤니티 전체가 잘려 나가고, 후속 질문이 엇나가면 엉뚱한 엔티티 주변을 파고듭니다. DRIFT 블로그는 로컬 질문 50개에서 DRIFT가 로컬 검색보다 포괄성 78%, 다양성 81%의 비율로 앞섰다고 보고하지만, 이런 수치는 특정 데이터셋과 질문에서 나온 것이므로 도입 전에는 내 질문으로 기존 방식과 나란히 비교합니다.
작은 예제로 따라가기
루트 보고서 4개(루트마다 자식 4개, 레벨 1 보고서 16개)를 평가해 2개만 관련이 있으면, 나머지 2개와 그 아래 자식 8개는 건너뜁니다.
관련 루트 2개의 자식 8개를 평가해 3개가 관련이면, 관련성 평가 호출은 4+8=12회(작은 모델)입니다.
보고서 하나를 맵 1회로 단순화하면 맵은 관련 보고서 3개에 대해 3회입니다. 레벨 1 정적 전역 검색은 16개를 모두 맵합니다(가상 구조).
읽을 보고서를 고르는 세 방식
루트 4개, 루트마다 자식 4개인 계층에서 관련 루트가 2개, 그 자식 중 관련이 3개일 때 각 방식이 몇 개의 보고서를 다룰지 먼저 세어 보세요.
관련 여부와 상관없이 그 레벨의 모든 보고서를 처리합니다.
학습을 시작하면 새 문제를 직접 풀고 확인 퀴즈를 마친 뒤 선택한 본과정 회차로 돌아갑니다.