RAG 기술의 발전과 진화
•
기본 RAG 구조: 문서 데이터베이스를 인덱싱하고, 검색기를 통해 관련 정보를 검색한 후, 생성 모델로 응답을 생성하는 기본 형태.
•
고급 RAG(Advanced RAG): 각 단계별 성능 향상을 위해 다양한 기술이 개발되고 적용됨.
•
모듈러 RAG(Modular RAG): RAG를 구성하는 여러 기능 요소를 모듈화하여, 다양한 패턴의 RAG를 손쉽게 구성할 수 있는 형태로 발전.
RAG 시스템의 문제 해결 범주
•
레벨 1: 정답 검색: 주어진 자료 내에서 직접적인 정답을 찾는 질문. 예: "2024년 월드컵 우승 팀은?"
•
레벨 2: 팩트 조합 추론: 명시적으로 주어지지 않은 단서를 조합하여 정답을 도출하는 질문. 예: "1999년에 일론 머스크가 설립한 회사의 현재 기업가치는?"
•
레벨 3: 근거 기반 판단: 문서 형태로 주어진 근거를 바탕으로 의사결정이나 판단을 요하는 질문. 예: 법률이나 판례를 근거로 한 판사의 유무죄 판단.
•
레벨 4: 숨겨진 근거 추론: 명확한 근거가 주어지지 않은 상황에서 히스토리, 사례, 배경지식을 통해 판단해야 하는 질문.
RAG 시스템 개발 시 도전 과제와 해결 방안
•
문서 처리: 다양한 형식의 문서를 효과적으로 처리하기 위해 전문 솔루션 활용 필요.
•
테이블 데이터 처리: 복잡한 테이블 구조를 단일한 형태로 변환하여 LLM이 인식하기 쉽게 전처리.
문서 청킹(Chunking)
•
LangChain Semantic Chunker 변형 사용
•
문서 구조 패턴 활용 (대/중/소 항목 구분)
•
긴 길이의 표 분리
•
5 Levels Of Text Splitting, Greg Kamradt
리트리버(Retriever) 단계의 기술 발전
•
하이브리드 검색: Dense 벡터 리트리버와 BM25와 같은 Sparse 벡터 리트리버를 함께 사용하는 기법.
◦
Dense Vector Retriever + BM25 REtriever ensemble
◦
Embeddig Models in MTEB → ~500M, max token 8k 모델 선택
◦
한국어 특성 반영: 형태소 분석 lib. 통해서 keyword 위주로 search 함으로서 recall@5 약 3%p 향상
•
임베딩 모델 선택: Hugging Face의 MTEB 리더보드를 참고하여 성능이 우수한 임베딩 모델 선택.
•
Re-ranker 활용: Cross-Encoder를 이용하여 쿼리와 문서 청크 간의 연관도를 직접적으로 평가.
◦
Cross Encoder 이용, 검색된 Chunk들 중 관련성 높은 Chunk 재추출
◦
Re-ranker 적용으로 recall@5 약 4%p 향상
생성(Generation) 단계의 최적화 전략
프롬프트 엔지니어링
•
프롬프트 최적화를 통해 LLM의 성능 향상. 예: 진화 알고리즘을 활용한 '에버프롬프트' 기법.
•
최적의 성능을 얻기 위한 Prompt Optimization 필요
◦
EvoPrompt, StraGo와 같은 자동화된 최적화 기법 탐색 중
모델 파인튜닝
•
도메인 특화 모델에 대한 사전 학습 및 컨텍스트와 질문, 답변을 활용한 파인튜닝.
•
RAFT: Adapting Language Model to Domain Specific RAG, Tiangun Zhang, et al.
평가(Evaluation)의 중요성과 접근 방법
•
그라운디드니스(Groundedness) 평가: 생성된 답변이 입력 컨텍스트와 얼마나 부합하는지 평가.
•
리트리버 성능 평가: 쿼리를 활용하여 관련성 있는 컨텍스트를 추출하는 능력 평가.
•
생성 모델 평가: 컨텍스트에 기반한 응답 생성의 정확성과 신뢰성 평가.
어댑티브 RAG 시스템 설계
•
쿼리 분석 단계 추가: 쿼리를 분석하여 RAG 적용 여부 판단 및 적절한 처리 경로 선택.
•
적응적 접근 방식: 각 단계별로 생성된 결과의 적합성을 평가하고, 필요 시 재생성하는 방식 도입.
LLM 소프트웨어 개발의 특성과 전략
•
평가 중심 개발: 확률에 기반한 소프트웨어 특성상 지속적인 평가와 개선 사이클의 중요성.
•
리트리버와 생성기 성능 균형: 제너레이터의 성능을 충분히 높인 후 리트리버를 개선하는 전략이 효과적임.
Evaluation is all you need
•
확률형 소프트웨어 : 가설을 세우고, 구현하고, 평가하고, 최적화하는 과학자 mindset
•
반복적 프로세스의 나침반은 Evaluation Process
Strategy: Retriever vs Generator
•
도메인, 문제 난이도 등에 따라 Retriever와 Generator 중 Focus 영역 선택이 필요
•
Generator 성능을 우선 확보한 후 Retriever 성능 개선하는 것이 효과적