블로그

INSIGHT

Watch챗봇과 함께 알아보는 검색증강생성(RAG)

2024.08.19

Watch챗봇과 함께 알아보는 검색증강생성(RAG) 콘텐츠 썸네일

 

 

AI 기술은 날로 발전하며 우리의 일상과 산업에 깊이 침투하고 있습니다. 그러나, 없는 사실을 기반으로 응답을 생성하는 AI 환각 현상은 AI의 신빙성을 떨어뜨리기도 합니다.

 

 

[ AI트렌드에 개념더하기: 할루시네이션 ]
 

 

검색증강생성(RAG, Retrieval-Augmented Generation) 기술은 이러한 AI 환각 현상을 예방하고 사용자에 맞춘 응답을 제공하는데 활용되고 있습니다.

 

 


검색증강생성이란?

글로벌 클라우드 서비스 제공사 AWS는 다음과 같이 ‘검색증강생성’ (이하 RAG)을 정의했습니다.

 

 

 

 

 

RAG(Retrieval-Augmented Generation)는 대규모 언어 모델의 출력을 최적화하여 응답을 생성하기 전에 학습 데이터 소스 외부의 신뢰할 수 있는 지식 베이스를 참조하도록 하는 프로세스입니다.

출처: AWS, https://aws.amazon.com/ko/what-is/retrieval-augmented-generation/ 

 

이를 조금 더 쉽게 설명하자면 다음과 같습니다. RAG은 AI의 핵심기술인 대규모언어모델(Large Language Model, 이하 LLM)이 응답을 생성하기 전, 지정된 외부 소스를 참고하도록 하여 AI환각 현상을 예방합니다.

 

 


검색증강생성 작동 과정

 

RAG 작동 프로세스 

[사진1] RAG 작동 프로세스 (내용 참조: AWS)

 

AWS는 위 사진과 같은 프로세스로 RAG의 작동 과정을 설명합니다.

 

(1) 외부 데이터 생성: 다양한 형식의 외부 데이터를 임베딩 모델을 통해 수치화하여 벡터 데이터베이스에 저장합니다. 
(2) 관련 정보 검색: 사용자의 질문을 벡터로 변환하여 벡터 데이터 베이스와 매칭합니다. 벡터 계산을 통해 질문과 유사한 정보를 검색합니다.
(3) LLM 프롬프트 확장: 검색된 정보를 기반으로 사용자가 입력한 프롬프트를 보강하여, 언어모델은 더 정확한 응답을 생성하게 됩니다. 

 

이후 이러한 과정에서 참조되는 외부 데이터 또한 꾸준히 업데이트 하는 과정이 필요할 수 있습니다.

 

 


검색증강생성 기술 사례: 웅진IT Watch챗봇

사례를 통해 RAG을 이해해보겠습니다. 얼마전 웅진IT의 AI서비스로써, Watch챗봇을 소개했습니다.

 

[ AWS 서비스를 기반으로 제공되는 웅진IT의 AI서비스가 궁금하다면 ]

 


   웅진IT Watch 챗봇 시연 화면

[사진2] Watch 챗봇 시연 화면

 

Watch 챗봇은 사용자가 입력한 프롬프트를 통해 정보를 검색하고, 사용자가 원하는 정보를 응답으로 생성합니다. 사진 속 예시는 사내 규정에 대한 내부 문의 사례로, Watch 챗봇은 응답에 따라 사내 규정을 검색하고, 그 출처를 응답과 함께 전달함으로써 신뢰할 수 있는 정보를 제공합니다. 이처럼, Watch 챗봇이 사내 문의를 빠르고 “정확하게” 대응할 수 있는 것은 앞서 소개한 RAG을 통해 서비스를 구현했기 때문입니다.
 

 

웅진IT Watch 챗봇 아키텍처
[사진3] Watch 챗봇 아키텍처

 

RAG을 활용한 Watch 챗봇의 작동 방식은 다음과 같습니다. 사용자가 웹 애플리케이션을 통해 질문을 입력하면, Amazon Bedrock 임베딩 모델이 질문을 수치화하여 벡터 검색 가능한 형태로 변환합니다. 변환된 쿼리를 Amazon OpenSearch Service로 보내 사용자의 질문과 관련된 문서를 검색합니다. 검색된 정보를 사용자의 질문과 함께 Amazon Bedrock에 전달합니다. LLM 모델은 이를 바탕으로 응답을 생성하여 사용자에게 제공합니다.

 

 


검색증강생성 기술의 장점

이와 같은 RAG의 장점은 다음의 네 가지로 축약해볼 수 있습니다.

 

(1) AI 환각 현상 예방 
RAG은 LLM이 응답을 생성하기 전, 지정된 외부 데이터 내에서 관련된 정보를 탐색하여, 응답을 생성하기 때문에 근거 없는 응답을 생성하는 일을 예방할 수 있습니다.

 

(2) 응답의 투명성 및 신뢰성 향상
RAG을 활용하면, AI가 생성한 응답의 생성과정을 비교적 투명하게 파악할 수 있습니다. 이를 통해, AI가 생성한 응답이 정확한지 확인할 수 있으며 (투명성), 응답에 대한 신뢰도를 높일 수 있습니다.

 

(3) 정보의 최신성 유지
RAG은 LLM이 외부데이터를 참조하도록 함으로써, LLM이 참조하는 데이터에 대해 실시간으로 업데이트하고 관리하기 용이한 구조를 제공합니다. LLM이 최신 정보를 실시간으로 검색하고 이를 반영할 수 있어, 실시간으로 업데이트가 필요한 데이터를 LLM이 참조해야 하는 경우, 미세조정(Fine-tuning)에 비해 유용하게 활용될 수 있습니다.

 

(4) 비용 효율적인 구현
언어모델을 특정 조직이나 도메인의 맥락에 특화하기 위해서는 많은 비용을 들여 모델을 학습하는 과정이 필요합니다. RAG은 이러한 부담을 줄이면서, LLM이 사용자의 의도에 맞는 정확한 응답을 생성하도록 합니다.

 

-

 

RAG은 AI가 사용자에게 더욱 신뢰할 수 있는 정보를 제공할 수 있는 기능을 구현함으로써, AI의 활용도를 높입니다. 이는 특히 다양한 산업 분야에서 AI의 도입을 촉진하고, 사용자의 AI서비스 경험을 개선하는 데 중요한 역할을 할 것으로 기대됩니다.

 

-

 

웅진IT와 함께 더 믿을 수 있는 AI 활용 환경을 구성해 보세요!

 

[문의하기]

 


Reference

AWS, 검색 증강 생성(RAG)이란 무엇인가요?
https://aws.amazon.com/ko/what-is/retrieval-augmented-generation/ 

 

AWS, Amazon Bedrock용 기술 자료
https://aws.amazon.com/ko/bedrock/knowledge-bases/ 

 

목록보기