본문 바로가기
RAG

[RAG] AutoRAG 설명

by busybee-busylife 2024. 6. 24.
반응형

 

RAG 대회에 참여하여 이런저런 실험을 하다가 AutoRAG에 대해 알게 되었다. 

유튜브에 자세한 설명이 있어 관련 내용을 정리해본다(출처 아래 표기)

 

AutoRAG를 구현하는 것도 간단해보이진 않지만,

처음부터 AutoRAG를 사용하면 멍충이가 될 것 같아 나름의 삽질을 좀 더 해보다가 시도하기로.

 

 

 

 

 

베이스: BM25(그냥 쓰면 한국어에서는 잘 작동 X. 한국어형태소와 함께 사용해야) 

 

좋은 한국어 임베딩 모델 사용하는 것이 중요 

 

: 단락에 인덱싱 -> 정답 단락을 가져왔는지를 평가 

검색후 선정한 단락 A, B, C가 retrieval gt A(정답 단락)과 일치하는가 

생성한 답변 A가 generation gt B(생성해 놓은 정답)와 일치하는가 

Q. GT를 어떻게 만드는가? 

 

: LLM이 작성한 질문을 휴먼이 검수 

평가데이터셋을 만들때는 제일 똑똑한 LLM(지금은 chatGPT4o)을 사용해야!

'질문-답변' 100개만 있어도 충분하다(작지만 고품질이 중요)

보통 위에서 3가지 지표를 함께 사용 

LLM judge: 

 

Passage Filter: 앞의 Reranker에서 나온 결과들 중 임계치 이하의 결과물들은 날려버림 -> Precision 상승 

 

node_line: 일종의 폴더 

 

 

 

 

데이터셋: 양질의 100개면 충분하다 

 

QnA

FineTuning: 어투 변경 등을 위한 것. 새로운 지식 주입을 위한 것이 X 

 

RAG의 한계

- 적합한 문서 검색 only. 전체 지식의 취합 & 정리는 어려움 

- 도메인별 전문용어에 대해서는 단어가 달라지면 검색 어려움 

- LLM 성능을 넘지 못함(LLM에 의존) 

 

한국어 임베딩 성능을 높이려면?

- 한국어 형태소 모델 + BM25 함께 사용 

 

메디컬, 과학기술 등 전문적인 단어가 많이 나오는 도메인이면? 

- BM25 + Reranker 튜닝 

 

BM25(Best Matching 25)가 뭐지? 

- 임베딩을 사용하지 않는 단어 매칭 기반의 랭킹 함수 

- 코사인 유사도 기반 검색 등 임베딩 기반 검색에서는 적용 X 

 

좋은 한국어 임베딩 모델?

- OpenAI 모델이 그나마 낫다... 

 

Reranker를 파인튜닝 한다는것은? 

- '질문-답변' 유사도를 binary classification -> 1(유사성 있음)이 나올 확률을 점수로 사용 

- Reranker는 보통 BERT, T5 기반의 모델을 사용 

- 위 language moel을 파인튜닝 하는 것 

 

VectorDB 추천? 

- AutoRAG는 기본적으로 Chroma(로컬에서 사용하기 간편) 

 

https://www.youtube.com/watch?v=oiWNA3HsvHQ

 

https://github.com/Marker-Inc-Korea/AutoRAG

 

GitHub - Marker-Inc-Korea/AutoRAG: RAG AutoML Tool - Find optimal RAG pipeline for your own data.

RAG AutoML Tool - Find optimal RAG pipeline for your own data. - Marker-Inc-Korea/AutoRAG

github.com

 

https://github.com/Marker-Inc-Korea/RAGchain

 

GitHub - Marker-Inc-Korea/RAGchain: Extension of Langchain for RAG. Easy benchmarking, multiple retrievals, reranker, time-aware

Extension of Langchain for RAG. Easy benchmarking, multiple retrievals, reranker, time-aware RAG, and so on... - Marker-Inc-Korea/RAGchain

github.com

 

https://www.youtube.com/watch?v=ahnGLM-RC1Y&list=PLOXw6I10VTv-exVCRuRjbT6bqkfO74rWz

 

반응형