What is retrieval augmented generation (RAG)?

Tasker_Jang·2025년 4월 27일

Retrieval Augmented Generation (RAG): AI의 정확도를 높이는 새로운 접근법

RAG는 대규모 언어 모델(LLM)의 한계를 극복하고 더 정확하고 신뢰할 수 있는 AI 응답을 생성하기 위한 혁신적인 방법인데, 파인콘 사이트에서 알 수 있는 것들을 짚어보겠습니다.

출처: https://www.pinecone.io/learn/retrieval-augmented-generation/

📌 RAG란 무엇인가?

Retrieval Augmented Generation(RAG)은 생성형 AI 애플리케이션이 작업을 수행할 때 관련성이 높고 맥락적으로 중요한 독점적, 비공개 또는 동적 데이터를 대규모 언어 모델(LLM)에 제공하여 정확성과 성능을 향상시키는 아키텍처입니다.

쉽게 말해, RAG는 AI가 응답을 생성할 때 외부 데이터베이스에서 사용자 질문과 가장 관련성 높은 정보를 검색하여 활용하는 기술입니다. 마치 시험 볼 때 참고 자료를 보면서 답을 작성하는 것과 비슷하다고 생각하면 됩니다!

🤔 왜 RAG가 필요할까?

현재 ChatGPT나 Claude 같은 LLM은 매우 강력하지만 몇 가지 중요한 한계가 있습니다:

  1. 정적인 지식: LLM은 "시간 속에 고정"되어 있어 최신 정보가 부족합니다. ChatGPT의 경우 2021년 9월까지의 데이터만 학습했죠. 그 이후 정보는 모릅니다.

  2. 도메인 특화 지식 부족: LLM은 일반적인 작업을 위해 학습되었기 때문에 특정 회사의 비공개 데이터나 전문 분야 정보를 알지 못합니다.

  3. 블랙박스 작동 방식: LLM이 결론에 도달할 때 어떤 출처를 참조했는지 이해하기 어렵습니다.

  4. 비효율성과 높은 비용: 기본 모델을 생성하고 배포할 수 있는 재정적, 인적 자원을 가진 조직은 많지 않습니다.

이런 한계로 인해 LLM은 종종 "환각(hallucination)"이라 불리는 그럴듯하지만 사실과 다른 정보를 생성합니다.

사용자: Volvo XC60에서 후진 브레이킹을 끄는 방법을 알려줘

LLM(환각 발생): Volvo XC60에서 후진 브레이킹을 끄려면 다음 단계를 따르세요:
1. 센터 콘솔의 설정 메뉴로 이동합니다.
2. '차량 설정'을 선택합니다.
3. '주행 지원 시스템'을 선택합니다.
4. '후진 브레이킹'을 찾아 비활성화합니다.

(실제로는 이 정보가 정확하지 않을 수 있음)

RAG는 이런 문제를 해결하기 위해 LLM에게 외부 데이터베이스에서 검색한 최신 또는 맥락 특화 데이터를 제공합니다. 이는 환각 가능성을 줄이고 생성형 AI 애플리케이션의 성능과 정확도를 크게 향상시킵니다.

🛠️ RAG는 어떻게 작동할까?

RAG의 작동 원리를 단계별로 살펴보겠습니다:

1️⃣ 벡터 데이터베이스 생성

먼저, 도메인별 전문 데이터를 벡터 데이터베이스로 변환합니다:

  1. 임베딩 모델을 사용한 변환: 데이터(텍스트, 이미지, 비디오, 오디오 등)를 임베딩 모델을 통해 벡터(숫자 배열)로 변환합니다.

  2. 벡터 데이터베이스 저장: 변환된 벡터를 Pinecone과 같은 벡터 데이터베이스에 저장합니다. 이 데이터베이스는 수십억 개의 항목 중에서 유사한 항목을 1초 이내에 검색할 수 있습니다.

  3. 실시간 업데이트: 새로운
    정보가 생기면 자동으로 벡터를 생성하고 데이터베이스를 업데이트할 수 있습니다.

2️⃣ 시맨틱 검색 수행

사용자가 질문을 하면:

  1. 사용자 질문 변환: 사용자의 자연어 질문을 벡터로 변환합니다.

  2. 유사 벡터 검색: 벡터 데이터베이스에서 사용자의 질문 의도와 가장 유사한 벡터를 찾습니다.

  3. 관련 정보 추출: 데이터베이스가 관련 결과를 반환하면, 애플리케이션은 이를 LLM에 제공합니다.

3️⃣ 정확한 응답 생성

  1. 맥락 제공: LLM에게 원래 질문과 함께 검색된 관련 정보를 컨텍스트 윈도우를 통해 전달합니다.

  2. 정확한 응답 생성: 이제 LLM은 관련 사실을 바탕으로 더 정확한 답변을 생성할 수 있습니다.

사용자: Volvo XC60에서 후진 브레이킹을 끄는 방법을 알려줘

RAG 시스템:
[검색 결과를 LLM에 제공]
"Volvo XC60 2023 모델의 후진 브레이킹을 비활성화하려면 중앙 디스플레이에서 '설정'을 탭한 다음 '내 차' > '주행 지원' > '후진 충돌 경고' 메뉴로 이동하여 기능을 끄면 됩니다."

LLM(정확한 응답): Volvo XC60에서 후진 브레이킹을 끄려면:
1. 중앙 디스플레이의 '설정'을 탭합니다
2. '내 차' 메뉴로 이동합니다
3. '주행 지원'을 선택합니다
4. '후진 충돌 경고' 항목을 찾아 기능을 비활성화합니다

이 방법은 2023 모델에 적용됩니다. 다른 연식의 모델이라면 약간 다를 수 있습니다.

💡 RAG의 다른 접근법과 비교

RAG 외에도 생성형 AI 애플리케이션의 성능을 향상시키는 다른 방법들이 있습니다. 하지만 RAG가 왜 선호되는지 비교해보겠습니다:

1. 자체 기본 모델 생성

  • 비용: OpenAI의 Sam Altman은 ChatGPT 뒤의 기본 모델을 훈련하는 데 약 1억 달러가 들었다고 추정했습니다.
  • 전문성 요구: 전문 머신러닝 PhD, 최고 수준의 시스템 엔지니어, 숙련된 운영 인력이 필요합니다.
  • 데이터 요구사항: 대규모 데이터셋을 획득, 정제, 라벨링하는 작업이 필요합니다.

2. 파인튜닝(Fine-tuning)

  • 고비용: 기본 모델보다는 저렴하지만 여전히 비용이 많이 듭니다.
  • 지속적 업데이트 필요: 데이터가 시간에 따라 변하면 모델의 정확도가 떨어져 추가 비용과 시간이 필요합니다.
  • 전문성 요구: 여전히 깊은 전문 지식이 필요합니다.

3. 프롬프트 엔지니어링

  • 저비용: 코드 변경만으로 빠르게 업데이트할 수 있어 가장 저렴한 옵션입니다.
  • 한계: LLM에 새로운 동적 컨텍스트를 제공할 수 없어 최신 정보 부족과 환각 문제를 해결할 수 없습니다.

4. RAG(Retrieval Augmented Generation)

  • 비용 효율: 기존 모델을 활용하면서 정확도를 높일 수 있습니다.
  • 빠른 구현: 외부 데이터베이스를 연결하는 방식으로 비교적 쉽게 구현 가능합니다.
  • 실시간 업데이트: 데이터베이스만 업데이트하면 되므로 모델 재훈련 없이 최신 정보 반영이 가능합니다.
  • 투명성: 어떤 소스를 참조했는지 명확히 할 수 있어 감사 가능성이 높아집니다.

🚀 RAG의 장점 요약

  1. 최신 정보 제공: LLM의 "시간 고정" 문제를 해결하고 최신 정보로 응답할 수 있습니다.

  2. 전문 도메인 지식 통합: 회사 고유 데이터나 전문 분야 정보를 쉽게 통합할 수 있습니다.

  3. 출처 인용 가능: 응답에 사용된 정보의 출처를 명확히 제공할 수 있습니다.

  4. 환각 감소: 사실에 기반한 정보를 제공함으로써 잘못된 정보 생성 가능성을 줄입니다.

  5. 비용 효율성: 전체 모델을 재훈련하는 것보다 훨씬 저렴합니다.

  6. 빠른 구현: 기존 LLM과 벡터 데이터베이스를 결합하는 방식으로 비교적 쉽게 구현할 수 있습니다.

📊 결론

RAG는 현재 생성형 AI 애플리케이션의 성능과 정확도를 향상시키는 가장 비용 효율적이고 구현하기 쉬우며 위험이 낮은 방법입니다. 최신성과 맥락 특화 문제를 동시에 해결하며, 특히 비공개 데이터에 접근해야 정확하게 답변할 수 있는 질문에 대해 맥락에 민감한 상세한 답변을 제공하는 데 탁월합니다.

대규모 언어 모델의 강력한 생성 능력과 특화된 데이터베이스의 사실적 정보를 결합함으로써, RAG는 AI가 더 정확하고, 신뢰할 수 있으며, 유용한 응답을 제공할 수 있게 돕고 있습니다.

profile
ML Engineer 🧠 | AI 모델 개발과 최적화 경험을 기록하며 성장하는 개발자 🚀 The light that burns twice as bright burns half as long ✨

0개의 댓글