- 
          
          [yongggg's] REAR 논문리뷰: A Relevance-Aware Retrieval-Augmented Framework for Open-Domain Question Answering reviewMachine & Deep Learning 2024. 3. 13. 15:23안녕하십니까 이번 장에서는 LLM의 아키텍쳐 및 training 방법을 바꾸어 기존 RAG 시스템의 한계를 넘을 수 있도록 한 논문에 대해 소개하겠습니다. 기존의 RAG 시스템을 제한된 내부 parametric knowledge를 이용하는 RAG는 LLM의 knowledge 범위를 확장하기 위해 널리 사용됐지만, 기존 LLM은 검색된 문서의 관련성을 정확히 평가할 수 없으므로 외부 지식(즉, 검색된 문서)를 잘못 활용할 가능성이 있습니다. 이 논문에서 위의 문제를 해결하기 위해 open-domain question answering(QA)를 위한 RElevance-Aware Retrieval-augmented 접근 방식인 REAR를 제안합니다. 본 논문의 핵심 motivation은 LLM에 대한 source relevance에 대한 자체 인식을 향상시켜 RAG 시스템에서 외부 지식을 adaptively (적응적으로) 활용하는 것을 목표로 합니다. 특히 검색된 문서의 관련성을 정확하게 평가하는 특수 설계된 rank head를 통합하여 LLM 기반 RAG 시스템을 위한 새로운 architecture를 개발합니다. 또한 본 연구에서는 bi-granularity relevance(이중 세분 관련성) fusion and noise-resistant training을 기반으로한 training 기법을 제안합니다. 아키텍처 및 training의 개선 사항을 결합함으로써 외부 지식을 더 잘 활용할 수 있다고 소개합니다. introduction엄청난 capacities LLM의 등장에도 불구하고 실시간 및 domain knowledge가 부족한 open-domain QA의 작업은 여전히 어려움을 겪고 있으며, 이를 완화하기 위해 RAG라는 검색을 통해 LLM에게 잠재적으로 관련된 문서를 제공함으로써 보다 정확한 contents를 생성하는데 도움을 주었다. RAG는 명확한 이점도 있지만, LLM을 효과적으로 개선하기 위한 기술적 과제도 존재한다. 1) 검새된 결과는 관련성이 없는 내용이나 문서를 포함할 가능성이 높으며, 이는 LLM을 잘못 인도하고 잘못된 응답을 하게 할 수 있다. 2) 검색된 문서의 전반적인 신뢰성을 높이기 위해 여러 참조 문서를 통합하는 것이 일반화 됐지만, 이러한 접근 방식은 검색된 문서에 존재하는 노이즈의 영향을 잠재적으로 증폭시킨다. 따라서, LLM은 관련성이 없는 문서를 필터링하고 내부 지식을 통합하는데 어려움이 있으며 이는 노이즈가 많은 contents에 대한 잠재적인 간섭을 피해야 한다. 최근 여러 연구가 RAG 시스템의 견고함을 향상시키기 위해 여러 방법들을 시도했다. Self-RAG(Asai et al., 2023)는 문서가 관련성이 있는지 구별하기 위해 특별 토큰을 생성하여 모델이 출력을 검사할 수 있도록 했고, RobustLM(Yoran et al., 2023)은 LLM이 문서가 관련성이 있는지 먼저 구별한 다음 답변을 생성하도록 했다. 그러나 이 접근 방식은 highly sparse하며 다양한 relevance를 포착하기에 정확하지 않은 binary labels만을 기반으로 문서 관련성 평가를 수행한다. 또한 참조 문서의 관련성 정도가 다양한 것을 고려하지 않아서 활용이 맹목적일 수 있다. 이를 위해 본 연구에서는 open-domain question answering(QA)를 위한 RElevance-Aware Retrieval-augmented approach를 제안한다. 이 접근 방식의 핵심 아이디어는 RAG 시스템에 대한 source relevance에 대한 강력한 self-awareness를 개발하여 LLM이 복잡한 QA 작업을 해결하기 위해 외부 지식(즉, 검색 문서)를 적응적으로 활용하는 방법을 학습하도록 한다. 아키텍처 적으로, 세분화된 선호도를 가지는 검색 문서 간의 관련성 차이를 식별할 수 있도록 하는 검색 분야의 reranker(Zhao et al., 2023)의 영감을 받아 관련성 평가를 위해 특별히 설계된 rank head와 LLM을 융합한 다음 관련성 신호를 캡처함으로써 관령성이 없는 외부 지식의 산만함을 줄인다. 다음으로 binary의 supervision signals만 제공할 수 있는 binary 판별 방법의 한계를 극복하기 위해 세분화된 supervision을 추가적으로 활용하여 bi-granularity(이중 세분화) relevance fusion을 설계하고 nois-resistant training을 통해 RAG 시스템 판별 능력을 향상시킨다. Related WorkOpen-domain Question Answering현대 open-domain QA system은 traiditional IR 기법과 nueral comprehension 모델을 결합한다. 문서를 검색한 후(Ren et al. 2021a; Zhang et al., 2021), 추출 또는 생성 reader가 일반적으로 답변 생성에 사용된다.(Zhu et al., 2021). RALM(Guu et al., 2020), RAG(Lewis et al., 2020), RETRO(Borgeaud et al., 2022) 및 In-context RALM(RAM et al., 2023)과 같은 모델은 향샹된 factual generation capabilities를 입증했다. 하지만, 이러한 readers들은 명시적인 관련성을 식별하는 능력이 부족하기 때문에 생성 품질이 noise 영향을 쉽게 받는다. 본 연구에서는 후속 생성 작업을 돕기 위해 관련성 점수를 명시적으로 생성하는 아키텍처를 제안한다. Retrieval-augmented LLMs.여러 연구에서는 Retirever 출력을 LLM의 선호도와 일치시키는 것을 목표로하며, Atlas(Izacard etal., 2022), RA-DIT(Lin et al., 2023)과 같은 작업은 RAG에서 고급 성능을 위해 언어 모델과 retriever를 공동으로 훈련한다. 다른 일부 작업에서는 knowledge source를 확장(Li et al. 2023b)하거나 query rewriting(zheng et al., 2023)을 통해 검색된 문서의 품질을 향상시킨다. 하지만, 검색에서 관련 없는 문서가 LLM을 잘못 이끄는 시나리오에 중점을 둔다. 최근 여러 연구(Asai et al., 2023; Luo et al., 2023; Yoran et al., 2023)에서는 콘텐츠를 generation하기 전에 statement나 special toekn을 생성하여 관련성에 대한 초기 판단을 내리는 패러다임을 채택하려고 한다. 그러나 이러한 방법은 관련성 판별의 정확도가 여전히 부족하고 LLM은 여전히 관련성 없는 문서의 간섭에 취약하다. 따라서, 관련성 정도를 정확하게 평가할 수 있고 관련성 없는 콘텐츠에 대해 더 강력한 프레임워크를 제안한다. Task Formulation이 작업은 대규모 문서 모음을 사용하여 질문에 답하는 것을 목표로 open-domain question answering(QA) 작업(Chen et al., 2017; Zhao et al., 2024)에 중점을 둡니다. 일반적으로 opn-domain QA 작업은 retriever가 관련 evidence를 찾고 reader가 검색된 evidences를 기반으로 답변을 생성하는 retriever reader(Chen and Yih, 2020)접근 방식으로 해결되는 경우가 많다. 형식적으로 query $q$가 주어지면, retriever는 첫 번째 단계에서 documents collection에서 top-k 개의 문서 $D = \{d_{i}\}_{i=1}^{k}$를 출력한다.(선택적으로 reranker에 의해 정제될 수 있다.) 검색된 문서 세트 전체를 답변 생성을 위한 통합적인 reference로 결합하는 이전 작업과 달리, 본 연구의 접근 방식은 개별 문서의 활용을 강조하며, 이는 다중 문서 설정으로도 확장될 수 있다. 입력 쿼리 $q$ 및 참조 문서 $D= \{ d_{i} \}_{i=1}^{k}$가 주어지면, reader(즉, LLM)는 각 reference 문서 $d_{i}$를 기반으로 답변 ai를 생성하여 답변 세트 A를 형성한다. $$ A = \{ a_{i} \}_{i=1}^{k} = \{ LLM(q,d_{i} | d_{i}) \in D \}$$ 위 과정 이후, 몇 가지 구체적인 방법을 기반으로 A에서 최종 답변을 선택할 수 있으며, 이는 쿼리 $q$와 가장 잘 일치한다는 것을 보장한다. 이 task formulation을 기반으로 쿼리와 문서 간의 관련성에 대한 정확한 평가(관련 reference 식별)와 noise-resistant를 위한 relevance signal 활용(관련성 없는 contents의 영향 감소)이라는 두 가지 핵심 측면을 개선하는 것을 고려한다. 따라서 이러한 과제를 위해 특별히 설계된 relevance-aware approach 방식을 도입한다. Methodology이 section에서는 LLM 내에 Reranker 모듈을 통합하여 query와 문서 간의 관련성을 정확하게 평가할 수 있는 RElevance-Aware Retrieval-augmented generation framework(REAR)를 제안한다. 또한 bi-granularity relevance fusion과 noise-resstant training을 포함하여 전체 프레임워크의 성능을 향상시키기 위한 개선된 훈련 방법을 제안한다. 4.1 Relevance-Aware RAG Architecture이 Part에서는 관련성 인식을 높이기 위한 rank module로 LLM을 증강하는 새로운 아키텍처를 제안한다. 아래 그림과 같이 이 아키텍처는 관련성 평가(Relevance Assessment), 관련성 유도 생성(relevance-guided generation), 최종 답변 라우팅(final answer routing) 등 세 부분을 포함한다.  4.1.1 Relevance Assessment검색된 문서를 동등하게 취급하는 대신, 먼저 reranker module의 통합으로 query-document pairs 관련성 점수를 평가하는 것을 목표로 한다. 정확한 관련성 평가(Me et al., 2023; Sun et al., 2023)를 달성한 reranker의 성공을 바탕으로 query와 document간의 완전한 상호작용을 통해 관련성 signals를 포착하도록 설계된 LLM rank head를 소개한다. 관련성 점수를 평가하기 위해 LLM 디코더는 입력된 query-document 쌍을 임베딩 $v_{rel}$에 mapping한다. $$ v_{rel} = Decoder(q, d). $$ 그 후, $v_{rel}$은 특별히 설계된 rank head에 의해 score $s_{rel}$로 정량화 된다. $$ s_{rel} = RankHead(v_{rel}) $$ where $RankHead(\cdot)$은 linear projection layer로 구현되며, 이 design은 두 가지 장점을 제공한다. 첫 째, rank head는 관련성 평가에 특화되어 있으며, LLM에서 다른 모듈의 기능에 영향을 미치지 않는다. 둘 째, 관련성 점수인 $s_{rel}$은 대조 학습 및 선호도 최적화와 같은 다양한 손실 함수를 가진 LLM의 내부 상태를 기반으로 직접 최적화할 수 있어 관련성 평가의 훈련을 보다 유연하고 집중적으로 만들 수 있다.(4.2 참고) 4.1.2 Relevance-guided Generation문서의 관련성을 무시하는 이전 작업(Cuconasu et al., 2024)과는 달리 각 문서의 관련성 평가 점수를 LLM에 통합하여 답변 생성 프로세스를 안내하는 것을 목표로 한다. 관련성 점수 $s_{rel}$은 scalar이므로 LLM이 완전히 활용할 수 없기 때문에 embedding layer를 추가로 통합하여 다음과 같이 조밀한 벡터 $v_{guide}$에 매핑한다. $$ v_{guide} = Embedding(s_{rel}) $$ 이 embedding vector는 LLM이 다음과 같은 LLM의 내부 지식(관련성 점수가 낮음) 또는 외부 증거(관련성 점수가 높음)에 기초하여 답 a를 생성하는 큐 역할을 한다. $$ a = LLM(q,d,v_{guide}) $$ 본 연구에서는 답변 생성(위의 식; $ a = LLM(q,d,v_{guide}) $)을 $v_{guide}$로 조밀 벡터 $v_{rel} = Decoder(q, d)$를 직접 활용하지는 않는데, 그 이유는 두 가지이다. 첫 째, $v_{rel}$은 query-document 관련성 평가의 역할을 하는 반면, $v_{guide}$는 LLM이 올바른 답변을 생성하도록 안내하는 역할을 한다. 따라서 서로 다른 관련성 표현 $v_{rel}$과 안내 신호 $v_{guide}$를 사용하면 관련성 평과와 답변 생성 사이의 간섭을 피할 수 있다. 둘 째, 본 연구의 실험은 framework에서 서로 다른 $v_{rel}$과 $v_{guide}$를 활용하면 우수한 성능으로 이어진다는 것을 보여준다.(section 5.3.1) 4.1.3 Final Answer Routingretrieval process 후에, top-k 개의 relevant dockments $D = \{ D_{i} \}^{k}_{i=1}$를 얻을 수 있다. 위의 $ v_{rel} = Decoder(q, d) $ 식부터 $ a = LLM(q,d,v_{guide}) $ 식에 기초하여, 각각의 query-document pair인 $(q, d_{i})$에 대한 추론을 수행하여 해당 답변 $a_{i}$를 얻었으며, 이는 k개의 답변 $A=\{a_{i}\}^{k}_{i=1}$로 구성된다. 우리는 서로 다른 검색된 문서의 생성 과정을 서로 다른 추론 경로로 탐색하는 것을 보고, 최종 답을 얻기 위해 가장 신뢰할 수 있는 routing 경로를 선택하는 것을 목표로 한다. 특히 path-reliability(경로 신뢰성)과 지식 일관성(knowledge-consistency)이라는 두 가지 routing 전략을 제안한다. - Path-reliability routing: LLM이 가장 높은 관련성 점수를 갖는 것으로 간주하는 답을 선택하는 간단한 접근 방법이다. 
 $$ a^{*} = \underset{a_{i} \in A}{argmax} \, s_{rel}(q, d_{i}) $$
 where $s_{rel}(q,d_{i})$는 $(q, d_{i})$ 쌍의 관련성 점수를 나타낸다.
- Knowledge-consistency routing: Chain-of-Thought reasoning(Wang et al., 2022; Wei et al., 2022)의 self-consistency의 성공에 영감을 받아, 이 접근법은 LLM의 내부 지식(즉, parametric knowledge)과 매우 일치하는 외부 지식(즉, 검색된 문서)을 기반으로 하는 답변을 선택하는 것을 목표로 한다. 특히 관련성 점수를 0($\hat{s}_{rel}$로 표시)으로 설정하고 답변 $a_{i}$를 생성하는 inverse of perplexity $c_{i}$(Meister and Cotterell, 2021)를 다음과 같이 계산한다.
 $$ c_{i} = {1 \over PPL(a_{i} | q, d_{i}, \hat{s}_{rel} =0)}. $$
 관련성 점수를 0으로 설정함으로써, LLM은 검색된 문서 $d_{i}$대신에 자신의 내부 지식에 기초하여 답변 $a_{i}$를 생성하는 경향이 있다. $\hat{s}_{rel}=0$일 때, 답 $a_{i}$가 더 낮은 perplexity(higher knowledge-consistency score $c_{i}$)로 생성될 수 있다면, 이는 외부 지식이 내부 지식과 매우 일치함을 나타낸다. 따라서 가장 먼저 임계값 $ \gamma$에 의해 관련성이 높은 문서의 subset을 선택한다. $$D^{+}=\{ d_{i} | s_{rel} (q, d_{i}) > \gamma \}. $$ 그런 다음 knowledge-consistency(지식 일관성) 점수 $c_{i}$와 relevance score(관련성 점수) $s_{rel}(q, d_{i})$를 hyperparameter $\lambda$와 선형 결합하여 $a^{*}_{c}$로 표시되는 최종 답을 선택한다. $$ a^{*}_{c} = \underset{ \{ a_{i} | d_{i} \in D^{+} \} }{argmax} \, ( s_{rel}(q,d_{i}) + \lambda c_{i} ).$$ 4.2 Model Training이 부분에서는 본 연구의 접근 법의 optimizing을 위한 training method에 대해서 소개한다. 4.2.1 Bi-granularity Relevance Fusion검색된 문서의 신뢰성 있는 활용을 위해서는 정확한 관련성 평가가 중요하다. 이전 연구에서는 복잡한 QA 작업을 해결하기 위한 충분한 evidence를 제공할 수 없는 grained 이진 판별 작업을 수행한다. 따라서 모델 학습을 개선하기 위해 fine-grained ranking optimization object를 추가로 통합하는 것을 고려한다. 특히, coarse-grained supervision을 위해서, "irrelevant" 및 "relevant"를 나타내는 후보 문서 $D= \{ d_{i} \}^{k}_{i=1}$에 대한 binary label을 $y \in \{ 0,1 \} $로 설정하고 다음의 loss를 optimize한다. $$ L_{coarse} = - \sum^{k}_{i=1} y_{i} log( \sigma_{i} ) + ( 1 - y_{i} ) log (1 - \sigma_{i} ) $$ where $\sigma_{i}$는 LLM에 의해 관련된 ($q, d_{i}$) 평가의 정규화된 확률을 나타낸다. fine-grained supervision을 위해, 본 연구에서는 ranking 선호 제약 조건을 도출하기 위해서 추정된 관련성 점수 $s_{rel}$을 활용한다. $$ L_{fine} = - \sum^{k-1}_{i=1} \sum^{k}_{j=i+1} log ( \sigma_{i} - \sigma_{j} ) $$ 검색된 문서 $D= \{ d_{i} \}^{k}_{i=1} $에 대한 partial(부분) 선호 관계의 완전한 annotation이 training에 사용 가능하다고 가정한다.(section 4.2.3 참조) 여기서 index가 작을수록 관련성이 높은 문서를 나타내며, bi-granular relevance fusion의 목적으로 다음 두 가지 손실 함수를 결합한다. $$ L_{bi-granularity} = L_{coarse} + L_{fine} $$ 4.2.2 Noise-resistant Training관련 문서를 식별하는 능력을 향상시키는 것 외에도, 우리는 LLM이 작업 해결을 위해 외부 evidence를 적응적으로 사용할 수 있도록 참조 문서에 관련 없는 내용이나 심지어 noise가 포함된 경우 판별 능력을 향상시키는 것을 추가로 고려한다. 특히, 우리는 LLM을 최적화 하기 위해 원래 말뭉치 $D$에 부정적인 예제 문서 $D-$를 추가로 통합한다. $$ L_{noise-resistant} = \sum_{d_{i} \in D \cup D^{-}} log P(a | q, d_{i}, s_{rel})$$ noise-resistant training을 통해, LLM은 외부 정보에 방해받지 않고 관련 없는 문서의 통합을 식별하는 방법을 학습할 수 있다. LLM이 외부 evidence의 관련성을 판단하도록 강제하여 검색된 문서를 답변 생성에 사용할지 여부를 결정한다. 마지막으로 $ L_{bi-granularity} = L_{coarse} + L_{fine} $식에 의한 bi-granularity loss와 $ L_{noise-resistant} = \sum_{d_{i} \in D \cup D^{-}} log P(a | q, d_{i}, s_{rel})$식의 noise-resistant loss를 결합하여 REAR 프레임워크에 대한 전체 손실 함수를 정의한다. $$ L_{REAR} = L_{bi-granularity} + L_{noise-resistant} $$ 4.2.3 Training Data Construction본 모델을 optimize 하기 위해서, 양질의 training data(positive/negative sample이 존재하는)가 필요하며, 다음으로 훈련 데이터 구축을 위한 구체적인 전략을 소개한다. Relevance Lables Acquisition. 4.2.1 section에서 언급한 fine-grained relevance labels을 얻기 위해 cross-encoder architecture가 있는 소규모 reranker를 사용하여 관련성 평가를 얻는다. information retrieval 분야에서 cross-encoder 아키텍처는 query-document 쌍을 단일 텍스트로 간주하고 인코더를 통해 처리하여 full interactions을 통해 관련성 점수 $s_{ce}$를 얻기 때문에 관련성 정도를 평가하는데 효과적인 것으로 판단된다. 생성된 점수는 binary annotiating label $y$의 traditional 방법과 결합하여 다음과 같이 주어진다. $$ s_{rel} = {1 \over 2} (s_{ce} + y) $$ where $ y \in \{ 0, 1 \} $ 은 binary relevance label이고 $ s_{ce} \in [0, 1]$은 앞서 언급한 cross-encoder에의해 평가된 연속 점수이다. Irrelevant Documents Sampling. training 방법은 관련성이 없는(negative) 문서를 사용해야 한다. negative sampling은 관련성 평가에 큰 영향을 미치는 것으로 나타났다.(Xiong et al., 2020). 특히, 부정적인 것이 너무 어렵거나(false negative) 너무 사소한(trivial) 것(uninformative)이 아님을 보장하는 simANS(Zhou et al., 2022)를 개선한다. $$ p_{i} \propto \begin{cases} exp(-a(s_{i}-\hat{s}^{+}-b)^{2}), & s_{i} < \hat{s}^{+} -b, \\ exp(-ak(s_{i}-\hat{s}^{+}-b)^{2}), & s_{i} \ge \hat{s}^{+} - b, \end{cases}$$ 여기서 hard negative 문서의 sampling의 확률이 $p_{i}$이고, $s_{i}$와 $\hat{s}+$는 각각 문서 $d_{i}$와 positive 문서의 관련성 점수를 나타내며 a, b, k는 hyperparameter이다. 관련성 점수가 reranker에 의해 평가됨에 따라, 높은 점수를 받은 samples가 false negative인 확률이 높아진다. 관련성 점수가 높을 때, decay scaler k를 sampling 확률에 통합함으로써 false negative를 sampling할 가능성을 줄인다. 4.3. Model Discussion본 연구의 주된 기여는 special ranking module(즉 section 4.1.1의 rank head)과 LLM의 통합에 있다. 이러한 방식으로 관련성 평가 및 답변 생성은 각각의 Rank head 및 generation head에 의해 접근될 수 있으며, 이는 서로 다른 두 객체간의 간섭을 줄일 수 있다. 따라서 이 방법은 fine-grained query-document 관련성을 보다 효과적으로 평가하고 더욱 잘 답변 생성을 안내한다. 또 다른 key 개선 사항은 training strategy이다. bi-granularity relevance fusion을 통해 LLM은 문서의 전반적인 관련성 정도를 식별할 수 있을 뿐만 아니라 후보 간의 관련성의 선호도를 구별할 수 있다. 결과적으로, 우리의 REAR는 단일 문서를 평가하고 여러 문서 사이에서 선택하는 능능력에 있어서 우수한 성능을 보여준다. noise-resistant generation training에서 LLM은 검색된 문서의 선택적 활용을 위해 관련성 점수를 활용하도록 구체적으로 학습된다. 이 프로세스는 내부 및 외부 지식을 모두 효과적으로 활용할 수 있는 동적 능력을 배양한다고 할 수 있다. 5. Experiments  - 참고사항본 연구의 코드가 미완성이었기 때문에, 미완성 코드를 저자의 의도에 맞게 다시 개발했다. 이 때, 몇가지 주의사항이 있다. 이 논문의 code는 warm-up 단계와 training 단계가 따로 있는데, 이 때 들어가는 dataset의 형태가 다르다. warm-up 같은 경우, 일반 json 파일처럼 [{}, {}, {}, ... ] 이렇게 구성하면 되지만, training 같은 경우에는 [[{}],[{}],[{}]] 이렇게 set을 구성해주어야 한다. ( [[{},{},{}, ...],[{},{},{}, ...],[{},{},{}, ...]] 이런식으로도 구성해보는 것 시험해봐야함.) 이렇게 구성했을때, 각 리스트의 첫번째 원소를 positive 및 negative로 구성한 하나의 sample로 인지한다. 위처럼 셋을 구성해야하기 때문에 GPU의 per batch_size 또한 $D^{+} \cup D^{-}$인 passage number의 배수로 맞춰주어야 한다. 그래야 이 저자가 생각했던 것 처럼, 모델을 사용할 수 있을것이다. 'Machine & Deep Learning' 카테고리의 다른 글
- Path-reliability routing: LLM이 가장 높은 관련성 점수를 갖는 것으로 간주하는 답을 선택하는 간단한 접근 방법이다.