연구 목적
1. LLM의 한계
- 사용자가 정확한 용어를 알고 있어야 함
- 검색 결과 중 원하는 정보를 직접 찾아야 함
2. RAG 도입의 기대효과
- 정책 정보에 대한 접근성 향상
- 자연어 기반 질의응답 시스템을 통해 정확하고 관련성 높은 정보 제공
- 복잡한 정책 내용을 이해하기 쉬운 형태로 제공
- 최신 정보를 실시간으로 반영할 수 있는 시스템 구축
연구 내용
1. 사용 기술
(1) RAG(Retriever-Augmented Generation)
- 대형 언어 모델의 생성 능력과 외부 지식베이스를 결합하는 기술
- 사용자 쿼리와 관련된 문서나 정보를 외부 지식베이스에서 검색하는 Retriever, 검색된 정보와 쿼리를 바탕으로 응답을 생성하는 Generator로 나뉜다
- 장점 : 외부 지식 베이스를 활용한다
- 최신 정보를 반영할 때, 모델을 재학습할 필요가 없이 외부 데이터베이스만 교체하면 된다
- 기존에 모델이 알고 있던 정보로만 답변을 생성하는 것보다 더 정확한 응답 생성이 가능하다
- 읽어온 정보의 출처를 알 수 있어 답변의 근거를 제시할 수 있다
- 특정 분야에 대한 지식베이스를 활용하여 전문성 있는 응답이 가능하다
(2) Prompt Engineering
2. 파이프라인
- FAISS(Faceobok AI Similarity Search) 기반 벡터 검색과 BM25(Best Matching 25)검색을 결합한 앙상블 검색 시스템 구축
- Cross Encoder Reranker를 적용하여 검색 결과 품질 향상
- GPT를 활용하여 자연스러운 응답 생성
3. 시스템 설계
- 채팅 UI: HTML, CSS, JavaScript 이용해 설계
- 언어모델이 동작하는 백엔드: FastAPI
- RAG 파이프라인 구축을 위해 LangChain 라이브러리 사용
- 시스템 구조 도식화
4. 데이터 수집 및 문서 임베딩
- PDF 형태로 정책 자료 수집
- PDF 파싱을 위해 파이썬 PyMuPD 라이브러라 사용
- 이 외 라이브러리: PDFMiner, PyMuPDF, PDFPlumber, PyPDFium2 등
- 본 연구에서 PyMuPD 선정 이유
- 텍스트 추출의 정확성이 높음
- 표와 이미지가 포함된 복잡한 레이아웃도 안정적으로 처리
- 유니코드 문자를 올바르게 처리하여 다국어 문서 지원 우수
- 임베딩을 위해 OpenAI의 임베딜 모델 사용
- 기존 PDF 문서를 800자 단위로 분리하고 100자 단위로 중첩되도록 설정
- 임베딩 모델을 통해 벡터 형태로 변환하여 데이터 베이스에 저장
- 데이터베이스로 FAISS 사용
- 일반적으로 사용되는 벡터 데이터베이스는 FAISS, Chroma, Pinecone 등이 있다
- FAISS 선정 이유
- 오픈 소스
- 고차원 벡터의 빠른 유사도 검색 지원
- 대량의 데이터처리 시에 뛰어난 성능을 보임
5. 질의 처리 및 검색
- 질의의 의미적 특성을 벡터공간에 매핑하여 문서 벡터들과의 유사도 비교
- Ensemble Retriever(FAISS와 BM25 결합) 기법 사용
- 검색 결과 품질 향상을 위해 Cross Encoder Reranker 적용
- 질의와 문서를 동시에 인코딩하여 더 정확한 관련성 점수 계산
- BAAI/bge-reranker-v2-m3 모델 사용하여 재순위화 수행
- 초기 검색 결과 중 상위 5개의 가장 높은 관련성을 가진 문서만 선발하여 최종 답변 생성에 활동
6. GPT-4o-mini를 이용한 RAG 구현
- 오픈소스 LLM 대신 GPT를 채택한 이유
- 오픈소스 LLM 구동을 위한 높은 하드웨어 비용 (고성능 GPU 필요)
- 모델 운영을 위한 유지보수 비용이 지속적으로 발생한다
- 내부 데이터 유출 가능성이 존재하나 본 연구에서 사용되는 문서는 공개된 정보이기 때문에 문제 없음
- RAG 파이프라인에서 검색된 관련 정보를 바탕으로 답변을 생성하는 역할 수행
- 프롬프트 엔지니어링을 통해 모델이 정책 정보를 정확히 이해하고 사용 친화적인 답변을 생성하도록 유도
- 최대한 정확한 정보 전달을 위해 모델의 창의성을 조정하는 temperature 변수 0.1로 설정
7. LangChain에서 제공하는 모니터링 도구인 LangSmith를 활용하여 시스템 모니터링 및 비용관리
- RAG 시스템의 전반적인 성능과 비용 추적
- 검색과 응답 생성에 소요되는 시간 모니터링하여 시스템 성능 최적화
- 시스템 운영 중 발생하는 다양한 에러들 추적, 기록
- Ensemble Retriever와 Cross Encoder Reranker 성능을 지속적으로 모니터링
- 디버깅 기능으로 RAG의 파이프라인의 각 단계별 처리 과정 상세히 분석 가능
전동빈, 김희철 and 김경이. (2025). 복지 정책 정보 제공을 위한 RAG 기반 대화형 시스템 개발. 한국정보통신학회논문지, 29(2), 209-217.
728x90
반응형
'학교 공부 > 졸업 프로젝트 (RAG)' 카테고리의 다른 글
[python / colab] 증권사 리포트 pdf 파일 크롤링하기 (1) | 2025.04.24 |
---|---|
[논문 Review] Development of an Automated ESG Document Review System using Ensemble-Based OCR and RAG Technologies (4) | 2025.04.09 |