본문 바로가기

Rag

(27)
다양한 관점으로 정확도 높이기 – LLM의 Branch Pattern 분석 자연어 처리와 인공지능 기술이 발전하면서, 다양한 질문에 대한 응답 정확도를 높이기 위한 새로운 패턴들이 등장하고 있습니다. 그중에서도 Branch Pattern은 단일 LLM이나 단일 Query로는 충분하지 않을 때 더욱 뛰어난 성능을 보이는 기법으로 주목받고 있습니다. 이번 글에서는 Branch Pattern이 무엇인지, 기존 패턴들과 어떤 차이점이 있는지, 그리고 어떻게 동작하는지에 대해 알아보겠습니다.Branch Pattern이란 무엇인가?Branch Pattern은 기존의 Linear 패턴이나 Conditional 패턴과 달리, 병렬로 Query를 처리하는 방식을 택합니다. 단일 Query를 여러 방향으로 확장하거나, 다양한 LLM을 동시에 활용함으로써, 최종적으로 보다 정확하고 풍부한 답변을 ..
확장 가능한 시스템 설계를 위한 조건부 패턴 (Conditional Pattern)의 모든 것 모듈화 패턴의 일종인 "조건부 패턴 (Conditional Pattern)"에 대해 심층적으로 논의합니다. 시스템 설계 시 단순한 상황이나 단일 쿼리의 처리만을 고려하는 것은 실용적이지 않습니다. 실제 상용 시스템에서는 예상과 달리 다양한 요구 사항이 발생하며, 시스템이 다각도로 활용되는 상황을 마주하게 됩니다. 이러한 복잡성을 효과적으로 관리하기 위해서는 확장 가능하고 다양한 상황에 유연하게 대응할 수 있는 설계가 필수적이며, 이를 실현하는 데 중요한 역할을 하는 것이 바로 조건부 패턴입니다.조건부 패턴은 특정 쿼리나 상황에 따라 적합한 처리 경로를 선택하는 구조를 의미합니다. 이 패턴은 시스템이 다양한 입력에 대해 유연하게 대응할 수 있도록 설계되어 있으며, 복잡한 문제를 모듈화하여 관리 가능하고 확..
모듈형 RAG의 첫걸음, Linear Pattern으로 쉽게 이해하는 고도화된 검색 기반 AI 모델 검색 기반 생성 모델, 흔히 RAG(Retrieval-Augmented Generation) 패턴은 최근 많은 관심을 받는 AI 모델 구조입니다. 특히 이 중에서 Linear Pattern은 가장 기본적이면서도 효율적인 구조로, 단순히 단방향(Sequence)으로 구성되어 쉽게 구축할 수 있는 장점이 있습니다. 그럼에도 불구하고 모듈형 RAG(Modular RAG)에서는 각 단계가 독립적 모듈로 분리되어 더욱 유연하게 활용될 수 있죠. 이번 글에서는 Linear Pattern이 모듈형 RAG에서 어떻게 작동하며, 어떤 기술이 사용되는지 알아보겠습니다.Linear Pattern이란? – 단방향 Sequence 기반 구조Linear Pattern은 이름 그대로 순차적으로 작업을 진행하는 패턴으로, Advan..
새로운 도메인 검색의 해답, HyDE: 가상의 문서로 RAG 성능을 향상시키다! 기존 검색의 한계와 HyDE의 탄생 배경기존의 Embedding 기반 검색 시스템, 특히 RAG(Retrieval-Augmented Generation) 파이프라인에서 활용되는 유사도 검색은 대부분 학습된 데이터 세트를 바탕으로 이루어집니다. 하지만 데이터의 도메인이 기존 학습 데이터와 다를 경우, 검색 성능이 저하되는 문제가 발생할 수 있습니다. 특히 새로운 도메인에 대한 검색에서는 사용자의 질문이 기존 데이터와 연결되지 않아 검색 결과가 부정확해지거나 적합한 맥락을 제공하지 못할 수 있습니다.이러한 문제를 해결하기 위해 등장한 것이 **HyDE(Hypothetical Document Embeddings)**입니다. HyDE는 사용자의 질문을 토대로 가상의 문서를 생성하여, 이를 검색의 입력으로 사용함..
Self-RAG란? 전통적인 RAG 한계를 넘어서는 새로운 검색 방식 1. 기존 RAG 한계와 Self-RAG 필요성**RAG(Retrieval-Augmented Generation)**는 질문에 답변할 때 검색 기능을 추가해 좀 더 정확한 정보를 제공할 수 있도록 설계된 모델입니다. 하지만, 기존 RAG의 경우 모든 질문에 대해 일괄적인 검색을 수행하는 특징이 있어 자원 낭비와 불필요한 정보 혼란을 초래할 수 있습니다. RAG 모델은 질문을 이해한 후 자동으로 검색을 수행하기 때문에, 때로는 검색이 필요 없는 질문에도 검색을 시도하여 효율성이 떨어질 수 있습니다.이와 달리 Self-RAG는 이러한 한계를 극복하고자 등장했습니다. Self-RAG는 **반영 토큰(Reflection Tokens)**을 사용하여 필요할 때에만 검색을 수행하게 하고, 검색된 정보 중에서도 필요..
Modular RAG: 진화하는 RAG 시스템의 새로운 패러다임 - LEGO처럼 유연한 AI 검색 시스템 최근 AI 기반 검색 및 정보 추출 시스템에서 RAG (Retrieval-Augmented Generation) 모델이 큰 주목을 받고 있습니다. Advanced RAG 모델은 성능과 실용성이 크게 향상되었지만, 실제 애플리케이션에서의 다양한 요구 사항을 충족하기에는 여전히 부족한 부분이 있습니다. 특히, 사용자 요구 사항이 계속해서 진화하고 복잡해짐에 따라, 고정된 구조의 RAG는 여러 한계에 부딪힐 수밖에 없습니다. Naive RAG와 Advanced RAG는 기본적으로 단방향 구조로 설계되어 있어 모든 단계를 처음부터 잘 설계해야 하고, 단계별로 되돌리거나 조정하는 데 어려움이 따릅니다.이러한 한계를 극복하기 위해 등장한 개념이 Modular RAG입니다. 모듈형 RAG는 이름 그대로 다양한 기능 ..
RAG의 핵심, Retrieval 기술로 검색 성능 극대화하기! Retrieval: RAG의 성능을 좌우하는 핵심 단계RAG(Retrieval-Augmented Generation)는 LLM(Large Language Model)의 능력을 확장하고 보완하는 기술로, LLM이 보다 정확하고 풍부한 정보를 제공할 수 있도록 도와줍니다. 그중에서도 Retrieval 단계는 사용자의 쿼리에 맞는 적절한 정보를 찾아내는 중요한 역할을 담당합니다. 이 글에서는 Retrieval 단계의 핵심 기술인 Hybrid Search, Hypothetical Question, **HyDE(Hypothetical Document Embeddings)**에 대해 살펴보겠습니다. 각각의 기술이 어떤 원리로 동작하며, 언제 효과적인지 알아볼까요?1. Hybrid Search: 시맨틱과 키워드 검색..
LLM의 성능을 높이는 비밀, Pre-Retrieval의 역할과 필요성! Pre-Retrieval: LLM 성능을 위한 첫 단계많은 사람들이 LLM(Large Language Model)을 사용할 때, 단순히 질문만 입력하면 정확한 답변을 받을 수 있을 거라 기대합니다. 하지만 실제로는 사용자가 입력한 쿼리(Query)가 LLM에 의해 잘 이해되지 않을 때가 많습니다. 이러한 문제를 해결하고, 더욱 정확한 검색 결과를 얻기 위해서 Pre-Retrieval이라는 단계가 필요합니다. Pre-Retrieval은 사용자의 쿼리를 LLM이 더 잘 이해할 수 있도록 사전에 최적화하는 과정으로, 실제 검색(Retrieval) 전에 수행됩니다.그렇다면, Pre-Retrieval 단계에서 어떤 작업들이 이루어질까요? 이번 글에서는 Pre-Retrieval의 주요 역할과 그 필요성에 대해 알아..