LLM의 한계와 RAG(검색 증강 생성)의 작동 방식

최근 몇 년 동안, 대규모 언어 모델(LLM)은 자연어 처리 분야에서 엄청난 발전을 이루어내며 다양한 응용 분야에서 사용되고 있습니다. 그러나 LLM은 여전히 몇 가지 한계를 가지고 있습니다. 이러한 한계를 극복하기 위해 최근에는 RAG(Retriever-Augmented Generation) 모델이 제안되었습니다. 이번 포스팅에서는 LLM의 한계와 RAG의 작동 방식에 대해 자세히 살펴보겠습니다.

1. LLM의 한계

대규모 언어 모델은 방대한 양의 데이터를 기반으로 학습됩니다. 그러나 이러한 데이터는 종종 특정 도메인이나 주제에 한정되어 있어 다양한 분야에 적용하기 어렵습니다. 대부분의 LLM은 주로 텍스트 데이터만을 기반으로 학습되기 때문에 상식이나 현실 세계의 지식을 이해하는 데에 한계가 있습니다. 또한, 학습 데이터에 포함된 편견이나 편향성은 모델의 결과에 영향을 미칠 수 있습니다. 특히 인터넷에서 수집된 데이터는 이러한 문제를 가지고 있을 가능성이 높습니다. 학습 데이터와는 다른 도메인의 데이터에 대한 처리 능력이 제한적일 수 있습니다. 새로운 도메인에서의 성능은 예측하기 어려울 수 있습니다.

LLM에 대해서 더 알아보기

2. RAG(검색 증강 생성) 모델의 소개

RAG는 LLM의 한계를 극복하고자 제안된 새로운 혁신적인 모델로서, Retriever와 Generator 두 가지 주요 구성 요소로 이루어져 있습니다.

2-1. Retriever

검색 엔진과 유사하게 작동하여 다양한 지식 소스로부터 관련된 정보를 검색하고 추출합니다. 이러한 정보는 후속 단계에서 Generator에 전달됩니다.

2-2. Generator

기존의 LLM과 유사한 역할을 수행하지만, 입력으로 Retriever에서 검색된 정보를 추가로 받아들입니다. 이를 통해 Generator는 다양한 지식을 활용하여 보다 정확하고 다양한 문장을 생성할 수 있습니다.

3. RAG의 장점 및 단점

3-1. 장점

Retriever를 통해 다양한 지식 소스를 통합하여 활용함으로써 LLM이 가지고 있는 한계를 극복할 수 있습니다. Retriever를 통해 검색된 정보는 외부 데이터 베이스에서 실시간으로 정보를 검색함으로써 일반적인 상식과 현실 세계의 지식을 보다 잘 반영하여 응답의 정확성과 맥락의 적절성을 향상시킵니다. 이를 통해 Generator가 생성하는 문장의 질이 향상될 수 있습니다. Retriever를 통해 다양한 데이터 소스로부터 정보를 검색하고 제공함으로써, 새로운 도메인에 대한 대응력을 향상시킬 수 있습니다. 또한, 다양한 지식 소스를 활용함으로써 편향성을 완화하고 다양성을 증가시킬 수 있습니다. 또한, 모델의 지식을 동적으로 업데이트하고 확장할 수 있어서 모델을 새로운 데이터셋으로 재학습할 필요가 없으며, 검색 메커니즘을 별도로 미세 조정할 수 있어서 다양한 도메인에 적응할 수 있다는 장점이 있습니다.

3-2. 단점

Retriever가 다양한 지식 소스를 검색하고 정보를 추출하는 과정은 시간과 비용이 소요될 수 있습니다. 특히 대규모의 데이터베이스나 지식 베이스를 검색하는 경우에는 이러한 비용은 더욱 커집니다. 외부 데이터베이스에 대한 의존성이 높기 때문에 검색된 정보의 일관성과 신뢰성은 Retriever의 성능에 영향을 미칠 수 있으며, 특히, 다양한 지식 소스에서 정보를 추출할 때 정보의 일관성을 유지하는 것이 어려울 수 있습니다. RAG 모델의 성능은 Generator에 의존하는데, Generator의 성능이 낮을 경우에는 전체 모델의 성능에도 영향을 미칠 수 있습니다. 검색된 정보를 활용하여 자연스러운 문장을 생성하는 과정은 Generator에 많은 부담을 줄 수 있습니다.

4. RAG의 구성요소

RAG은 Retriever와 Generator라는 두 가지 주요 구성 요소로 이루어져 있습니다. 각각의 구성 요소가 어떻게 작동하는지 자세히 설명하겠습니다.

4-1. Retriever

첫 번째 구성 요소로, 정보를 검색하고 추출하는 역할을 합니다. Retriever는 다양한 지식 소스에서 관련 정보를 검색하여 가져옵니다. 주로 사용되는 지식 소스로는 다음과 같은 것들이 있습니다.

  • 지식 베이스: 온라인 백과사전, 지식 그래프 등의 지식 베이스에서 정보를 검색합니다.
  • 대규모 텍스트 코퍼스: 웹 문서, 뉴스 기사, 전문적인 도메인 문서 등의 텍스트 데이터에서 정보를 추출합니다.
  • 구조화된 데이터: 테이블, 데이터베이스 등의 구조화된 데이터에서 정보를 검색합니다.

Retriever는 주어진 질문이나 주제에 대한 정보를 찾기 위해 이러한 지식 소스를 쿼리하고, 검색된 정보를 추출하여 후속 처리를 위해 Generator에 전달합니다. 이 과정에서 Retriever는 검색된 정보의 관련성을 평가하고 가장 관련성이 높은 정보를 선택하여 반환합니다.

4-2. Generator

두 번째 구성 요소로, 검색된 정보를 활용하여 자연스러운 문장을 생성하는 역할을 합니다. Generator는 일반적인 대규모 언어 모델과 유사한 구조를 가지고 있으며, 입력으로 받은 검색된 정보를 활용하여 문장을 생성합니다.

Generator는 다양한 방식으로 검색된 정보를 활용할 수 있습니다. 예를 들어, 검색된 정보를 문장의 일부로서 직접 통합하거나, 정보를 보조적인 역할로 활용하여 문장을 생성할 수 있습니다. 이러한 방식을 통해 Generator는 보다 다양하고 정확한 문장을 생성할 수 있으며, 특히 Retriever를 통해 가져온 다양한 지식을 활용하여 보다 풍부한 문맥을 반영할 수 있습니다.

5. RAG의 작동 과정

작동 과정은 다음과 같이 요약할 수 있습니다.

  • 질문 또는 주제 입력 : 사용자로부터 질문이나 주제가 입력됩니다.
  • Retriever 작동 : 입력된 질문 또는 주제를 기반으로 Retriever가 다양한 지식 소스에서 정보를 검색하고 추출합니다.
  • 검색된 정보 전달 : Retriever가 검색된 정보를 Generator에 전달합니다.
  • Generator 작동 : Generator는 받은 정보를 활용하여 자연스러운 문장을 생성합니다.
  • 생성된 문장 반환 : 생성된 문장이 사용자에게 반환되어 원하는 정보를 제공합니다.

LLM의 한계와 RAG을 통한 보완

이러한 과정을 통해 RAG 모델은 Retriever를 통해 다양한 지식을 검색하고, Generator를 통해 해당 지식을 활용하여 보다 정확하고 다양한 문장을 생성할 수 있습니다. 이는 기존의 대규모 언어 모델보다 더욱 풍부한 정보를 제공할 수 있는 장점을 가지고 있습니다.

Leave a Comment