목표 : RAG 이해.
1) 검색-증강 생성이란?
- RAG(Retrieval-Augmented Generation; 검색-증강 생성)
- LLM(대규모 언어 모델)의 응답을 생성하기 전에 외부 소스 지식 베이스를 참조하도록 하는 프로세스.
- LLM 기능을 특정 도메인 지식 기반으로 확장하므로 모델을 재학습x -> 비용 효율적임.
2) 중요한 이유
- LLM은 지능형 챗봇, 자연어 처리(NLP) 애플리케이션을 지원하는 핵심 인공 지능(AI) 기술임.
- LLM의 목표는 다양한 상황에서 사용자 질문에 답변할 수 있는 봇을 만드는 것임.
- LLM 기술의 특성상 LLM 응답에 대한 예측이 불가능.
- 또한, LLM 훈련 데이터는 정적이며 보유한 지식의 마감일을 도입함.
- LLM의 알려진 문제점 :
- 답변이 없을 때 허위 정보를 제공.
- 오래되었거나 일반적인 정보를 제공.
- 신뢰할 수 없는 출처로부터 응답을 생성.
- 용어 혼동, 동일한 용어를 서로 다른 내용을 설명.
모든 질문에 항상 자신감 있게 답변함 -> 신뢰성을 잃어버림.
RAG는 이러한 문제 중 일부를 해결하기 위한 한 가지 접근 방식임 : LLM을 리디렉션하여 신뢰할 수 있는 사전 결정된 지식 출처에서 관련 정보를 검색.
3) 검색-증강 생성의 이점
- 비용 효율적인 구현
: 도메인별 정보를 위해 파운데이션 모델(FM)을 재교육하는 데 드는 계산 및 재정적 비용이 많이 든다. RAG는 LLM에 새 데이터를 도입하기 위한 보다 비용 효율적인 접근 방식임.
- 최신 정보
: RAG를 사용하여 최신 연구, 통계 또는 뉴스를 제공할 수 있음. 또한, LLM을 라이브 소셜 미디어 피드, 뉴스 사이트 또는 기타 자주 업데이트되는 정보 소스에 직접 연결할 수 있음.
- 사용자 신뢰 강화
: RAG은 소스의 저작자 표시를 통해 정확한 정보를 제공할 수 있음. 출력에는 소스에 대한 인용 또는 참조가 포함될 수 있음. 사용자는 추가 설명이나 세부 정보가 필요한 경우 소스 문서를 직접 찾아볼 수도 있음.
- 개발자 제어 강화
: RAG를 사용하여 채팅 애플리케이션을 보다 효율적으로 테스트하고 개선할 수 있음. LLM의 정보 소스를 제어하고 변경하여 변화하는 요구 사항 또는 부서 간 사용에 적응할 수 있음. 또한 개발자는 민감한 정보 검색을 다양한 인증 수준으로 제한하고 LLM이 적절한 응답을 생성하도록 할 수 있음. 또한 LLM이 특정 질문에 대해 잘못된 정보 소스를 참조하는 경우 문제를 해결하고 수정할 수도 있음.
4) 검색-증강 생성의 작동원리
-
검색 구성 요소가 도입 : 사용자 입력을 활용하여 데이터 소스에서 정보를 가져옴. -> 사용자 쿼리와 관련 정보가 모두 LLM에 제공. -> LLM은 새로운 지식과 학습 데이터를 사용하여 더 나은 응답 생성.
-
외부 데이터 생성
: API, 데이터베이스 또는 문서 리포지토리와 같은 여러 데이터 소스에서 가져올 수 있음. 데이터는 파일, 데이터베이스 레코드 또는 긴 형식의 텍스트와 같은 다양한 형식으로 존재할 수 있음. 임베딩 언어 모델로 데이터를 수치로 변환하고 벡터 데이터베이스에 저장
: 이 프로세스는 생성형 AI 모델이 이해할 수 있는 지식 라이브러리를 생성함.
-
관련 정보 검색
: 사용자 쿼리는 벡터 표현으로 변환되고 벡터 데이터베이스와 매칭됨. 관련성은 수학적 벡터 계산 및 표현을 사용하여 계산되고 설정됨.
-
LLM 프롬프트 확장
: RAG 모델은 검색된 관련 데이터를 컨텍스트에 추가하여 사용자 입력(또는 프롬프트)을 보강함. 확장된 프롬프트를 사용하면 대규모 언어 모델이 사용자 쿼리에 대한 정확한 답변을 생성할 수 있음.
-
외부 데이터 업데이트
: 문서를 비동기적으로 업데이트하고 문서의 임베딩 표현을 업데이트한다. 자동화된 실시간 프로세스 또는 주기적 배치 처리를 통해 이 작업을 수행할 수 있음. 변경 관리에 다양한 데이터 과학 접근 방식을 사용할 수 있음.
다음 다이어그램은 LLM과 함께 RAG를 사용하는 개념적 흐름을 보여줍니다.

5) 검색-증강 생성과 시맨틱 검색의 차이점은 ?
- 시맨틱 검색 : RAG 결과를 향상시킴.
- 오늘날의 기업은 방대한 양의 정보를 다양한 시스템에 저장 -> 컨텍스트 검색은 대규모로 실행하기 어려우며 결과적으로 생성 출력 품질이 떨어짐.
- 시맨틱 검색 기술은 서로 다른 정보의 대규모 데이터베이스를 스캔하고 데이터를 더 정확하게 검색할 수 있음.
- RAG은 지식 집약적 작업에 대해 제한된 결과를 제공. 또한 개발자는 수동으로 데이터를 준비할 때 워드 임베딩, 문서 청킹 및 기타 복잡한 문제를 해결해야 함.
- 시맨틱 검색 기술은 개발자는 그럴 필요가 없음. 또한 RAG 페이로드의 품질을 극대화함.
6) AWS의 검색-증강 지원
Amazon Bedrock, Amazon Kendra...제공함. 홈페이지 하단 설정 참조
1차 진행 process.
구글에서 검색창에 'RAG란'으로 진행.
한 번에 하려고 하지 않고, 주기적 지식 업데이트로 진행.
공식 문서로 핵심을 잘 이해하는 것을 우선 목표.
참고
https://aws.amazon.com/ko/what-is/retrieval-augmented-generation/
https://www.youtube.com/watch?v=6m_bntSp21I
https://www.youtube.com/watch?v=ucH_N3jPQ0E&t=2s