AutoRAG - 자동으로 최적의 RAG 파이프라인을 찾아주는 자동화 툴 (feat. RAG 맞춤형 LLM 공개)
AutoRAG
안녕하세요!
마커AI에서 LLM 연구를 하고 있는 kyujinpy라고 합니다!😋😋
최근 LLM이 떠오르고, private-LLM에 대한 관심도가 증가하면서, RAG에 대한 관심도 증가하고 있는 것 같습니다😎
RAG는 Retrieval-Augmented Generation의 약자로, 방대한 문서를 기반으로 LLM이 답변을 해주는 시스템을 말합니다.
이는, 방대한 문서 가운데 원하는 정보를 빨리 찾고, 동시에 hallucination 문제점도 줄여준다는 장점이 있습니다!
최근 저희 마커AI 팀에서, RAG pipeline을 담당하던 팀이 AutoRAG라는 RAG 최적화 모듈을 공개하였습니다🤗🤗
AutoRAG에 나오게 된 배경과 AutoRAG를 이용하면 어떠한 장점들이 있는지 설명드리겠습니다!
AutoRAG github
RAG를 적용하기 힘든 어려움
기존의 RAG의 문제점은 다음과 같은 문제점이 있었습니다🤔🤔
토이 프로젝트 수준의 RAG 파이프라인은 쉽게 만들 수 있지만, 실제 데이터와 사용 목적에 맞는 높은 성능의 RAG 파이프라인을 구성하는 것은 어려움이 있음.
RAG는 데이터와 목적에 따라 어울리는 조합이 모두 다르며 최적의 조합을 찾기 위해서는 많은 실험과 평가를 반복해야 함
위와 같은 문제점으로 인해, 자체적인 LLM을 구축하는 것도 어렵지만, 데이터에 최적화된 RAG 파이프라인을 구성하는 것도 쉽지 않았습니다.
AutoRAG의 장점
저희 AutoRAG는 위와 같은 문제점에 대해서 아래의 해결책을 제시했습니다😎😎
AutoRAG에서 현재 지원하는 12개의 모듈로, 960가지의 조합이 나올 정도로 다양함 (임베딩 모델, 언어모델은 조합에서 제외)
AutoRAG는 ML을 자동으로 최적화 해주는 AutoML처럼 RAG의 파이프라인을 자동으로 최적화
AutoRAG는 yaml 파일을 간단히 수정하는 것 만으로 사용 가능
AutoRAG를 실행하면 복잡한 RAG 파이프라인의 각 단계들을 자동으로 평가하여 최적의 파이프라인을 제시함
각 단계별로 평가 결과를 저장하여, 어느 단계에서 가장 큰 성능 하락이 일어나는지, 어떠한 모듈이 가장 성능 향상을 가져왔는지 바로 알게됨
더욱이, 찾은 최적의 파이프라인을 곧바로 fastAPI 서버로 실행하여 사용 가능
찾은 파이프라인을 yaml 파일로 만들어, 본인의 RAG 파이프라인을 공유하는 것도 간편
저희가 만든 AutoRAG를 활용하여 저희 내부에서 자체적으로 테스트도 진행해보았습니다!
AutoRAG를 이용하였을 때 성능과 baseline의 성능을 비교하였을 때, 아래와 같이 성능이 향상된 것을 확인할 수 있었습니다😸😸
베이스 모델로 Mistral 7B를 활용하였고, 데이터셋은 Eli5 데이터셋을 활용하였습니다.
Eli5 데이터셋을 활용한 벤치마크 결과, 최적화한 파이프라인에서 retrieval의 Recall이 0.87에서 0.97로 상승, BLEU는 약 22% 성능이 향상
RAG 맞춤형 LLM 공개!?

또한 저희 내부에서, 자체적으로 만든 RAG 최적화 LLM도 소개합니다🤗
해당 모델은 RAG와 같이 대량의 문서에서 특정한 질문에 대한 답변을 추출하는데 최적화된 LLM 입니다😁
따라서, 저희 RAG-KO-Mixtral-7Bx2 모델은 아래와 같이 제작되었습니다.
MoE 방식을 Mixtral에 적용하고, 한국어 대량 corpus로 학습하여 자체적인 PT를 제작하였습니다.
DopeorNope/Ko-Mixtral-v1.4-MoE-7Bx2
자체적으로 제작된 Ko-Mixtral-7Bx2 모델에 GPT-4로 생성한 RAG 데이터셋(private; AIHUB 데이터셋 가공)과 LoRA를 활용해 fine-tuning하였습니다.
제작된 MarkrAI RAG Model
간단한 예시가 보고 싶으신 분들은 아래의 블로그로 방문해주세요!
GPT-4 vs RAG-KO-Mixtral-7Bx2
(저희가 공개한 RAG-KO-Mixtral-7Bx2 모델은 비상업적 목적으로만 사용 가능하다는 점도 기억해주세요🧐)
여기까지 AutoRAG를 소개하였습니다!
최근 RAG에 대한 인기가 커지고 있는데, 여러분들도 RAG에 대한 관심이 있으시다면 AutoRAG를 적극적으로 활용해보시기를 바랍니다😘😘
감사합니다!
댓글
로그인 후 댓글을 남길 수 있습니다.
좋은 정보 빠르게 잘 정리해서 공유해 주셔서 감사합니다
https://x.com/helloiamleonie/status/1757376052102385874?t=hkDktFkSzet0guYua5-pgw&s=09 아직 AutoRAG를 다 이해하지는 못했는데 이 문서의 모던 RAG대비 어떤 차이가 있는지 궁금합니다
해당 문서에 나온 Advanced RAG를 자동으로 최적화하는 툴이라고 생각하시면 좋습니다! Modular RAG로는 업그레이드 할 계획이 있고요 ㅎㅎ
안녕하세요, 파이프라인 구축시에 노드 순서대로 정하는 걸로 이해했습니다. 그럼 각 노드들을 선택하는 기준이나 알고리즘이 어떻게 되는 걸까요? 각 노드들에 대한 베이스라인이 있는건가요?