일본 연구소들이 더 나은 RAG 시스템을 구축하는 방법
벡터 데이터베이스는 관련 있는 청크를 반환합니다. 임베딩 모델은 벤치마크에서 높은 점수를 받습니다. 하지만 사용자가 복잡한 질문을 던지면, 시스템은 쓸모없는 답변을 내놓습니다.
이것은 검색 아키텍처의 실패입니다. LLM을 튜닝한다고 해서 해결되지 않습니다.
일본의 한 연구팀이 해결책을 찾아냈습니다. 그들은 지식 그래프(knowledge graph) RAG 시스템을 구축했습니다. 이 접근 방식은 과학적 작업의 정확도를 90% 향상시켰습니다.
표준 RAG의 문제는 의미적 유사성(semantic similarity)입니다. 단백질 접힘(protein folding)에 관한 청크가 CRISPR에 관한 질의와 유사해 보일 수 있습니다. 하지만 유사성이 곧 관련성을 의미하지는 않습니다.
일본 연구팀은 단순히 텍스트 청크만 사용하는 대신 엔티티 관계(entity relationships)를 사용합니다. 그들은 다음을 추출합니다:
- 단백질이나 연구자와 같은 엔티티
- 억제(inhibits) 또는 인용(cites)과 같은 관계
- 신뢰도 점수와 같은 속성
그들은 2단계 프로세스를 사용합니다. 첫째, 관련 서브그래프(subgraphs)를 식별합니다. 둘째, 해당 엔티티에 고정된(anchored) 텍스트를 검색합니다. 이를 통해 의미적 표류(semantic drift)를 방지합니다. 단순히 유사한 단어가 아니라 문맥(context)을 검색하게 됩니다.
GraphRAG는 표준 RAG보다 구축하기 어렵습니다. 다음이 필요합니다:
- 엔티티 추출 파이프라인
- 관계 분류
- 그래프 저장 인프라
- 하이브리드 쿼리 엔진
가장 큰 리스크는 유지보수입니다. 업데이트를 하지 않으면 그래프는 노후화됩니다. 저는 2023년에 이를 뼈저리게 경험했습니다. 높은 정밀도를 가진 법률 RAG 시스템을 구축했지만, 업데이트 메커니즘을 만드는 데 실패했습니다. 6개월 후, 데이터는 최신 상태가 아니게 되었습니다. 정확도는 94%에서 71%로 떨어졌습니다.
제대로 구축하는 방법:
- 엔티티 분류 체계(taxonomy)부터 시작하세요. 20~30개의 중요한 유형을 선정합니다.
- 첫날부터 하이브리드 검색을 사용하세요. 관계에는 그래프를, 주제에는 벡터를 사용합니다.
- 유지보수 파이프라인을 먼저 구축하세요. 새로운 문서가 그래프를 어떻게 업데이트할지 계획합니다.
- 추론 체인(reasoning chains)을 측정하세요. 시스템이 답변을 내놓기까지 몇 단계를 거치는지 추적합니다.
과학, 법률, 의료 분야에서 일한다면 유지보수 비용을 들일 가치가 있습니다. 단순한 FAQ의 경우에는 표준 RAG로도 충분합니다.
스스로에게 물어보세요: 질의 중 관계에 대해 묻는 비율이 얼마나 됩니까? 사용자의 40% 이상이 사물 간의 관계를 묻는다면, 그래프가 필요합니다.
Optional learning community: https://t.me/GyaanSetuAi