RAG (Retrieval-Augmented Generation)는 대규모 언어 모델(LLM)에 검색 기능을 결합하여 정보를 생성하는 방식
이를 통해 모델은 외부 정보를 검색하여 더 정확하고 관련성 있는 답변을 생성가능
1. RAG의 개념
RAG는 "검색 기반 생성"을 의미하며, 기존 LLM이 갖고 있는 제한된 훈련 데이터에 의존하지 않고, 외부에서 관련된 정보를 검색해 답변을 생성
이는 모델이 최신 정보를 반영하거나 훈련 데이터에 없는 정보를 포함하여 더 나은 답변을 제공 가능
RAG는 크게 두 가지 주요 구성 요소로 이루어진다.
- Retriever: 검색기. 입력된 질문에 대해 외부 데이터베이스(예: 문서, 웹사이트, 위키백과)에서 관련된 정보 검색
- Generator: 생성기. 검색된 정보를 바탕으로 최종 답변 생성
2. RAG의 적용 과정
- 데이터 준비:
- 검색할 데이터 소스를 준비
- 텍스트 형태의 문서, 데이터베이스, 지식 그래프, 웹 크롤링 데이터 등
- 데이터는 검색 시스템에서 사용할 수 있도록 인덱싱 해야함
- 검색할 데이터 소스를 준비
- Retriever 설정:
- 검색기(Retriever)는 사용자의 쿼리에 따라 관련된 문서를 검색하는 역할
- 일반적으로 사용되는 검색 알고리즘으로는 TF-IDF, BM25, Dense Retrieval(예: DPR, ColBERT)
- 인덱싱된 데이터를 빠르게 검색하여 가장 관련성이 높은 몇 개의 문서 반환
- 검색기(Retriever)는 사용자의 쿼리에 따라 관련된 문서를 검색하는 역할
- Generator 설정:
- 생성기(Generator)는 LLM을 기반
- 검색기로부터 반환된 문서를 입력으로 받아 최종적인 텍스트를 생성
- 여기서 생성기는 주어진 문맥(검색된 문서)을 바탕으로 답변 생성
- GPT-3, GPT-4, T5와 같은 모델을 사용
- 생성기는 문서에서 중요한 정보를 추출하고 이를 사용자의 질문에 맞게 조합하여 자연스러운 언어로 답변 제공
- 통합 및 조정:
- 검색기와 생성기를 통합하는 과정에서는 검색 결과의 품질 평가
- 생성기가 적절한 답변을 생성할 수 있도록 파이프라인 조정
- 모델의 성능 개선을 위해 하이퍼파라미터 튜닝, 문서 순위 조정, 검색 문서 수 조정 등의 과정 필요
- 훈련 및 파인튜닝:
- 모델이 더 나은 결과를 생성하도록 하기 위해 훈련 데이터에 대해 파인튜닝을 진행 가능
- 특히 생성 모델의 경우, 검색된 문서를 기반으로 더 정확한 답변을 생성하도록 파인튜닝된 데이터셋 학습
- 평가 및 테스트:
- RAG 시스템이 올바르게 작동하는지 평가
- 여기에는 정성적 평가(사용자 피드백, 휴먼 평가)와 정량적 평가(정확도, 정밀도, F1 스코어 등) 포함
3. RAG 적용 시 고려사항
- 데이터베이스 품질:
- 검색의 정확성과 관련성은 데이터 소스의 품질에 의존
- 최신의 정확한 데이터 필요
- 모델 복잡도와 성능:
- 복잡한 모델 조합은 더 높은 계산 비용
- 최적화를 고려해야 합니다.
- 사용 사례에 맞는 튜닝:
- 특정 도메인에 맞는 답변을 제공 위해 도메인 별 튜닝이 필요
- 실시간성:
- 최신 정보가 필요한 경우, 실시간 검색이 가능하도록 설정
'공부 > LLM' 카테고리의 다른 글
LLM모델 경량화 및 최적화 방법 (1) | 2024.09.03 |
---|---|
VLM 이란? (0) | 2024.09.02 |
[Claude] 이미지에 대한 설명 (0) | 2024.07.05 |
LLM 서비스를 사용하는 방법(LLM 활용의 효율성: 초기 설정의 중요성) (0) | 2024.07.03 |