Retrieval Augmented Generation (RAG)
Retrieval Augmented Generation(RAG)이 real-time data로 LLM을 최적화하는 방법을 살펴보세요. visual RAG를 위해 Ultralytics YOLO26을 사용해 multimodal pipeline을 구축하는 방법을 알아보세요.
검색 증강 생성 (RAG)은 인공지능 분야의 고급 기법으로, 학습 데이터 외부에 있는 신뢰할 수 있는 지식 베이스를 참조하여 대규모 언어 모델 (LLM)의 출력을 최적화합니다. 기존 생성 모델은 초기 학습 과정에서 학습한 정적인 정보에만 의존하므로 오래된 답변이나 환각이라고 하는 확신에 찬 부정확한 답변을 생성할 수 있습니다. RAG는 회사 데이터베이스, 최신 뉴스, 기술 매뉴얼과 같은 외부 소스에서 관련성 높은 최신 정보를 검색하여 응답이 생성되기 전에 모델에 컨텍스트로 제공함으로써 이러한 격차를 해소합니다. 이 프로세스를 통해 AI의 출력은 언어적으로 일관될 뿐만 아니라 사실에 부합하고 구체적인 데이터에 근거하게 됩니다.
RAG 시스템의 작동 방식#
RAG 시스템의 아키텍처는 일반적으로 검색과 생성이라는 두 가지 주요 단계로 구성됩니다. 이 워크플로를 통해 개발자는 잦은 재학습에 드는 높은 비용 없이 기반 모델을 유지 관리할 수 있습니다.
-
검색: 사용자가 쿼리를 제출하면 시스템은 먼저 벡터 데이터베이스라는 특수 스토리지 시스템에서 시맨틱 검색을 수행합니다. 이 데이터베이스에는 임베딩이라고 하는 수치 표현으로 변환된 데이터가 포함되어 있어, 시스템이 키워드 일치만 수행하는 대신 개념적으로 유사한 정보를 찾을 수 있습니다.
-
생성: 검색 중에 찾은 관련 문서 또는 데이터 스니펫을 사용자의 원래 질문과 결합합니다. 그런 다음 이처럼 보강된 프롬프트를 생성 모델에 전달합니다. 모델은 제공된 컨텍스트를 사용하여 답변을 종합하므로 응답이 검색된 사실에 기반하도록 합니다. 작동 원리를 더 자세히 알아보려면 IBM의 RAG 워크플로 종합 가이드를 참조하시기 바랍니다.
비주얼 RAG: 컴퓨터 비전 통합#
RAG는 전통적으로 텍스트 기반이지만, 멀티모달 학습의 발전으로 "비주얼 RAG"가 등장했습니다. 이 시나리오에서는 컴퓨터 비전 모델이 검색 메커니즘으로 작동합니다. 이러한 모델은 이미지 또는 비디오 스트림을 분석하여 객체 이름, 개수, 활동과 같은 구조화된 텍스트 데이터를 추출하고, 이를 LLM에 입력하여 시각적 장면에 관한 질문에 답변합니다.
예를 들어 개발자는 YOLO26을 사용하여 이미지에서 객체를 감지한 다음, 해당 객체 목록을 텍스트 모델에 전달하여 설명 보고서를 생성할 수 있습니다.
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를 사용하여 직원의 HR 정책 또는 기술 문서 관련 질문에 답변하는 내부 챗봇을 구축합니다. LLM을 최신 문서 리포지토리에 연결하면 시스템이 더 이상 오래된 정책 정보를 제공하지 않습니다. 기업 구현에 대한 자세한 내용은 Vertex AI에서 RAG에 관한 Google Cloud의 개요를 참조하시기 바랍니다.
- 임상 의사 결정 지원: 의료 분야의 AI에서 RAG 시스템은 환자의 병력과 최신 의학 연구 논문을 검색하여 의사의 진단을 지원할 수 있으며, 이를 통해 조언에 최신 임상 연구 결과가 반영되도록 합니다.
- 스마트 리테일 어시스턴트: 리테일 분야의 AI를 사용하는 애플리케이션은 RAG를 활용하여 실시간 재고 데이터베이스를 확인합니다. 고객이 챗봇에 "이 러닝화를 사이즈 10으로 보유하고 있나요?"라고 물으면 모델은 답변하기 전에 실시간 재고 수준을 검색하여 품절 상품으로 인한 불편을 방지합니다.
RAG와 파인튜닝 비교#
RAG와 파인튜닝은 서로 다른 문제를 해결하므로 이를 구분하는 것이 중요합니다.
- RAG(검색 증강 생성): 자주 변경되는 동적 데이터(예: 주가, 뉴스) 또는 공개 학습 세트에 포함되지 않은 비공개 데이터에 액세스하는 데 가장 적합합니다. 런타임에 새로운 정보를 제공하는 데 중점을 둡니다.
- 파인튜닝: 모델의 동작, 스타일 또는 용어를 조정하는 데 가장 적합합니다. 특정 데이터 세트에서 모델 가중치를 업데이트하는 방식으로 수행됩니다. 파인튜닝은 모델이 특정 언어 패턴(예: 의학 전문 용어)을 학습하는 데 도움이 되지만 실시간 정보에 대한 액세스 권한을 부여하지는 않습니다. 의사 결정 프레임워크는 파인튜닝과 RAG에 관한 OpenAI의 가이드를 참조하시기 바랍니다.
관련 개념#
- LangChain: 검색기와 LLM을 연결하여 RAG 애플리케이션을 간편하게 생성하도록 특별히 설계된 널리 사용되는 오픈 소스 프레임워크입니다.
- 지식 그래프: 데이터를 표현하는 구조화된 방식으로, 검색 소스로 사용할 수 있으며 단순한 벡터 유사성보다 더욱 풍부한 컨텍스트 기반 관계를 제공합니다.
- 프롬프트 엔지니어링: 모델을 안내하도록 입력을 구성하는 기술입니다. RAG는 본질적으로 검색된 데이터를 프로그래밍 방식으로 "프롬프트"에 보강하는 자동화된 프롬프트 엔지니어링 형태입니다.
- Ultralytics Platform: RAG가 텍스트 생성 측면을 처리하는 동안, 이와 같은 플랫폼은 시각 데이터를 멀티모달 RAG 파이프라인에 공급하는 비전 모델의 데이터 전처리와 학습을 관리하는 데 필수적입니다.









