Retrieval Augmented Generation (RAG)
검색 증강 생성(RAG)이 실시간 데이터로 LLM을 어떻게 최적화하는지 알아보십시오. 시각적 RAG를 위해 Ultralytics YOLO26을 사용하는 멀티모달 파이프라인 구축 방법을 배우십시오.
Retrieval Augmented Generation (RAG)은 학습 데이터 외부에 있는 신뢰할 수 있는 지식을 참조하여 Large Language Model (LLM)의 출력을 최적화하는 인공지능 분야의 고급 기술입니다. 전통적인 생성 모델은 초기 학습 중에 습득된 정적 정보에만 의존하므로, hallucinations로 알려진 오래된 답변이나 확신에 찬 부정확한 결과를 초래할 수 있습니다. RAG는 기업 데이터베이스, 최신 뉴스 또는 기술 매뉴얼과 같은 외부 소스에서 관련성이 높고 최신 정보 검색을 수행하고 응답이 생성되기 전에 이를 컨텍스트로 모델에 제공하여 이 간극을 메웁니다. 이 프로세스는 AI의 출력이 언어적으로 일관될 뿐만 아니라 사실에 정확하고 특정 데이터에 기반을 두도록 보장합니다.
RAG 시스템의 작동 방식#
RAG 시스템의 아키텍처는 일반적으로 검색과 생성이라는 두 가지 주요 단계로 구성됩니다. 이 워크플로우를 통해 개발자는 빈번한 재학습이라는 비용 소모적인 필요성 없이 foundation model을 유지할 수 있습니다.
-
Retrieval: 사용자가 쿼리를 제출하면 시스템은 먼저 vector database라는 특수 저장 시스템에서 semantic search를 수행합니다. 이 데이터베이스에는 embeddings로 알려진 수치 표현으로 변환된 데이터가 포함되어 있어, 단순한 키워드 매칭을 넘어 개념적으로 유사한 정보를 시스템이 찾을 수 있도록 합니다.
-
Generation: 검색 중에 발견된 관련 문서 또는 데이터 조각은 사용자의 원래 질문과 결합됩니다. 이 강화된 프롬프트는 생성 모델로 전송됩니다. 모델은 제공된 컨텍스트를 사용하여 답변을 합성하고, 응답이 검색된 사실에 의존하도록 보장합니다. 메커니즘에 대한 자세한 내용은 IBM provides a comprehensive guide on RAG workflows를 참조하십시오.
시각적 RAG: 컴퓨터 비전 통합#
RAG는 전통적으로 텍스트 기반이지만, multi-modal learning의 부상으로 "Visual RAG"가 도입되었습니다. 이 시나리오에서는 computer vision 모델이 검색 메커니즘 역할을 합니다. 이 모델은 이미지나 비디오 스트림을 분석하여 객체 이름, 개수, 활동 등의 구조화된 텍스트 데이터를 추출한 다음, 이를 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 agents가 독점적이거나 실시간 데이터에 안전하게 액세스할 수 있도록 지원하여 산업을 변화시키고 있습니다.
- Enterprise Knowledge Bases: 기업은 RAG를 사용하여 인사 정책이나 기술 문서에 대한 직원들의 질문에 답변하는 내부 챗봇을 구축합니다. LLM을 라이브 문서 리포지토리에 연결함으로써, 시스템은 오래된 정책 정보를 제공하는 것을 방지합니다. 엔터프라이즈 구현에 대한 자세한 내용은 Google Cloud's overview of RAG in Vertex AI를 참조하십시오.
- Clinical Decision Support: AI in healthcare에서 RAG 시스템은 환자 이력과 최근 의학 연구 논문을 검색하여 의사의 진단을 지원하고, 조언이 최신 임상 연구를 반영하도록 보장합니다.
- Smart Retail Assistants: AI in retail을 사용하는 애플리케이션은 RAG를 활용하여 실시간 재고 데이터베이스를 확인합니다. 고객이 챗봇에게 "이 러닝화 10사이즈 있나요?"라고 물으면, 모델은 답변하기 전에 실시간 재고 수준을 검색하여 품절 상품으로 인한 불만을 방지합니다.
RAG 대 파인튜닝#
RAG는 서로 다른 문제를 해결하므로 fine-tuning과 구별하는 것이 중요합니다.
- RAG (검색 증강 생성): 동적이고 자주 변경되는 데이터(예: 주가, 뉴스)나 공개 학습 세트에 없는 개인 데이터에 액세스하는 데 가장 적합합니다. 런타임에 새로운 정보를 제공하는 데 중점을 둡니다.
- Fine-Tuning: 모델의 동작, 스타일 또는 용어를 조정하는 데 가장 적합합니다. 특정 데이터셋에서 model weights를 업데이트하는 작업이 포함됩니다. 파인튜닝은 모델이 특정 언어 패턴(예: 의학 용어)을 학습하는 데 도움이 되지만, 실시간 사실에 대한 액세스 권한을 부여하지는 않습니다. 의사 결정 프레임워크에 대해서는 OpenAI's guide on fine-tuning vs. RAG를 참조하십시오.
관련 개념#
- LangChain: 검색기와 LLM을 연결하여 RAG 애플리케이션 생성을 단순화하도록 특별히 설계된 인기 있는 오픈 소스 프레임워크입니다.
- Knowledge Graph: 검색 소스로 사용할 수 있는 구조화된 데이터 표현 방식으로, 단순한 벡터 유사성보다 더 풍부한 컨텍스트 관계를 제공합니다.
- Prompt Engineering: 모델을 안내하기 위해 입력을 작성하는 기술입니다. RAG는 본질적으로 "프롬프트"가 검색된 데이터로 프로그래밍 방식으로 강화되는 자동화된 프롬프트 엔지니어링 형태입니다.
- Ultralytics Platform: RAG가 텍스트 생성 측면을 처리하는 동안, 이와 같은 플랫폼은 멀티모달 RAG 파이프라인에 시각적 데이터를 공급하는 비전 모델의 data preprocessing 및 학습을 관리하는 데 필수적입니다.






