소식

마이크로소프트 오픈소스 GraphRAG 인기 폭발, 생성 AI가 지식 그래프 시대에 진입한 걸까?

2024-07-15

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

기계 심장 보고서

편집자: Panda W

지식 그래프는 결코 환경에서 물러나지 않습니다!

LLM은 매우 강력하지만 환각 문제, 해석력 부족, 문제의 초점 파악 실패, 개인 정보 보호 및 보안 문제 등과 같은 몇 가지 명백한 단점도 있습니다. 검색 증강 생성(RAG)은 LLM의 생성 품질과 결과 유용성을 크게 향상시킬 수 있습니다.

이달 초 Microsoft는 가장 강력한 오픈 소스 RAG 지식 기반 솔루션인 GraphRAG를 출시했습니다. 이 프로젝트는 온라인에 출시된 직후 인기를 얻었으며 현재 별 수가 10.5,000개에 이르렀습니다.



  • 프로젝트 주소: https://github.com/microsoft/graphrag
  • 공식 문서: https://microsoft.github.io/graphrag/

어떤 사람들은 일반 RAG보다 더 강력하다고 말합니다.



GraphRAG는 LLM을 사용하여 지식 그래프를 생성합니다. 이는 특히 개인 데이터를 다룰 때 복잡한 정보에 대한 문서 분석을 수행할 때 질문 및 답변 성능을 크게 향상시킬 수 있습니다.



GraphRAG와 기존 RAG의 비교 결과

오늘날 RAG는 실제 정보를 사용하여 LLM 출력을 향상시키는 기술이며 대부분의 LLM 기반 도구의 중요한 부분입니다. 일반적으로 RAG는 Baseline RAG라고 하는 검색으로 벡터 유사성을 사용합니다. 그러나 Baseline RAG는 일부 상황에서 완벽하게 작동하지 않습니다. 예를 들어:

  • Baseline RAG는 점을 연결하는 데 어려움을 겪고 있습니다. 이는 질문에 답하기 위해 공유 속성을 통해 다양한 정보 조각을 탐색하여 새로운 결합된 통찰력을 제공해야 할 때 발생합니다.
  • Baseline RAG는 대규모 데이터 세트 또는 단일 대규모 문서에서 요약된 의미 체계 개념을 포괄적으로 이해하라는 요청을 받을 때 제대로 작동하지 않습니다.

Microsoft에서 제안하는 GraphRAG는 LLM을 사용하여 입력 텍스트 라이브러리를 기반으로 지식 그래프를 생성합니다. 이 그래프는 커뮤니티 요약과 그래프 기계 학습의 출력을 결합하여 쿼리 시 힌트를 향상합니다. GraphRAG는 두 가지 유형의 질문에 대한 답변에서 상당한 개선을 보여 개인 데이터 세트에 대한 이전 방법보다 뛰어난 성능을 보여줍니다.

하지만 모두가 GraphRAG에 대해 더 깊이 이해하게 되면서 그 원리와 내용이 정말 이해하기 어렵다는 것을 알게 되었습니다.



최근 Neo4j Company의 CTO인 Philip Rathle은 "GraphRAG 선언문: 생성적 AI에 지식 추가"라는 제목의 블로그 기사를 게재했습니다. Rathle은 GraphRAG의 원리와 기존 RAG와의 차이점을 이해하기 쉬운 언어로 자세히 소개했습니다. GraphRAG 등.

그는 "차세대 AI 애플리케이션은 아마도 지식 그래프를 사용할 것"이라고 말했습니다.



Neo4j CTO 필립 래슬

아래 기사를 읽어보세요.

우리는 이것을 깨닫고 있습니다. 생성 AI로 정말 의미 있는 일을 하려면 자동 회귀 LLM에만 의존하여 결정을 내릴 수는 없습니다.

나는 당신이 어떻게 생각하는지 알고 있습니다: "RAG를 사용하세요." 아니면 미세 조정하거나, GPT-5를 기다리세요.

예. 벡터 기반 검색 증대 생성(RAG) 및 미세 조정과 같은 기술이 도움이 될 수 있습니다. 그리고 그들은 특정 사용 사례를 충분히 잘 해결합니다. 그러나 이러한 모든 기술을 중단시키는 한 가지 유형의 사용 사례가 있습니다.

많은 문제에서 벡터 기반 RAG(및 미세 조정)에 대한 솔루션은 본질적으로 정답 확률을 높이는 것입니다. 그러나 어느 기술도 정답에 대한 어느 정도의 확실성을 제공하지 않습니다. 맥락이 부족하여 이미 알고 있는 내용과 연결하기 어려운 경우가 많습니다. 또한 이러한 도구는 특정 결정이 내려진 이유에 대한 단서를 제공하지 않습니다.

Google이 2세대 검색 엔진을 출시하고 "지식 그래프 소개: 문자열이 아닌 사물"이라는 상징적인 블로그 게시물을 게시했던 2012년으로 다시 관심을 돌려보겠습니다. 그들은 다양한 문자열 처리를 수행하는 것 외에도 지식 그래프를 사용하여 웹 페이지에서 문자열로 표현된 모든 것을 정리하면 검색이 크게 향상될 수 있음을 발견했습니다.

이제 생성 AI 분야에서도 비슷한 패턴이 나타나고 있습니다. 많은 생성 AI 프로젝트는 솔루션이 사물이 아닌 문자열을 다룬다는 사실로 인해 결과의 품질이 제한되는 벽에 부딪혔습니다.

오늘날 최첨단 AI 엔지니어와 학술 연구자들은 Google이 한때 발견한 것을 재발견했습니다. 이 병목 현상을 깨는 비결은 지식 그래프입니다. 즉, 사물에 대한 지식을 통계 기반 텍스트 기술에 도입하는 것이다. 작동 방식은 벡터 인덱싱 외에도 지식 그래프도 호출한다는 점을 제외하면 다른 RAG와 유사합니다. 즉, GraphRAG! (GraphRAG = 지식 그래프 + RAG)

이 기사의 목표는 GraphRAG에 대한 포괄적이고 이해하기 쉬운 소개를 제공하는 것입니다. 연구에 따르면 데이터를 지식 그래프로 구축하고 RAG를 통해 이를 사용하면 몇 가지 강력한 이점을 얻을 수 있습니다. GraphRAG가 일반적인 벡터를 사용하는 RAG보다 LLM에 묻는 질문의 대부분 또는 전부에 더 잘 답할 수 있다는 것을 입증하는 많은 연구가 있습니다.

이러한 장점만으로도 GraphRAG의 채택을 크게 촉진하기에 충분합니다.

하지만 여기서 끝나지 않습니다. 앱을 구축할 때 데이터가 표시되므로 개발도 더 간편해집니다.

GraphRAG의 세 번째 장점은 인간과 기계 모두 그래프를 잘 이해하고 이를 기반으로 추론을 수행할 수 있다는 것입니다. 결과적으로 GraphRAG를 사용하여 애플리케이션을 구축하는 것이 더 간단하고 더 나은 결과를 얻을 수 있을 뿐만 아니라 해석 및 감사도 더 쉽습니다(많은 산업에서 중요).

나는 GraphRAG가 대부분의 사용 사례에 대한 기본 RAG 아키텍처로서 벡터 전용 RAG를 대체할 것이라고 믿습니다. 이 기사에서는 그 이유를 설명합니다.

지도란 무엇입니까?

먼저 그래프가 무엇인지 명확히 해야 합니다.

그래프라고도 알려진 그래프는 종종 "그래프"로 번역되지만, 따라서 이미지, 그림과 같은 개념과 쉽게 혼동됩니다. 구별을 용이하게 하기 위해 이 기사에서는 번역 방법인 "图图"만을 사용합니다.

그래프는 아마도 다음과 같습니다.



지도 예시

이 사진은 지식 그래프의 예시로 자주 사용되지만 출처와 작성자는 더 이상 알 수 없습니다.

아니면 이거:



William Lyon의 "왕좌의 게임" 캐릭터 관계 맵

아니면 이거:



런던 지하철 지도입니다. 재미있는 사실: Transport for London은 최근 사고 대응 능력을 향상하고 혼잡을 줄이기 위해 그래프 기반 디지털 트윈 애플리케이션을 배포했습니다.

즉, 지도는 다이어그램이 아닙니다.

여기서는 여러분이 이미 지도가 무엇인지 이해하고 있다는 가정 하에 정의 문제에 대해 너무 많이 다루지 않겠습니다.

위 그림을 이해한다면 기본 지식 그래프 데이터(그래프 데이터베이스에 저장됨)를 어떻게 쿼리하고 RAG 워크플로의 일부로 사용할 수 있는지 알 수 있을 것입니다. GraphRAG 입니다.

지식 표현의 두 가지 형태: 벡터와 그래프

일반적인 RAG의 핵심은 입력 텍스트 블록을 기반으로 후보 작성 자료에서 개념적으로 유사한 텍스트를 찾아서 반환하는 벡터 검색입니다. 이러한 종류의 자동화는 훌륭하게 작동하며 기본 검색도 유용합니다.

하지만 검색을 수행할 때마다 벡터가 무엇인지, 유사성 계산이 어떻게 구현되는지 생각해 본 적이 없을 수도 있습니다. 다음으로 애플을 살펴보자. 인간 관점, 벡터 관점, 그래프 관점에서 다양한 형태를 제시합니다.



인간의 관점, 벡터 관점, 지도 관점에서 본 사과

인간에게 사과의 표현은 복잡하고 다차원적이며 그 특성을 종이에 완전히 설명할 수는 없습니다. 여기서 우리는 이 빨간 사진이 지각적으로나 개념적으로 사과를 나타낼 수 있다는 것을 시적으로 상상할 수 있습니다.

이 사과의 벡터 표현은 배열입니다. 벡터의 마법은 각각 해당 텍스트의 본질을 인코딩된 형식으로 포착한다는 것입니다. 그러나 RAG의 맥락에서 벡터는 텍스트 조각이 다른 텍스트 조각과 얼마나 유사한지 확인해야 할 때만 필요합니다. 이렇게 하려면 유사성 계산을 수행하고 일치 여부를 확인하면 됩니다. 그러나 벡터 내부의 의미를 이해하고, 텍스트에 표현된 내용을 이해하고, 더 큰 맥락과의 관계에 대한 통찰력을 얻고 싶다면 벡터 표현을 사용하는 것은 효과가 없습니다.

이에 비해 지식 그래프는 선언적 형식, 즉 AI 분야의 용어, 즉 상징적으로 세상을 표현한다. 그러므로 인간과 기계 모두 지식 그래프를 이해하고 이를 기반으로 추론을 수행할 수 있다. 이는 중요하며 나중에 언급하겠습니다.

또한 지식 그래프를 쿼리하고, 시각화하고, 주석을 달고, 수정하고, 확장할 수 있습니다. 지식 그래프는 현재 작업 분야의 세계를 표현할 수 있는 세계 모델입니다.

GraphRAG 및 RAG

두 사람은 경쟁하고 있지 않습니다. RAG의 경우 벡터 쿼리와 그래프 쿼리가 모두 유용합니다. LlamaIndex의 창립자인 Jerry Liu는 다음과 같이 지적합니다. GraphRAG에 대해 생각할 때 벡터를 포함하는 것이 도움이 됩니다. 이는 텍스트 임베딩 간의 유사성에 전적으로 기반을 둔 "벡터 전용 RAG"와 다릅니다.

기본적으로 GraphRAG는 검색 경로에 지식 그래프가 포함된다는 점을 제외하면 일종의 RAG입니다. 아래에서 볼 수 있듯이 GraphRAG의 핵심 스키마는 매우 간단합니다. 그 아키텍처는 벡터를 사용하는 RAG와 동일하지만 지식 그래프 레이어를 포함합니다.

GraphRAG 모드

GraphRAG의 일반적인 패턴



보시다시피 위 그림에서는 그래프 쿼리가 실행되었습니다. 선택적으로 벡터 유사성 구성요소를 포함할 수 있습니다. 그래프와 벡터를 서로 다른 두 데이터베이스에 저장하도록 선택하거나 벡터 검색을 지원하는 Neo4j와 같은 그래프 데이터베이스를 사용할 수 있습니다.

GraphRAG를 사용하는 일반적인 패턴은 다음과 같습니다.

1. 벡터 검색이나 키워드 검색을 수행하여 초기 노드 세트를 찾습니다.

2. 그래프를 탐색하고 관련 노드에 대한 정보를 가져옵니다.

3. (선택 사항) PageRank와 같은 그래프 기반 순위 알고리즘을 사용하여 문서 순위를 다시 지정합니다.

사용 사례가 다르면 사용 패턴도 달라집니다. 오늘날 AI 분야의 모든 연구 방향과 마찬가지로 GraphRAG도 연구가 풍부한 분야이며 매주 새로운 발견이 등장합니다.

GraphRAG 수명주기

GraphRAG를 사용하는 생성 AI는 다른 RAG 애플리케이션의 패턴도 따릅니다. 처음에는 "그래프 생성" 단계가 있습니다.



GraphRAG 수명주기

그래프를 만드는 것은 문서를 청크하여 벡터 데이터베이스에 로드하는 것과 유사합니다. 도구의 발전으로 지도 작성이 매우 쉬워졌습니다. 세 가지 좋은 소식이 있습니다.

1. 지도는 매우 반복적입니다. "최소 실행 가능한 지도"로 시작한 다음 이를 기반으로 확장할 수 있습니다.

2. 지식 그래프에 데이터가 추가되면 쉽게 진화할 수 있습니다. 더 많은 유형의 데이터를 추가하여 데이터 네트워크 효과를 얻고 활용할 수 있습니다. 또한 데이터 품질을 향상하여 애플리케이션의 가치를 높일 수도 있습니다.

3. 이 분야는 빠르게 발전하고 있습니다. 이는 도구가 더욱 정교해짐에 따라 지도 작성이 점점 더 쉬워진다는 것을 의미합니다.

이전 그림에 맵 생성 단계를 추가하면 아래와 같은 워크플로가 생성됩니다.



지도 생성 단계 추가

GraphRAG가 어떤 이점을 가져올 수 있는지 살펴보겠습니다.

GraphRAG를 사용하는 이유는 무엇입니까?

벡터 전용 RAG와 비교하여 GraphRAG의 장점은 주로 세 가지 범주로 나뉩니다.

1. 더 높은 정확성과 더 완전한 답변(런타임/생산 이점)

2. 지식 그래프가 생성되면 RAG 애플리케이션 구축 및 유지 관리가 더 쉬워집니다(개발 시간 이점)

3. 더 나은 설명성, 추적성 및 액세스 제어(거버넌스 이점)

이러한 이점에 대해 자세히 살펴보겠습니다.

1. 더 정확하고 더 유용한 답변

GraphRAG의 첫 번째 장점(그리고 가장 즉시 눈에 띄는)은 응답 품질이 더 높다는 것입니다. 학계에서든 업계에서든 이러한 관찰을 뒷받침하는 많은 증거를 볼 수 있습니다.

데이터 카탈로그 회사인 Data.world의 예와 같습니다. 2023년 말에 그들은 GraphRAG가 43개의 비즈니스 질문에 대해 LLM 응답의 정확성을 평균 3배 향상시킬 수 있음을 보여주는 연구 보고서를 발표했습니다. 이 벤치마크 연구는 지식 그래프가 응답 정확도를 크게 향상시킬 수 있다는 증거를 제공합니다.



지식 그래프는 LLM 응답의 정확도를 54.2%포인트(약 3배) 향상시킵니다.

마이크로소프트는 또한 2024년 2월 연구 블로그 "GraphRAG: Unlocking LLM discovery on Narrative Private Data"와 관련 연구 논문 "From Local to Global: A Graph RAG Approach to Query-Focused Summarization" 등 일련의 증거를 제공했으며 소프트웨어는 다음과 같습니다. https://github.com/microsoft/graphrag (위의 시작 부분에서 언급한 GraphRAG).

그 중 그들은 벡터를 사용한 기준선 RAG에서 다음과 같은 두 가지 문제점을 관찰했습니다.

  • Baseline RAG를 사용하면 점을 연결하기가 어렵습니다. 새로운 통찰력을 얻기 위해 서로 다른 정보를 합성하려면 공유 속성을 통해 서로 다른 정보 조각을 탐색해야 합니다. 이때 기본 RAG는 서로 다른 정보 조각을 연결하기가 어렵습니다.
  • Baseline RAG는 대규모 데이터 컬렉션이나 단일 대규모 문서에 대해 귀납적으로 요약된 의미론적 개념을 포괄적으로 이해하라는 요청을 받을 때 제대로 작동하지 않습니다.

Microsoft는 다음과 같이 밝혔습니다. “LLM에서 생성된 지식 그래프를 사용함으로써 GraphRAG는 RAG의 "검색" 부분을 크게 개선하여 컨텍스트 창에 더 관련성 있는 콘텐츠를 채워 더 나은 답변을 얻고 증거 소스를 얻을 수 있습니다. ” 그들은 또한 다른 대체 방법과 비교하여 GraphRAG가 26% ~ 97% 더 적은 토큰을 필요로 하므로 더 나은 답변을 제공할 뿐만 아니라 비용이 저렴하고 확장성이 더 우수하다는 것을 발견했습니다.

정확성에 대해 좀 더 깊이 파고들면, 답이 맞는 것도 중요하지만 유용해야 한다는 것을 우리는 알고 있습니다. GraphRAG는 답변을 더욱 정확하게 만들 뿐만 아니라 답변을 더욱 풍부하고 완전하며 유용하게 만드는 것으로 나타났습니다.

LinkedIn의 최근 논문 "고객 서비스 질문 응답을 위한 지식 그래프를 사용한 검색 증강 생성"은 GraphRAG가 고객 서비스 애플리케이션에 미치는 영향을 보여주는 훌륭한 예입니다. GraphRAG는 고객 서비스 답변의 정확성과 풍부함을 개선하여 더욱 유용하게 만들었으며 고객 서비스 팀이 각 문제를 해결하는 데 소요되는 평균 시간을 28.6% 단축했습니다.

Neo4j의 Generative AI 워크숍에도 비슷한 예가 있습니다. 아래에 표시된 대로 이는 일련의 SEC 서류에 대해 "벡터 + GraphRAG" 및 "벡터 전용" 방법으로 얻은 답변입니다.



"벡터 전용" 방법과 "벡터 + GraphRAG" 방법 비교

'리튬 부족으로 영향을 받을 수 있는 기업의 특성을 기술한다'와 '영향을 받을 수 있는 구체적인 기업을 나열한다'의 차이점을 참고하시기 바랍니다. 시장 변화에 대응하여 포트폴리오의 균형을 재조정하려는 투자자이거나 자연재해에 대응하여 공급망을 재조정하려는 기업이라면 위 차트의 오른쪽에 있는 정보가 확실히 위 차트의 정보보다 훨씬 더 중요합니다. 왼쪽에. 여기서는 두 답변 모두 정확합니다. 그러나 오른쪽의 답변이 분명히 더 유용합니다.

Jesus Barrasa의 Going Meta 에피소드 23은 또 다른 훌륭한 예를 제공합니다. 법률 문서 작업을 위해 단어 맵으로 시작하는 것입니다.

우리는 또한 때때로 학계와 업계의 새로운 사례를 봅니다. 예를 들어, Lettria의 Charles Borderie는 "벡터 전용" 및 "벡터 + GraphRAG" 방법의 비교 예를 제공했습니다. GraphRAG는 LLM 기반 텍스트-그래프 작업 흐름을 사용하여 10,000개의 금융 기사를 지식 그래프로 구성합니다.



검색자 전용 방법과 그래프 검색자 방법 비교

일반 RAG를 사용하는 것에 비해 GraphRAG를 사용하면 답변의 품질이 향상될 뿐만 아니라 답변에 포함된 토큰 수가 1/3로 줄어드는 것을 볼 수 있습니다.

Writer의 또 다른 예를 들어보겠습니다. 그들은 최근 GraphRAG 기반 방법을 다른 유사한 도구와 비교한 RobustQA 프레임워크를 기반으로 한 RAG 벤치마크 보고서를 발표했습니다. GraphRAG에서 얻은 점수는 86%로 다른 방법(33% ~ 76% 범위)에 비해 훨씬 우수하며 대기 시간 성능도 비슷하거나 더 좋습니다.



RAG 방식의 정확도 및 응답시간 평가 결과

GraphRAG는 다양한 생성 AI 애플리케이션을 돕고 있습니다. 지식 그래프는 생성 AI의 결과를 더욱 정확하고 유용하게 만드는 길을 열어줍니다.

2. 데이터 이해도 향상 및 반복 속도 향상

지식 그래프는 개념적으로나 시각적으로나 직관적입니다. 지식 그래프를 탐색하면 새로운 통찰력을 얻을 수 있는 경우가 많습니다.

많은 지식 그래프 사용자는 이러한 예상치 못한 결과를 공유했습니다. 자신만의 지식 그래프를 완성하는 데 투자하면 예상치 못한 방식으로 생성 AI 애플리케이션을 구축하고 디버깅하는 데 도움이 될 수 있습니다. 그 이유 중 하나는 그래프 형식으로 데이터를 보면 이러한 애플리케이션의 기반이 되는 데이터가 생생한 데이터 그림을 제공한다는 것을 알 수 있기 때문입니다.

그래프를 사용하면 답을 추적하고, 데이터를 찾고, 인과 관계 사슬을 추적할 수 있습니다.

리튬 부족에 관한 위의 예를 살펴 보겠습니다. 벡터를 시각화하면 아래 이미지와 비슷하지만 행과 열이 더 많아집니다.



벡터 시각화

그리고 데이터를 그래프로 변환하면 벡터 표현이 할 수 없는 방식으로 데이터를 이해할 수 있습니다.

다음은 최근 LlamaIndex 웹 세미나의 예입니다. "MENTIONS" 관계를 사용하여 벡터화된 단어 덩어리(어휘 그래프)를 추출하고 LLM을 사용하여 엔터티 그래프(도메인 그래프)를 추출하고 두 능력을 연결하는 방법을 보여줍니다.



어휘맵, 도메인맵 추출

(Langchain, Haystack, SpringAI와 같은 도구를 사용하는 예도 많이 있습니다.)

이 다이어그램에서 데이터의 풍부한 구조를 확인하고 이를 통해 구현되는 새로운 개발 및 디버깅 가능성을 상상할 수 있습니다. 각 데이터 조각에는 고유한 가치가 있으며, 구조 자체는 애플리케이션을 더욱 지능적으로 만드는 데 사용할 수 있는 추가 의미를 저장하고 전달합니다.

단순한 시각화가 아닙니다. 이는 또한 데이터 구조가 의미를 전달하고 저장할 수 있도록 하는 것과 관련이 있습니다. RAG 워크플로우에 지식 그래프를 도입한 지 불과 일주일 만에 유명 핀테크 회사의 개발자가 남긴 반응은 다음과 같습니다.



GraphRAG에 대한 개발자의 반응

이 개발자의 반응은 대답이 올바른지 확인(신뢰는 아님)하는 "테스트 중심 개발" 가설과 매우 일치합니다. 개인적으로 의사결정이 완전히 불투명한 AI에게 내 자율성을 100% 부여하라는 요청을 받는다면 정말 끔찍할 것입니다. 더 구체적으로 말하자면, AI 종말론을 믿는 사람이 아니더라도 다음과 같이 동의할 것입니다. "Apple, Inc."와 관련된 단어나 문서를 "Apple Corps"(완전히 다른 두 가지 회사)에 매핑할 수 없는 경우 참으로 큰 가치가 있을 것입니다. 생성적 AI 결정을 내리는 것은 궁극적으로 데이터이기 때문에 데이터 정확성을 평가하고 보장하는 것이 가장 중요합니다.

3. 거버넌스: 설명 가능성, 보안 등

생성적 AI 결정의 영향이 클수록 결정이 잘못될 경우 궁극적으로 책임을 지는 사람들을 설득해야 합니다. 여기에는 일반적으로 모든 결정을 감사하는 작업이 포함됩니다. 이를 위해서는 올바른 결정에 대한 신뢰할 수 있고 반복 가능한 기록이 필요합니다. 그러나 이것만으로는 충분하지 않습니다. 결정을 채택하거나 포기할 때 그 이유도 설명해야 합니다.

LLM 자체는 이를 잘 수행하지 않습니다. 예, 이 결정을 내리는 데 사용된 문서를 참조하실 수 있습니다. 그러나 이러한 문서에는 결정 자체가 설명되어 있지 않습니다. LLM이 출처를 구성했다는 사실은 말할 것도 없습니다. 지식 그래프는 완전히 다른 수준에 있으므로 생성 AI의 추론 논리를 더 명확하게 만들고 입력을 더 쉽게 해석할 수 있습니다.

위의 예를 계속 진행해 보겠습니다. Lettria의 Charles는 10,000개의 금융 기사에서 추출한 엔터티를 지식 그래프에 로드하고 LLM을 사용하여 GraphRAG를 실행했습니다. 우리는 이것이 더 나은 답변을 제공한다는 것을 알았습니다. 데이터를 살펴보겠습니다.



금융기사 10,000개에서 추출한 엔터티를 지식 그래프에 불러옵니다.

먼저, 데이터를 그래프로 생각해보세요. 또한 데이터를 탐색 및 쿼리하고 언제든지 수정하고 업데이트할 수 있습니다. 거버넌스의 이점은 이 데이터의 "세계 모델"을 보고 감사하는 것이 훨씬 간단해진다는 것입니다. 그래프를 사용하면 동일한 데이터의 벡터 버전을 사용하는 것보다 궁극적인 책임을 지는 사람이 결정 이면의 추론을 이해할 가능성이 더 높습니다.

품질 보장과 관련하여 데이터를 지식 그래프에 넣을 수 있다면 오류와 놀라움을 찾아내고 소스를 추적하는 것이 더 쉬워질 것입니다. 또한 그래프에서 출처 및 신뢰도 정보를 얻을 수 있으며, 이를 계산 및 해석에 사용할 수 있습니다. 동일한 데이터의 벡터 전용 버전으로는 이 작업을 수행할 수 없으며 앞서 논의한 것처럼 벡터화된 데이터는 평균적인(심지어 평균이 아닌) 사람들이 이해하기 어렵습니다.

지식 그래프는 보안과 개인 정보 보호를 크게 향상할 수도 있습니다.

프로토타입을 제작할 때는 보안과 개인 정보 보호가 그다지 중요하지 않은 경우가 많지만, 제품에 내장하려면 매우 중요합니다. 은행이나 의료 등 규제가 적용되는 산업에서는 직원의 데이터 액세스 권한이 직위에 따라 달라집니다.

LLM이든 벡터 데이터베이스이든 데이터 액세스 범위를 제한하는 좋은 방법은 없습니다. 지식 그래프는 권한 제어를 사용하여 참가자가 액세스할 수 있는 데이터베이스의 범위를 규제하고 볼 수 없는 데이터를 볼 수 없도록 방지하는 좋은 솔루션을 제공할 수 있습니다. 지식 그래프에서 세분화된 권한 제어를 구현할 수 있는 간단한 보안 정책은 다음과 같습니다.



지식 그래프로 구현 가능한 간단한 보안 전략

지식 그래프 만들기

지식 그래프를 구축하려면 무엇이 필요합니까? 첫 번째 단계는 생성 AI 애플리케이션과 가장 관련된 두 가지 그래프를 이해하는 것입니다.

도메인 그래프는 현재 애플리케이션과 관련된 월드 모델을 나타냅니다. 간단한 예는 다음과 같습니다.



도메인 맵

어휘 그래프는 문서 구조의 그래프입니다. 가장 기본적인 어휘 그래프는 단어 덩어리로 구성된 노드로 구성됩니다.



어휘 지도

사람들은 청크, 문서 개체(예: 표), 장, 단락, 페이지 번호, 문서 이름 또는 번호, 컬렉션, 소스 등 간의 관계를 포함하도록 확장하는 경우가 많습니다. 아래와 같이 도메인 맵과 어휘 맵을 함께 결합할 수도 있습니다.



도메인 레이어와 어휘 레이어 결합

어휘 맵을 만드는 것은 매우 간단합니다. 주로 간단한 구문 분석과 청킹만 수행하면 됩니다. 도메인 맵의 경우 데이터 소스(정형 데이터 소스, 비정형 데이터 소스 또는 둘 다)에 따라 생성 경로가 다릅니다. 다행히 구조화되지 않은 데이터 소스에서 지식 그래프를 생성하는 도구가 빠르게 발전하고 있습니다.

예를 들어, 새로운 Neo4j Knowledge Graph Builder는 PDF 문서, 웹 페이지, YouTube 비디오 및 Wikipedia 기사를 사용하여 지식 그래프를 자동으로 생성할 수 있습니다. 전체 과정은 버튼 몇 번만 클릭하면 될 만큼 간단하며, 입력한 텍스트의 도메인 및 어휘 지도를 시각화하고 쿼리할 수 있습니다. 이 도구는 매우 강력하고 흥미롭고 지식 그래프를 생성하는 임계값을 크게 낮출 수 있습니다.

구조화된 데이터(예: 회사가 고객, 제품, 지리적 위치 등에 대해 저장하는 구조화된 데이터)의 경우 지식 그래프에 직접 매핑할 수 있습니다. 예를 들어, 관계형 데이터베이스에 가장 일반적으로 저장되는 구조화된 데이터의 경우 일부 표준 도구를 사용하여 입증되고 신뢰할 수 있는 규칙을 기반으로 관계를 그래프로 매핑할 수 있습니다.

지식 그래프 사용

지식 그래프가 있으면 GraphRAG를 만들 수 있습니다. LlamaIndex Property Graph Index, Langchain 통합 Neo4j 및 Haystack 통합 버전과 같이 선택할 수 있는 프레임워크가 많습니다. 이 분야는 빠르게 발전하고 있지만, 이제 프로그래밍 방법은 매우 단순해지고 있습니다.

그래프 생성에서도 마찬가지입니다. Neo4j Importer(그래픽 인터페이스를 통해 표 형식의 데이터를 그래프로 가져오고 매핑할 수 있음) 및 앞서 언급한 Neo4j Knowledge Graph Builder와 같은 도구가 등장했습니다. 아래 그림은 지식 그래프를 구축하는 단계를 요약한 것입니다.



생성적 AI를 위한 지식 그래프 자동 구축

지식 그래프를 사용하면 인간 언어 질문을 그래프 데이터베이스 쿼리에 매핑할 수도 있습니다. Neo4j는 자연어를 사용하여 지식 그래프를 쿼리하는 데 도움이 되는 오픈 소스 도구인 NeoConverse를 출시했습니다: https://neo4j.com/labs/genai-ecosystem/neoconverse/

그래프 사용을 시작하려면 약간의 학습이 필요하지만 좋은 소식은 도구가 발전함에 따라 그래프가 더 쉬워진다는 것입니다.

요약: GraphRAG는 RAG의 피할 수 없는 미래입니다.

LLM 고유의 단어 기반 컴퓨팅 및 언어 기술과 벡터 기반 RAG가 결합되어 매우 좋은 결과를 얻을 수 있습니다. 안정적으로 좋은 결과를 얻기 위해서는 문자열 수준을 넘어 단어 모델 이상의 세계 모델을 구축해야 한다. 마찬가지로 Google은 검색을 마스터하려면 단순한 텍스트 분석을 넘어 문자열이 나타내는 것 간의 관계를 파악해야 한다는 사실을 발견했습니다. 우리는 AI 세계에서도 동일한 패턴이 나타나기 시작했습니다. 이 모드는 GraphRAG입니다.

기술의 발전 곡선은 S자형입니다. 즉, 한 기술이 정점에 도달하면 다른 기술이 발전을 촉진하고 이전 기술을 능가하게 됩니다. 생성적 AI가 발전함에 따라 고품질 답변부터 설명 가능성, 데이터 액세스 권한, 개인 정보 보호 및 보안에 대한 세분화된 제어에 이르기까지 관련 애플리케이션에 대한 요구 사항도 증가하며 지식 그래프의 가치도 높아질 것입니다.



생성 AI의 진화

귀하의 차세대 AI 애플리케이션은 아마도 지식 그래프를 사용할 것입니다.

참조 링크: https://neo4j.com/blog/graphrag-manifesto/