검색 증강 생성(RAG)
검색 강화 생성(RAG)이 실시간 데이터로 대규모 언어 모델(LLM)을 최적화하는 방식을 살펴보세요. Ultralytics 활용한 시각적 RAG를 위한 다중 모달 파이프라인 구축 방법을 배워보세요.
검색 강화 생성(RAG)은 인공지능 분야의 고급 기법으로,
훈련 데이터 외부에서 권위 있는 지식 기반을 참조함으로써
대규모 언어 모델(LLM) 의 출력을 최적화합니다.
기존 생성 모델은 초기 훈련 과정에서 학습한 정적 정보에만 의존하여
과거의 답변이나 '환각'으로 알려진 확신에 찬 부정확성을 초래할 수 있습니다. RAG는 기업 데이터베이스, 최신 뉴스, 기술 매뉴얼 등 외부 소스에서 관련성 있고 최신 정보를 검색하여 응답 생성 전에 모델에 컨텍스트로 제공하는 방식으로 이 간극을 메웁니다. 이 과정을 통해 AI의 출력은 언어적으로 일관될 뿐만 아니라 사실적으로 정확하고 특정 데이터에 기반을 두게 됩니다.
RAG 시스템의 작동 방식
RAG 시스템의 아키텍처는 일반적으로 검색(retrieval)과 생성(generation)이라는 두 가지 주요 단계를 포함합니다. 이 워크플로는 개발자가 빈번한 재훈련이라는 비용이 많이 드는 과정 없이도 파운데이션 모델을 유지할 수 있게 합니다.
-
검색: 사용자가 쿼리를 제출하면 시스템은 먼저 벡터 데이터베이스라고 불리는 특수 저장 시스템을 가로질러 의미적 검색을 수행합니다. 이 데이터베이스에는 임베딩으로 알려진 수치적 표현으로 변환된 데이터가 포함되어 있어, 시스템이 단순히 키워드를 일치시키는 것이 아니라 개념적으로 유사한 정보를 찾을 수 있게 합니다.
-
생성: 검색 과정에서 발견된 관련 문서나 데이터 조각을 사용자의 원래 질문과 결합합니다.
이렇게 강화된 프롬프트는 생성 모델로 전송됩니다. 모델은 제공된 이 컨텍스트를 활용해 답변을 합성하며,
응답이 검색된 사실에 기반하도록 보장합니다.
더 자세한 메커니즘을 알아보려면,
IBM에서 RAG 워크플로우에 대한 포괄적인 가이드를 제공합니다.
비주얼 RAG: 컴퓨터 비전 통합
RAG는 전통적으로 텍스트 기반이지만,
다중 모달 학습의 부상으로
"시각적 RAG"가 등장했습니다.
이 시나리오에서는 컴퓨터 비전 모델이
검색 메커니즘 역할을 수행합니다.
이미지나 동영상 스트림을 분석하여
구조화된 텍스트 데이터(물체 이름, 개수, 활동 등)를 추출한 후,
이를 LLM에 입력하여 시각적 장면에 대한 질문에 답합니다.
예를 들어, 개발자는 YOLO26을 사용하여 이미지 내의 detect ,
해당 객체 목록을 텍스트 모델에 전달하여 설명 보고서를 생성할 수 있습니다.
from ultralytics import YOLO
# Load the YOLO26 model for state-of-the-art detection
model = YOLO("yolo26n.pt")
# Perform inference to 'retrieve' visual facts from an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract class names to build a text context for an LLM
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
context_string = f"The scene contains: {', '.join(detected_classes)}."
print(context_string)
# Output example: "The scene contains: bus, person, person, person."
실제 애플리케이션
RAG는 AI 에이전트가 독점적 또는 실시간 데이터에 안전하게 접근할 수 있도록 함으로써 산업을 변화시키고 있습니다.
-
기업 지식베이스: 기업들은 RAG를 활용해 인사 정책이나 기술 문서에 관한 직원 질문에 답변하는 내부 챗봇을 구축합니다. 대규모 언어 모델(LLM)을 실시간 문서 저장소와 연결함으로써, 시스템은 구식 정책 정보를 제공하는 것을 방지합니다. 기업 적용 사례에 대한 자세한 내용은 Google Vertex AI 내 RAG 개요를 참조하십시오.
-
임상 의사 결정 지원:
의료 분야 인공지능에서 RAG 시스템은
환자 병력과 최신 의학 연구 논문을 검색하여
의사의 진단을 지원함으로써,
의견이 가장 최근의 임상 연구를 고려하도록 보장합니다.
-
스마트 리테일 어시스턴트:
소매업에서 AI를 활용한 애플리케이션은 실시간 재고 데이터베이스를 확인하기 위해 RAG(Retrieval-Augmented Generation) 기술을 활용합니다.
고객이 챗봇에게 "이 러닝화 10호 사이즈 있나요?"라고 질문하면, 모델은 답변 전에 실시간 재고 수준을 조회하여 품절 상품으로 인한 고객 불만을 방지합니다.
RAG 대 미세 조정
RAG와 미세 조정은 서로 다른 문제를 해결하므로
이를 구분하는 것이 매우 중요합니다.
-
RAG(검색 강화 생성): 동적이며 빈번히 변경되는 데이터(예: 주가, 뉴스) 또는 공개 훈련 세트에 존재하지 않는 사적 데이터에 접근하는 데 가장 적합합니다. 실행 시점에 새로운 정보를 제공하는 데 중점을 둡니다.
-
미세 조정: 모델의 행동, 스타일 또는 용어를 적응시키는 데 가장 적합합니다. 특정 데이터셋에 대해 모델 가중치를 업데이트하는 과정을 포함합니다. 미세 조정은 모델이 특정 언어 패턴(예: 의학 전문 용어)을 학습하는 데 도움이 되지만, 실시간 사실에 대한 접근 권한을 부여하지는 않습니다. 의사 결정 프레임워크에 대해서는 OpenAI의 미세 조정 대 RAG 가이드를 참조하십시오.
관련 개념
-
LangChain: 인기 있는 오픈소스 프레임워크로,
리트리버와 대규모 언어 모델(LLM)을 연결하여 RAG 애플리케이션 개발을 간소화하도록 특별히 설계되었습니다.
-
지식 그래프: 검색 소스로 활용될 수 있는 구조화된 데이터 표현 방식으로, 단순한 벡터 유사성보다 더 풍부한 맥락적 관계를 제공합니다.
-
프롬프트 엔지니어링: 모델을 안내하기 위한 입력 제작의 기술.
RAG는 본질적으로 자동화된 형태의 프롬프트 엔지니어링으로,
"프롬프트"가 프로그램적으로 검색된 데이터로 풍부해지는 방식이다.
-
Ultralytics : RAG가 텍스트 생성 측면을 담당하는 반면,
이 같은 플랫폼은 시각 데이터를 다중 모달 RAG 파이프라인에 공급하는
비전 모델의 데이터 전처리 및 훈련 관리를 위해 필수적입니다.