RAG 문제가 지속되는 경우 이를 해결하는 5가지 방법

남성의 안경에 반사된 컴퓨터 화면의 코드.

작성자

Alice Gomstyn

Staff Writer

IBM Think

Amanda Downie

Staff Editor

IBM Think

이제 검색 증강 생성(RAG)에 대한 진실을 직시해야 할 때입니다. RAG는 자체 솔루션이 필요한 솔루션입니다.

RAG는 대규모 언어 모델(LLM)이 외부 지식 기반에 접근하여 학습 데이터를 넘어 더 많은 정보를 얻을 수 있도록 하여 대규모 언어 모델 성능을 개선하고 할루시네이션을 줄이는 것을 목표로 했습니다. 그러나 기존 RAG 시스템의 현실적인 한계는 분명해졌습니다.

IBM Software의 수석 부사장인 Dinesh Nirmal은 "RAG에는 상당 부분 결함이 있습니다"라고 말합니다. "Pure RAG는 기대했던 최적의 결과를 실제로는 제공하지 못합니다."

사용자가 일상적으로 직면하는 RAG 문제로는 컨텍스트 창 및 집계 작업의 제한, 복잡한 관계를 이해할 수 없음, 최적 이하의 청킹과 관련된 낮은 품질의 아웃풋 등이 있습니다. 즉, RAG를 구현하면 데이터 유출과 같은 보안 문제가 발생할 수도 있습니다.

좋은 소식은 인공 지능 도구와 전략의 발전으로 기존 RAG의 결함을 보완하는 데 도움이 되어 사용자 쿼리에 대한 응답이 더 정확하게 생성된다는 것입니다. RAG 성능을 향상하는 방법을 자세히 살펴보겠습니다.

SQL RAG

기존 RAG로 구동되는 LLM 애플리케이션에 방대한 데이터 세트에 대한 집계 작업(예: 합계 찾기)을 수행하도록 요청하는 것은 어려운 일이 아니라, 말 그대로 불가능합니다. 시스템의 성능을 방해하는 한 가지는 컨텍스트 창 크기입니다. LLM 컨텍스트 창은 일반적으로 100,000개의 송장 모음을 처리할 만큼 확장할 수 없습니다. 또한 기존 RAG 파이프라인은 집계 작업이 아닌 유사성 검색을 위해 설계된 벡터 데이터베이스에 의존합니다.

"본질적으로 이는 벡터 데이터베이스가 이러한 사례를 처리하기에 충분하지 않다는 것을 의미합니다."라고 IBM 수석 엔지니어인 Sudheesh Kairali는 설명합니다. "컨텍스트 창이 문제입니다. 나머지 문제는 수학적 연산을 처리할 수 없다는 점입니다."

여기서 등장하는 것이 SQL RAG입니다.  

LLM 사용자가 대규모 데이터 세트에서 답을 찾을 때 검색 증강 생성을 SQL과 결합하면 정확한 결과를 제공할 수 있다고 Kairali는 설명합니다.

SQL에는 기본 제공 집계 함수가 포함되어 있으며 SQL Database는 LLM 컨텍스트 창보다 용량이 큽니다. 기업이 송장 데이터를 SQL database로 수집하는 경우 LLM을 사용하여 "작년 송장을 모두 합한 금액은 얼마인가요?"와 같은 쿼리를 SQL로 변환하고, RAG를 통해 SQL database를 쿼리하고 답을 얻을 수 있습니다.

"구축할 수 있다면 많은 집계를 수행할 수 있습니다."라고 Kairali는 말합니다. SQL 데이터베이스가 집계를 수행한 후 "그 시점에서만 LLM에 대한 자연어 처리(NLP) 작업이 됩니다."

GraphRAG

검색된 여러 정보나 엔티티가 서로 어떻게 연결되는지 파악하는 것은 기존 RAG의 또 다른 약점입니다. 예를 들어, 복잡한 병력이 있는 환자의 사용 사례를 생각해 보세요. 기존의 RAG 검색 프로세스를 통해 LLM은 관련 정보를 제공할 수 있습니다. 이 데이터에는 해당 환자가 1년 동안 만난 의사의 수와 같은 세부 정보는 포함되지만, 각 의사가 어떤 치료법을 처방했는지 특정하기는 어려울 수 있습니다.

2024년 Microsoft Research에서 도입한 GraphRAG는 지식 그래프를 통해 관계를 처리하고 식별하여 이 문제를 해결합니다. GraphRAG는 엔티티와 그들 사이의 관계를 나타내는 노드와 에지의 네트워크로 정보를 구성합니다.

Nirmal은 "환자가 병원에 갔을 때 '그 환자가 이전에 한 모든 방문을 보여달라'는 질문을 하면 이를 단순한 말로 표현하는 것이 아니라 그래프를 통한 지식 표현으로도 보여줄 수 있습니다"이라고 설명했습니다. "다양한 여러 지점을 살펴보고 그가 방문한 여러 의사, 복용한 여러 약, 받은 치료 등을 모두 하나의 그래픽으로 확인할 수 있습니다."

Nirmal은 데이터 양이 증가함에 따라 그래프 렌더링이 더 어려워지기 때문에 GraphRAG에는 한계가 있다고 지적합니다. 예를 들어 수십만 개의 노드를 매핑하는 것은 단지 수십 개의 노드를 매핑하는 것보다 더 어렵습니다. Nirmal은 "모든 것에는 한계가 있지만 GraphRAG가 도약하는 이유는 순수 RAG 자체의 한계 때문입니다."라고 말합니다.

GraphRAG에 대해 자세히 알아보

에이전틱 청킹

청킹은 RAG 애플리케이션에서 중요합니다. 기존의 임베딩 모델을 통한 청킹 방식에서는 관련 문서를 고정된 지점에서 더 작은 조각으로 나누고, 각 조각은 벡터 데이터베이스로 표현됩니다. 하지만 이 방법은 도메인별 지식창고에서 시맨틱 검색 머신 러닝 알고리즘을 사용하는 경우에도 LLM 애플리케이션이 불완전하거나 부정확한 답변을 제공할 수 있습니다.

Nirmal은 "이 프로세스에서는 데이터를 어디서 잘라냈는지 모르기 때문에 정확도가 떨어지는 경우가 많습니다."라고 설명합니다. "테이블 중간을 청킹하거나 잘라냈다고 가정해 보겠습니다. 테이블을 다시 가져올 때 테이블의 절반을 가져오게 되어 정확도가 손실됩니다."

다행히 에이전틱 방식을 통해 청킹 전략을 개선하면 정보 검색을 개선할 수 있습니다. 이러한 에이전틱 청킹에는 겹치는 청크를 생성하고 검색된 문서의 컨텍스트에 따라 청크 크기를 동적으로 변경하는 등의 전략이 포함됩니다. LLM 오케스트레이션 프레임워크는 이러한 목적에 유용할 수 있습니다. 예를 들어LangChain의 TextSplitters 도구는 텍스트를 의미론적으로 의미 있는 작은 청크로 나눌 수 있습니다. 이러한 전략은 문서가 분해될 때 관련 정보가 손실되는 것을 방지하는 데 도움이 됩니다.

에이전틱 청크에 대해 자세히 알아보세요.

에이전틱 RAG

에이전틱 AI는 청킹에 유용하며 다른 방식으로도 검색 정확도를 향상시킬 수 있습니다. 에이전틱 RAG를 생각해 보세요. 이는 RAG 파이프라인을 통합하여 SQL Database의 정형 데이터와 문서 저장소의 비정형 데이터를 모두 쿼리하여 유사성 검색에 벡터 데이터베이스를 활용할 수 있는 고급 AI 프레임워크입니다. 

또한 에이전틱 RAG는 메타데이터로 각 청크를 강화합니다. 이 프로세스는 정형 데이터(트랜잭션 데이터베이스에 저장된 메타데이터)와 비정형 데이터를 연관시켜 검색 정확도를 최적화합니다.

Nirmal은 "벡터 데이터베이스의 성능과 트랜잭션 또는 SQL 측면을 가져와 이 두가지를 결합할 수 있다면 정확성과 성능을 크게 향상할 수 있다면"라고 말합니다.

비정형 데이터의 세 가지 핵심 과제를 극복하기 위해 필요한 것이 무엇인지 알아보세요.

관리형 데이터 레이크하우스

데이터 유출은 일반적으로 AI 시스템의 알려진 문제이며, RAG를 사용하는 LLM도 예외는 아닙니다. 적절한 조치를 취하지 않으면 LLM이 개인 식별 정보(PII)부터 민감한 금융 데이터에 이르기까지 하위 수준 사용자에게 액세스 권한이 없는 정보를 제공할 수 있습니다.

"이것이 RAG의 현실입니다."라고 Kairali는 말했습니다. "개념 증명부터 시작하면 모두가 만족합니다. 하지만 프로덕션에 적용하고 프로덕션 수준이 되기 하려면 데이터 보호 문제가 있다는 것을 이해하기 시작합니다."

이 문제를 해결한다는 것은 비정형 데이터가 여러 데이터베이스에 수집될 때 액세스 제어 목록(ACL) 및 기타 거버넌스 정책을 보존하는 것을 의미합니다. "쿼리가 수신되고 데이터를 검색할 때 ACL 및 거버넌스 정책이 준수되고 있는지 확인하는 것이 중요합니다."라고 Kairali는 말합니다. "이는 기본적으로 엔지니어링 문제입니다."

오픈 소스 기반의 관리형 데이터 레이크하우스와 같은 적절한 데이터 플랫폼을 사용하면 이러한 엔지니어링 문제를 더 쉽게 해결할 수 있습니다. 예를 들어, 하이브리드 오픈 데이터 레이크하우스인 IBM® watsonx.data는 데이터를 검색할 때 문서 소스 시스템에서 액세스 제어가 상속되도록 합니다. 또한 민감한 정보가 공유되지 않도록 PII에 대한 주석을 제공합니다.

LLM 및 기타 생성형 AI가 일상 워크플로에 더욱 깊숙이 자리잡으면서 RAG를 개선하면 기업이 엔터프라이즈 데이터에서 더 큰 가치를 창출할 수 있습니다. Nirmal은 올바른 엔터프라이즈급 툴과 전략을 통해 "더 높은 성능과 정확성을 확보하여 데이터를 관리하기 쉽고 가치 있게 만들 수 있습니다."라고 말합니다. "이것이 바로 모든 고객이 원하는 것입니다."

관련 솔루션
IBM watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai에 대해 알아보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
AI 서비스

AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약하기