Search

Enterprise AI 혁신을 이끄는 RAG 최적화 전략과 사례

대분류
기타
소분류
컨퍼런스 기록
설명
SK텔레콤 - 김종연님 세션
유형
SK AI SUMMIT
최종 편집 일시
2024/11/09 15:21
생성 일시
2024/11/05 05:31
14 more properties

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 성능 개선하는 것이 효과적