생성형 AI는 방대한 데이터 포인트를 학습한 대규모 언어 모델(LLM)을 사용해 자연스러운 텍스트 응답을 생성하는 기술입니다. 이 기술의 장점은 사용자가 이해하기 쉬운 텍스트를 생성하고, 다양한 질문에 대해 상세한 답변을 제공하는 것입니다. 그러나, AI가 학습한 데이터가 오래되었거나 특정 기업의 최신 정보를 포함하지 않은 경우, 정확하지 않은 응답을 생성할 수 있다는 한계가 있습니다.
검색 증강 생성(RAG)이란?
검색 증강 생성(retrieval-augmented generation, RAG)은 이러한 문제를 해결하기 위해 개발된 기술입니다. RAG는 기본 LLM 모델을 수정하지 않고도 최신 정보나 특정 산업에 관련된 타게팅된 정보를 활용해 생성 결과물을 최적화할 수 있습니다. RAG는 생성형 AI 시스템이 주어진 프롬프트의 맥락에 부합하는 최신 정보를 제공할 수 있도록 돕습니다.
RAG의 작동 방식
RAG는 대규모 언어 모델(LLM)에 최신 정보나 특정 정보를 추가해 답변을 생성합니다. 이는 벡터 데이터베이스를 통해 이루어지며, 다양한 소스에서 가져온 데이터를 활용합니다. 예를 들어, 스포츠 리그의 팬들은 선수나 팀에 대한 최신 정보를 제공받을 수 있습니다. 이렇게 RAG는 LLM만으로는 제공할 수 없는 적시성, 문맥성, 정확성을 제공합니다.
RAG의 도입과 성장
RAG는 Facebook AI Research가 2020년에 발표한 논문에서 처음 제안되었으며, 이후 학계와 업계에서 주목받고 있습니다. 이 기술은 챗봇, 이메일, 문자 메시지 등 다양한 대화형 시스템에서 활용될 수 있습니다. 앞으로 RAG는 보다 복잡한 질문에 답변하고, 사용자에게 맞춤형 정보를 제공하는 데 기여할 것입니다.
생성형 AI 기술의 발전과 RAG의 필요성
생성형 AI의 활용이 늘어나면서 관련 기술에 대한 투자 및 연구 역시 활발해지고 있습니다. 이처럼 막대한 자본력과 방대한 양의 데이터를 확보한 거대 기업들은 LLM을 자사 데이터를 활용해 지속적으로 미세조정(Fine-tuning)한 ‘맞춤형 LLM’을 개발하여 자체적인 AI 생태계를 구축해 가고 있습니다. 그러나 자본력과 데이터 확보에 한계를 가지고 있는 대다수의 기업들에게 있어서 오픈소스 LLM을 활용한 자체 LLM 개발은 요원한 일입니다.
이러한 문제를 해결하기 위해 고가의 GPU와 방대한 양의 데이터 없이도 성능 좋고 보안 걱정 없는 맞춤형 LLM을 개발하고 업무 및 서비스에 활용할 수 있는 답은 바로 검색증강생성(RAG)에 있습니다.
RAG의 세부 구성 요소
1. 벡터 DB(Vector DB) : RAG 시스템에서 LLM이 정보를 효율적으로 저장하고 참조할 수 있는 데이터베이스입니다. 벡터 DB에는 사전에 LLM에게 제공하고자 하는 문맥 (Context)을 저장할 수 있습니다. 이를 위해서는 자연어와 같은 비정형 데이터 (Unstructured Data)를 -1과 1사이의 실수로 바꾸어주는 임베딩(Embedding)이라는 과정이 필요합니다. 이러한 과정을 거쳐 구축된 벡터 DB는 활용하여 생성된 텍스트를 보완하거나 확장하는 데 사용됩니다.
2. 프롬프트 엔지니어링(Prompt Engineering) : 프롬프트 엔지니어링은 LLM이 생성하게 될 텍스트에 대한 프롬프트를 설계하고 조정하는 프로세스입니다. 프롬프트 엔지니어링을 통해 RAG 설계자는 LLM에게 역할을 지정하고, 사전에 제공한 벡터 DB의 문맥에 맞게 사용자가 원하는 답변을 생성해 내도록 유도할 수 있습니다.
3. LLM과의 연동 : 기본적으로 RAG는 LLM과의 연동을 전제로 합니다. 이때 GPT와 같은 기존의 성능 좋은 모델을 연동하거나, 자사 도메인에 특화된 LLM을 자체적으로 제작하여 연동할 수 있습니다. 또한 비교적 매개변수(parameter)가 적은 소형 LLM(sLLM, small LLM)을 추가적으로 연동하는 등 다양한 아키텍처를 고려해 볼 수도 있습니다.
결론
요약하자면, LLM에 RAG는 외부 정보를 담고 있는 벡터 DB를 활용하여 생성된 텍스트를 개선하고 보완하기 위한 기술입니다. 이 과정에는 벡터 DB와 프롬프트 엔지니어링이라는 기법이 적용됩니다. 이러한 일련의 과정을 통해 고가의 GPU나 방대한 양의 데이터 없이도 맞춤형 언어 모델을 개발하고 활용할 수 있게 되는 것입니다.
검색 및 생성 모델의 결합 강점을 활용한 RAG는 전통적인 접근법의 제약을 극복하고 더 많은 대화형 에이전트와 챗봇에서 정보 검색 시스템 및 콘텐츠 생성 도구까지 다양한 산업 및 사용 사례 범위에서 응용되고 있습니다.
기존 인프라와 원활하게 통합되고 다양한 도메인에 적용이 가능하므로 LLM 사용 활성화를 위한 좋은 대안이 될 것입니다.