‼️ 개인 학습 내용으로, 오류가 있을 수 있습니다.
논문 URL - https://arxiv.org/pdf/2401.15884
논문을 읽으며 생각할 것들
저자가 이 논문을 통해 이루고자 한 것은 무엇인가?
- 검색기가 부정확한 결과를 반환하는 상황에 주목한다. 이를 위해 검색 결과를 스스로 교정하고, 문서 활용도를 높여 생성 성능을 개선하는 새로운 방법인 CRAG(Corrective Retrieval-Augmented Generation)를 제안한다.
논문의 핵심 요소는 무엇인가?
CRAG 모델 추론 과정
- 입력 쿼리와 검색된 문서들에 대해 경량화된 평가기를 사용해 문서의 관련성 점수를 산출한다.
- 이 점수는 세 가지 신뢰 등급(Correct, Incorrect, Ambiguous)으로 구분한다.
- Correct: 관련성이 높다고 판단되면, 문서를 더 정밀한 지식 단위로 분해하고 정제한다.
- Incorrect: 관련성이 낮으면 해당 문서를 버리고, 웹 검색을 통해 보완 지식을 확보한다.
- Ambiguous: 확실하지 않을 경우, 두 전략을 혼합하여 균형 잡힌 조치를 취한다.
Retrieval Evaluator 역할
- 검색된 문서가 실제로 정확한지 확인
- 방법 :
- 각 질문마다 10개의 문서를 검색하며, 질문과 각 문서를 결합해 평가기에 입력하면, 평가기가 각 쌍의 관련성 점수를 예측한다.
- 관련성 점수에 따라 검색 문서가 올바른지 최종 판단하고, 이후 액션을 결정한다.
Action Trigger 역할
- 문서의 신뢰도 점수에 따라 개별적으로 신뢰도 평가 후 통합됨(정확/부정확/모호)
Knowledge Refinement 역할
- 검색된 관련 문서에서 가장 중요한 정보(knowledge strips)를 추출하기 위해 '분해 후 재조합' 방식의 지식 정제한다.
- 방법 :
- 검색 결과를 더 세밀하게 다루기 위해 문서를 여러 개의 내부 단위(스트립)로 분할한다.
- 이 점수를 바탕으로 관련 없는 스트립은 제거하고, 관련 있는 스트립만 순서대로 이어 붙여(recompose) 최종적으로 중요한 정보를 뽑아낸다.
Web Search 역할
- 시스템이 기존 지식 코퍼스만으로 문제를 해결할 수 없다고 판단되면, 추가적인 외부 지식을 활용한다.
- LLM이 자신이 모르는 것과 답할 수 없는 것을 인식하고, 외부에서 지식을 보완할 수 있도록 하여, 더 신뢰할 수 있는 답변을 생성하는 데 기여한다.
논문에서 내가 활용할 것은 무엇인가?
- RAG 활용 App에 생성 후 CRAG 단계 적용 한 뒤 생성 품질 비교해보기
참고할 다른 논문은 무엇인가?
- Self-RAG
- Multimodal
- REALM