Abstract
Open-Domain QA Task에서 LLM을 할 때, 널리 사용하는 방법은 외부 Retriever로 Retrieve한 Passages를 Question과 같이 Prompt로서 주는 Retrieval-Augmented Generation(RAG)입니다. 하지만 이러한 방법은 Retrieved Passages를 잘 활용하지 못한다는 한계가 있는데, SURE는 질문에 답변이 될만한 Answer Candidate을 생성하고 그에 맞게 각 Passage를 요약하는 Conditional Summarization 을 통해 Quesiton-Aware한 Summary를 만들고, Instance-Wise Validation 과 Pair-Wise Ranking 을 통해 Best Answer를 도출합니다.
Notations
- Retriever : BM25, DPR, Contriever와 같은 pretrained retriever
- CN+ : 전체 corpus C에서 Retriever로 Retrieve한 Top N개 Passages
- CN+=Retriever(q,C,N)
- M : LLM
- a^ : LLM Prediction
- a^=M(q,CN+)
Model Pipeline
Answer Candidate Generation
질문 q와 retrieved passages CN+를 프롬프트 pcan에 넣어 LLM에게 주고 K개의 Answer Candidates yk~, k=1,2,...,K 를 구합니다.
- y~k=M(pcan(q,CN+))
Conditional Summarization
q, yk~, CN+를 프롬프트 psum에 넣어 LLM에게 주고 각 candidate에 대응하는 K개의 summary sk를 구합니다.
- sk=M(pcan(q,CN+,y~k))
Instance-Wise Validation
각 summary sk가 valid한지 묻는 프롬프트 pval를 통해 sk의 validity v(sk)를 구합니다.
- v(sk)=1, when M(pval(q,y~k,sk)) =True or v(sk)=0, else.
Pair-Wise Ranking
K개의 summary를 pairwise하게 비교하기 위해 모든 si,sj쌍에 대해 둘 중 더 나은 summary를 고르도록 하고, 이를 토대로 raking r(sk,SK)를 구합니다.
- r(sk,SK)=i=k∑Krpair(sk,si),
- rpair(sk,si)=⎩⎪⎪⎨⎪⎪⎧1,00.5M(prank(q,sk,si))=sk M(prank(q,sk,si))=si else
Final Prediction
Validity v(sk)와 ranking r(sk,SK)의 합을 최대로 하는 answer candidate y~k를 fianl prediction으로 정합니다.
- a^=y~k∗, k∗=kargmaxv(sk)+r(sk,SK)