Retrieval Augmented Generation (RAG)
검색 증강 생성(RAG)이 실시간 데이터로 LLM을 어떻게 최적화하는지 알아보십시오. 시각적 RAG를 위해 Ultralytics YOLO26을 사용하는 멀티모달 파이프라인 구축 방법을 배우십시오.
검색 증강 생성(RAG)은 학습 데이터 외부의 권위 있는 지식 베이스를 참조하여 대규모 언어 모델(LLM)의 출력을 최적화하는 인공지능 분야의 고급 기술입니다. 기존의 생성형 모델들은 초기 학습 과정에서 습득한 정적인 정보에만 의존하며, 이로 인해 답변이 구식이거나 환각(hallucinations)으로 알려진 확신에 찬 부정확한 정보를 제공할 수 있습니다. RAG는 기업 데이터베이스, 최신 뉴스 또는 기술 매뉴얼과 같은 외부 소스에서 관련성 높은 최신 정보를 검색하고, 응답이 생성되기 전에 이를 컨텍스트로 모델에 공급함으로써 이러한 간극을 메워줍니다. 이 프로세스는 AI의 출력이 언어적으로 일관될 뿐만 아니라 사실적으로 정확하고 특정 데이터에 근거하도록 보장합니다.
Link to this sectionRAG 시스템의 작동 방식#
RAG 시스템의 아키텍처는 일반적으로 검색과 생성이라는 두 가지 주요 단계로 구성됩니다. 이 워크플로우를 통해 개발자는 빈번한 재학습에 드는 높은 비용 없이 파운데이션 모델(foundation model)을 유지 관리할 수 있습니다.
-
Retrieval: When a user submits a query, the system first performs a semantic search across a specialized storage system called a vector database. This database contains data that has been converted into numerical representations known as embeddings, allowing the system to find conceptually similar information rather than just matching keywords.
-
생성: 검색 중에 발견된 관련 문서나 데이터 조각은 사용자의 원래 질문과 결합됩니다. 이렇게 강화된 프롬프트가 생성형 모델로 전송됩니다. 모델은 제공된 컨텍스트를 사용하여 답변을 합성하며, 응답이 검색된 사실에 기반하도록 보장합니다. 메커니즘에 대한 자세한 내용은 IBM이 제공하는 RAG 워크플로우 종합 가이드를 참조하십시오.
Link to this section시각적 RAG: 컴퓨터 비전 통합#
RAG는 전통적으로 텍스트 기반이지만, 멀티모달 학습의 부상으로 "시각적 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."Link to this section실제 애플리케이션 사례#
RAG는 AI 에이전트가 독점적이거나 실시간 데이터에 안전하게 액세스할 수 있도록 지원함으로써 산업을 변화시키고 있습니다.
- 엔터프라이즈 지식 베이스: 기업들은 RAG를 사용하여 인사 정책이나 기술 문서에 대한 직원의 질문에 답변하는 내부 챗봇을 구축합니다. LLM을 실시간 문서 저장소에 연결함으로써 시스템은 구식 정책 정보를 제공하는 것을 방지합니다. 엔터프라이즈 구현에 대한 자세한 내용은 Google Cloud의 Vertex AI 내 RAG 개요를 참조하십시오.
- 임상 의사결정 지원: 의료 분야의 AI에서 RAG 시스템은 환자 기록과 최신 의학 연구 논문을 검색하여 의사의 진단을 지원하며, 조언이 최신 임상 연구를 고려하도록 보장합니다.
- 스마트 리테일 어시스턴트: 소매 분야의 AI를 사용하는 애플리케이션은 RAG를 활용하여 실시간 재고 데이터베이스를 확인합니다. 고객이 챗봇에게 "이 러닝화 10사이즈 있나요?"라고 물으면, 모델은 답변하기 전에 실시간 재고 수준을 검색하여 품절로 인한 불편을 방지합니다.
Link to this sectionRAG 대 파인튜닝#
RAG는 파인튜닝과 서로 다른 문제를 해결하므로 이 둘을 구분하는 것이 중요합니다.
- RAG (검색 증강 생성): 동적이고 자주 변경되는 데이터(예: 주가, 뉴스)나 공개 학습 세트에 없는 개인 데이터에 액세스하는 데 가장 적합합니다. 런타임에 새로운 정보를 제공하는 데 중점을 둡니다.
- 파인튜닝: 모델의 동작, 스타일 또는 용어를 조정하는 데 가장 적합합니다. 특정 데이터 세트에서 모델 가중치를 업데이트하는 작업이 포함됩니다. 파인튜닝은 모델이 특정 언어 패턴(예: 의학 용어)을 학습하도록 도울 수 있지만, 실시간 사실에 대한 액세스 권한을 부여하지는 않습니다. 의사 결정 프레임워크는 OpenAI의 파인튜닝 대 RAG 가이드를 참조하십시오.
Link to this section관련 개념#
- LangChain: 검색기와 LLM을 체인으로 연결하여 RAG 애플리케이션 생성을 간소화하도록 설계된 인기 있는 오픈 소스 프레임워크입니다.
- 지식 그래프(Knowledge Graph): 단순한 벡터 유사성보다 문맥적으로 더 풍부한 관계를 제공하며 검색 소스로 사용될 수 있는 데이터 표현의 구조화된 방식입니다.
- 프롬프트 엔지니어링(Prompt Engineering): 모델을 안내하기 위해 입력을 설계하는 기술입니다. RAG는 기본적으로 "프롬프트"가 검색된 데이터로 프로그래밍 방식으로 강화되는 프롬프트 엔지니어링의 자동화된 형태입니다.
- Ultralytics Platform: RAG는 텍스트 생성 측면을 처리하지만, 이와 같은 플랫폼은 멀티모달 RAG 파이프라인에 시각적 데이터를 공급하는 비전 모델의 데이터 전처리 및 학습을 관리하는 데 필수적입니다.






