본문 바로가기
기타👨🏻‍💻/AI

[AI] RAG ( Retrieval Augmented Generation ) 의 기초

by 텅빈비니 2024. 8. 20.
반응형

안녕하세요🐶

빈지식 채우기의 비니🙋🏻‍♂️ 입니다.

 

요즘 AI 에 대해 많은 관심이 생겨 이리저리 공부 중에 있습니다. 

그 중 LLM에 대해 공부를하다 RAG 라는 것을 알게되었습니다.

 

오늘은 LLM에서 사용되고 있는 RAG 에 대해 알아보도록 하겠습니다.


1. RAG 가 등장배경

RAG 는 현재 널리 사용되고 있는 LLM 의 한계로부터 나오게된 개념이다.

대표적으로 아래와 같이 4가지가 있다.

LLM 의 한계

LLM 이란 GPT 모델 별로 학습되어 있는 데이터가 다르다.

OpenAI 의 GPT-4-turbo 를 보면 23 년 12월까지의 데이터가 학습된 것을 볼 수 있다.

출처: https://platform.openai.com/docs/models/gpt-4-turbo-and-gpt-4

그렇다면 23년 12월과 현재 사이의 데이터에 대한 학습은 어떻게 되는 것일까?

공백의 사이 데이터가 학습되지 않은 LLM은 거짓된 답변이 사실인 것 처럼 사용자에게 내놓을 것이다.

이러한 개념이 환각현상 이라고 할 수 있다.

 

이를 해결하기 위해서는 방대한 데이터에 대해 지속적인 학습을 하여 서비스하면 좋겠으나

높은 학습 비용과 기간이 필요하므로 힘들 것이다.

 

또한 가장 중요한 한계로는 보안문제가 있다.

개인정보 및 내부자료와 같은 보안자료는 LLM에 학습을 시킬 수 없다.

 

그렇기 때문에 이러한 LLM 의 한계로부터 나온 개념이 RAG 이다.


2. RAG 란

RAG는 Retrieval Augmented Generation 의 약자로, 번역하면 검색 증강 생성이다.

외부 데이터 ( 학습 데이터 외 청크데이터 ) 에서 검색하여, 사용자의 질문을 보강 ( 증강 ) 하고 더 좋은 답변으로 생성한다.

이를 통해 환각 현상을 줄일 수 있다.

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

 

  1. 사용자는 프롬프트와 쿼리를 통해 질문을 합니다.
  2. 사용자가 생성한 쿼리를 보강하는 단계로 이동합니다.
  3. 쿼리는 외부 데이터 ( 청크 데이터 ) 를 통해 사용자의 질문을 보강하는 Retriever 과정을 거칩니다.
  4. Retriever 를 통해 보강된 질문을 LLM 에 전달합니다.
  5. 보강된 질문을 통해 더 좋은 답변을 생성한 LLM은 사용자에게 전달합니다.

3. RAG 구성요소

 

RAG 시스템의 중요한 구성요소는 뭘까? >> Vector DB

Vector DB 에 데이터를 넣는 방법은 뭔데? >> Embedding Model

RAG 시스템의 품질을 향상시키는 방법은 뭘까? >> Retriever


다음 시간에는 Vector DB 에 대해 알아보도록 하겠습니다.

감사합니다.


참고

반응형