RAG는 대규모 언어 모델(LLM)의 한계를 극복하고 더 정확하고 신뢰할 수 있는 AI 응답을 생성하기 위한 혁신적인 방법인데, 파인콘 사이트에서 알 수 있는 것들을 짚어보겠습니다.
출처: https://www.pinecone.io/learn/retrieval-augmented-generation/
Retrieval Augmented Generation(RAG)은 생성형 AI 애플리케이션이 작업을 수행할 때 관련성이 높고 맥락적으로 중요한 독점적, 비공개 또는 동적 데이터를 대규모 언어 모델(LLM)에 제공하여 정확성과 성능을 향상시키는 아키텍처입니다.
쉽게 말해, RAG는 AI가 응답을 생성할 때 외부 데이터베이스에서 사용자 질문과 가장 관련성 높은 정보를 검색하여 활용하는 기술입니다. 마치 시험 볼 때 참고 자료를 보면서 답을 작성하는 것과 비슷하다고 생각하면 됩니다!
현재 ChatGPT나 Claude 같은 LLM은 매우 강력하지만 몇 가지 중요한 한계가 있습니다:
정적인 지식: LLM은 "시간 속에 고정"되어 있어 최신 정보가 부족합니다. ChatGPT의 경우 2021년 9월까지의 데이터만 학습했죠. 그 이후 정보는 모릅니다.
도메인 특화 지식 부족: LLM은 일반적인 작업을 위해 학습되었기 때문에 특정 회사의 비공개 데이터나 전문 분야 정보를 알지 못합니다.
블랙박스 작동 방식: LLM이 결론에 도달할 때 어떤 출처를 참조했는지 이해하기 어렵습니다.
비효율성과 높은 비용: 기본 모델을 생성하고 배포할 수 있는 재정적, 인적 자원을 가진 조직은 많지 않습니다.
이런 한계로 인해 LLM은 종종 "환각(hallucination)"이라 불리는 그럴듯하지만 사실과 다른 정보를 생성합니다.
사용자: Volvo XC60에서 후진 브레이킹을 끄는 방법을 알려줘
LLM(환각 발생): Volvo XC60에서 후진 브레이킹을 끄려면 다음 단계를 따르세요:
1. 센터 콘솔의 설정 메뉴로 이동합니다.
2. '차량 설정'을 선택합니다.
3. '주행 지원 시스템'을 선택합니다.
4. '후진 브레이킹'을 찾아 비활성화합니다.
(실제로는 이 정보가 정확하지 않을 수 있음)
RAG는 이런 문제를 해결하기 위해 LLM에게 외부 데이터베이스에서 검색한 최신 또는 맥락 특화 데이터를 제공합니다. 이는 환각 가능성을 줄이고 생성형 AI 애플리케이션의 성능과 정확도를 크게 향상시킵니다.
RAG의 작동 원리를 단계별로 살펴보겠습니다:
먼저, 도메인별 전문 데이터를 벡터 데이터베이스로 변환합니다:
임베딩 모델을 사용한 변환: 데이터(텍스트, 이미지, 비디오, 오디오 등)를 임베딩 모델을 통해 벡터(숫자 배열)로 변환합니다.
벡터 데이터베이스 저장: 변환된 벡터를 Pinecone과 같은 벡터 데이터베이스에 저장합니다. 이 데이터베이스는 수십억 개의 항목 중에서 유사한 항목을 1초 이내에 검색할 수 있습니다.
실시간 업데이트: 새로운
정보가 생기면 자동으로 벡터를 생성하고 데이터베이스를 업데이트할 수 있습니다.
사용자가 질문을 하면:
사용자 질문 변환: 사용자의 자연어 질문을 벡터로 변환합니다.
유사 벡터 검색: 벡터 데이터베이스에서 사용자의 질문 의도와 가장 유사한 벡터를 찾습니다.
관련 정보 추출: 데이터베이스가 관련 결과를 반환하면, 애플리케이션은 이를 LLM에 제공합니다.
맥락 제공: LLM에게 원래 질문과 함께 검색된 관련 정보를 컨텍스트 윈도우를 통해 전달합니다.
정확한 응답 생성: 이제 LLM은 관련 사실을 바탕으로 더 정확한 답변을 생성할 수 있습니다.
사용자: Volvo XC60에서 후진 브레이킹을 끄는 방법을 알려줘
RAG 시스템:
[검색 결과를 LLM에 제공]
"Volvo XC60 2023 모델의 후진 브레이킹을 비활성화하려면 중앙 디스플레이에서 '설정'을 탭한 다음 '내 차' > '주행 지원' > '후진 충돌 경고' 메뉴로 이동하여 기능을 끄면 됩니다."
LLM(정확한 응답): Volvo XC60에서 후진 브레이킹을 끄려면:
1. 중앙 디스플레이의 '설정'을 탭합니다
2. '내 차' 메뉴로 이동합니다
3. '주행 지원'을 선택합니다
4. '후진 충돌 경고' 항목을 찾아 기능을 비활성화합니다
이 방법은 2023 모델에 적용됩니다. 다른 연식의 모델이라면 약간 다를 수 있습니다.
RAG 외에도 생성형 AI 애플리케이션의 성능을 향상시키는 다른 방법들이 있습니다. 하지만 RAG가 왜 선호되는지 비교해보겠습니다:
최신 정보 제공: LLM의 "시간 고정" 문제를 해결하고 최신 정보로 응답할 수 있습니다.
전문 도메인 지식 통합: 회사 고유 데이터나 전문 분야 정보를 쉽게 통합할 수 있습니다.
출처 인용 가능: 응답에 사용된 정보의 출처를 명확히 제공할 수 있습니다.
환각 감소: 사실에 기반한 정보를 제공함으로써 잘못된 정보 생성 가능성을 줄입니다.
비용 효율성: 전체 모델을 재훈련하는 것보다 훨씬 저렴합니다.
빠른 구현: 기존 LLM과 벡터 데이터베이스를 결합하는 방식으로 비교적 쉽게 구현할 수 있습니다.
RAG는 현재 생성형 AI 애플리케이션의 성능과 정확도를 향상시키는 가장 비용 효율적이고 구현하기 쉬우며 위험이 낮은 방법입니다. 최신성과 맥락 특화 문제를 동시에 해결하며, 특히 비공개 데이터에 접근해야 정확하게 답변할 수 있는 질문에 대해 맥락에 민감한 상세한 답변을 제공하는 데 탁월합니다.
대규모 언어 모델의 강력한 생성 능력과 특화된 데이터베이스의 사실적 정보를 결합함으로써, RAG는 AI가 더 정확하고, 신뢰할 수 있으며, 유용한 응답을 제공할 수 있게 돕고 있습니다.