반응형

기업들은 업무상 중요한 애플리케이션에 LLM(Large Language Model)을 통합하고 싶어 하죠. 하지만 LLM의 예측 불가능한 특성 때문에 환각 현상이 발생할 수 있어요. 환각은 부정확한 추론이나 명백한 오류를 의미하는데, 정확성, 설명 가능성, 신뢰성을 중요하게 생각하는 기업에게는 심각한 문제가 될 수 있습니다.

Retrieval-Augmented Generation(RAG)은 LLM을 사실에 기반하여 작동하도록 만드는 중요한 방법이에요. Knowledge Graph와 Vector Database는 RAG를 구현하기 위한 잠재적인 솔루션으로 많이 거론되는데요. 그렇다면 LLM을 위한 더 정확하고 신뢰할 수 있으며 설명 가능한 기반을 제공하는 것은 무엇일까요?

LLM을 기반으로 Knowledge Graph와 Vector Database 중에서 선택할 때 고려해야 할 몇 가지 핵심 요소를 한번 살펴볼까요?

복잡한 질문에 답하기

질문의 복잡성이 높을수록 Vector Database가 결과를 빠르고 효율적으로 반환하기가 어려워져요. 쿼리에 더 많은 주제를 추가하면 Database에서 원하는 정보를 찾기가 더 힘들어지죠.

예를 들어: Knowledge Graph와 Vector Database 모두 "우리 회사의 CEO는 누구입니까?"라는 질문에 대한 답변은 쉽게 찾을 수 있을 거예요. 하지만 "지난 12개월 동안 최소한 두 명의 회원이 투표에서 기권한 이사회 회의는 무엇입니까?"와 같은 질문에는 Knowledge Graph가 Vector Database보다 훨씬 뛰어난 성능을 보여줍니다.

Vector Database는 구체적인 답 대신 Vector 공간 내 주제의 중간쯤에서 답을 찾으려고 할 가능성이 높아요. 반면에 Knowledge Graph는 관계로 연결된 그래프를 탐색하면서 정확한 정보를 찾아 반환하죠.

완전한 응답 얻기

Vector Database는 유사성 점수와 미리 정의된 결과 제한에 의존하기 때문에 답변을 반환할 때 불완전하거나 관련 없는 결과를 제공할 가능성이 높습니다.

예를 들어: "John Smith가 쓴 모든 책을 나열하세요."라고 묻는 경우, Vector Database는 다음과 같은 결과를 반환할 수 있어요.

  • 불완전한 제목 목록 (사전 정의된 한도가 너무 낮음) 또는
  • John Smith의 모든 제목과 다른 저자의 일부 제목 (사전 정의된 제한이 너무 높음) 또는
  • 정확한 답 (사전 정의된 한도가 딱 맞음).

개발자는 가능한 모든 쿼리에 대해 미리 정의된 제한을 알 수 없기 때문에 Vector Database에서 정확한 답변을 얻는 것은 거의 불가능에 가깝습니다.

하지만 Knowledge Graph의 entity는 관계로 직접 연결되어 있기 때문에 entity마다 관계의 개수가 달라요. Knowledge Graph는 정확한 답변만을 검색해서 반환하죠. 이 경우 Knowledge Graph 쿼리는 John Smith가 쓴 모든 책을 반환하고, 그 외에는 아무것도 반환하지 않아요.

신뢰할 수 있는 응답 얻기

Vector Database는 두 가지 사실 정보를 서로 연결하여 부정확한 정보를 추론할 수 있습니다.

예를 들어: "제품 관리팀에 누가 있나요?"라고 물었을 때, 어떤 사람이 제품 팀에서 생성된 문서(사실)에 자주 댓글을 달고 액세스했다면, Vector Database는 그 사람이 제품 팀에 있었다고 잘못 추론할 수 있어요. Knowledge Graph는 Node와 Relationship을 사용해서 조직 내 사람들의 관계를 정확하게 식별하므로, 제품 팀에 있는 사람들만 반환하죠.

Knowledge Graph 쿼리는 연결된 정보의 흐름을 따르기 때문에 지속적으로 정확하고 설명 가능한 응답을 제공할 수 있습니다.

LLM 환각 교정

Knowledge Graph는 사람이 읽을 수 있는 데이터 표현을 가지고 있지만, Vector Database는 블랙박스만 제공합니다.

예를 들어: 제품 팀 구성원이 잘못 식별된 경우, Vector Database는 잘못된 정보를 추론하는 데 사용한 사실을 식별할 수 없어요. 이는 실행 취소가 불가능하거나 오류의 원인을 이해할 수조차 없다는 의미죠. 반면, Knowledge Graph 사용자는 LLM이 뭔가 잘못 추론한 경우 잘못된 정보를 찾아 수정하기가 훨씬 쉬워요.

Knowledge Graph는 완전한 투명성을 가지고 있기 때문이에요. 데이터의 잘못된 정보를 식별하고, 쿼리 경로를 추적하고, 이를 수정하는 데 도움을 주므로 LLM 정확도를 높이는 데 효과적이죠. 반면 Vector Database는 투명성을 거의 제공하지 않으며 특정 수정 기능도 제공하지 않아요.

LLM을 위한 Knowledge Graph

Knowledge Graph는 LLM을 뒷받침하는 최고의 선택이라고 할 수 있어요. 정확성, 설명 가능성, 맥락을 보장하는 데 큰 도움이 되죠. Neo4j의 신뢰할 수 있고 검증 가능한 Knowledge Graph는 LLM 정확성과 설명 가능성을 높여주고, 데이터 보호, 거버넌스, 고가용성, 확장성 및 유연한 배포와 같은 강력한 엔터프라이즈 기능도 제공합니다. 덕분에 미션 크리티컬 애플리케이션을 지원하는 LLM과 함께 사용할 수 있는 안정적이고 확장 가능한 선택이 되는 거죠.

자세한 내용은 LLM 기반 애플리케이션을 위한 Neo4j의 Knowledge Graph를 살펴보거나, Knowledge Graph 구축 방법에 대한 개발자 가이드를 읽어보세요.

개발자 가이드 다운로드
  • GenAI
  • LLM 환각
  • Machine Learning
  • Retrieval-Augmented Generation

에이치시스템즈LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.

👉 에이치시스템즈 홈페이지

반응형

+ Recent posts