앞서서
최근 자연어 처리(NLP) 분야에서 대형 언어 모델(Large Language Models, 이하 LLM)의 성과가 눈부십니다. OpenAI의 GPT-4와 Google의 PaLM 2 같은 최신 LLM은 다양한 NLP 작업에서 뛰어난 제로샷(zero-shot) 성능을 입증하며 주목받고 있습니다. 이러한 성과는 단순한 질의응답을 넘어 텍스트 순위 매기기(text ranking)라는 새로운 응용 분야로 확장되고 있습니다.
특히, 초기의 제로샷 LLM 랭커는 주로 포인트와이즈(pointwise) 접근 방식을 따랐습니다. 이 방식은 하나의 질의(query)와 하나의 문서(document)에 대해 각각 점수를 계산한 후, 이를 바탕으로 문서를 순위별로 정렬합니다. Liang et al. (2023)와 Sachan et al. (2022)의 연구가 대표적인 사례입니다.
포인트와이즈 방식만으로는 한계가 분명했습니다. 이에 따라 페어와이즈(pairwise) 및 리스트와이즈(listwise) 접근법이 등장하며 LLM 랭커의 성능이 한층 발전했습니다. Qin et al. (2024)의 연구는 두 문서 간 상대적인 순위를 매기는 페어와이즈 방법론을 통해 더 나은 결과를 보여주었고, Sun et al. (2023)과 Ma et al. (2023)의 연구는 리스트 전체를 한 번에 평가하는 리스트와이즈 방식으로 주목받았습니다.
더 들어가서
Pointwise
포인트와이즈 LLM 랭커의 대표적인 접근법은 Relevance Generation으로, LLM이 문서가 쿼리와 관련이 있는지를 판단하도록 하는 방식입니다. 대부분의 기존 연구는 LLM이 "예(Yes)" 또는 "아니오(No)"로 답변하도록 하며, 해당 답변의 likelihood를 랭킹 점수로 사용합니다. 그러나 이러한 이분법적 접근은 항상 적절하지 않을 수 있습니다. 일부 문서는 쿼리에 직접적으로 답하지 않더라도 유용한 정보를 포함할 수 있기 때문입니다. Zhuang et al. (2023) 에서는 다양한 relevance 수준을 구별하기 위해서 fine-grained relevance labels를 LLM Ranker의 프롬프트에 통합하거나 LLM Ranker가 rating scale relevance를 생성하게 하는 방법을 제안하였습니다.
프롬프트
Zhuang et al. (2023) 연구에서는 앞서 언급한 모든 방법론의 성능을 체계적으로 측정하였습니다. 이 과정에서 LLM Ranker의 성능을 평가하기 위해 특별히 설계된 프롬프트를 사용하였으며, 실험에서 사용된 프롬프트는 다음과 같습니다.
Query Generation
I will check whether what you said could answer my question.
You said: {document}
I googled: {query}
Binary Relevance Generation (RG-YN)
For the following query and document, judge whether they are relevant. Output “Yes” or “No”.
Query: {query}
Document: {document}
Output:
2-Level Relevance Generation (RG-2L)
For the following query and document, judge whether they are “Relevant”, or “Not Relevant”.
Query: {query}
Document: {document}
Output:
3-Level Relevance Generation (RG-3L)
For the following query and document, judge whether they are “Highly Relevant”, “Somewhat Relevant”, or “Not Relevant”.
Query: {query}
Document: {document}
Output:
4-Level Relevance Generation (RG-4L)
For the following query and document, judge whether they are “Perfectly Relevant”, “Highly Relevant”, “Somewhat Relevant”, or “Not Relevant”.
Query: {query}
Document: {document}
Output:
Rating Scale Relevance Generation (RG-S(0, k))
From a scale of 0 to {k}, judge the relevance between the query and the document.
Query: {query}
Document: {document}
Output:
성능
Zhuang et al. (2023) 연구에서는 BEIR 프레임워크에서 제공하는 8가지 데이터셋을 활용하여 LLM Ranker의 성능을 평가했습니다. 실험 과정은 크게 두 단계로 구성되었습니다.
먼저, BM25 알고리즘을 사용하여 각 데이터셋에서 top-100 문서를 검색했습니다. BM25는 전통적인 정보 검색 모델로, 효율적으로 관련 문서를 선별하는 데 널리 사용됩니다. 이후, 검색된 문서들을 FLAN PaLM2S 모델을 활용한 LLM Ranker로 다시 평가하여, 최종적으로 문서 순위를 매겼습니다.
Table 2에 요약된 결과에 따르면, 세분화된 관련성 레이블을 활용한 프롬프트가 기존의 이분법적 레이블(RG-YN)이나 2단계 레이블(RG-2L)보다 훨씬 높은 성능을 보여주었습니다. 예를 들어, RG-3L 프롬프트는 NDCG@10 지표에서 RG-YN 및 RG-2L에 비해 평균적으로 2%의 성능 향상을 달성했습니다. 또한, 0~4의 레이팅 스케일을 사용하는 RG-S(0, 4) 역시 유사한 수준의 향상을 보여주었습니다. 흥미롭게도, 바이너리 라벨을 정답으로 가진 데이터셋(예: SciFact)에서도 세분화된 관련성 레이블을 활용한 방법이 유의미한 성능 향상을 기록했습니다. 이는 단순히 데이터셋의 실제 관련성 수준과 모델이 일치했기 때문만이 아니라, 세분화된 레이블이 모델의 관련성 이해를 정교화하는 데 기여했음을 시사합니다.
RG-S(0, k) 방식을 통해서는 Relevance Label의 개수가 성능에 미치는 영향을 분석했습니다. Figure 2에서는 k = 4 에서 k = 8 까지의 성능은 유사하게 유지되는 모습을 확인할 수 있습니다. 다만, k = 9 와 k = 10 처럼 레이블이 지나치게 세분화되었을 때는 오히려 성능이 감소했습니다. 이는 모델이 지나치게 세밀한 프롬프트를 이해하는 데 어려움을 겪을 수 있음을 시사합니다.
Table 3의 결과에 따르면, 직접 생성된 레이블이나 점수를 사용하는 "Generated" 방법은 랭킹 성능이 낮게 나타났습니다. 이는 해당 방법이 문서들 간의 점수를 명확히 구별하지 못하고, 동일한 점수를 부여하는 경향(즉, 동점 발생)을 보였기 때문입니다.
반면, Likelihood-ER와 Likelihood-PR 방식은 높은 성능을 보였으며, 특히 Likelihood-PR은 단일 관련성 레이블의 로그 가능도만 사용함에도 Likelihood-ER과 거의 유사한 성능을 달성했습니다. 이는 세분화된 관련성 레이블을 사용하는 효과가 단순히 샘플 수 증가에 따른 관련성 정확도 향상만으로 설명되지 않는다는 것을 보여줍니다. 오히려, 프롬프트 내에서 세분화된 관련성 레이블이 LLM이 세부적인 관련성 차이에 집중하도록 유도했을 가능성을 시사합니다.
ER과 PR을 구하는 방식은 논문을 직접 인용합니다.
Pairwise
Qin et al. (2024) 연구에서 제안한 pairwise ranking 방식은 아래와 같습니다. 해당 방법론은 단순하면서도 직관적인 랭킹 방법론으로, 쿼리와 두 문서 간의 비교를 통해 로컬 순서를 결정하는 방식을 채택하고 있습니다.
Figure 2에 이 프롬프트의 기본 구조가 제시되었으며, 생성 API(Generation API)와 점수 API(Scoring API)를 모두 지원하는 유연성을 제공합니다. 특히, 점수 API는 출력이 오직 두 가지(예: "Passage A" 또는 "Passage B")로 제한되기 때문에 LLM의 부적절한 출력을 완화할 수 있습니다. 생성 API의 출력 실패는 극히 드물지만, 점수 API는 보다 안정적인 결과를 제공합니다.
또한, 기존 연구(Lu et al., 2022; Liu et al., 2023a)에 따르면, LLM은 프롬프트 내 텍스트 순서에 민감하게 반응할 수 있는 것으로 알려져 있습니다. 이를 해결하기 위해, 각 문서 쌍에 대해 순서를 변경하여 두 번의 프롬프트 호출을 수행해 텍스트 순서에 따른 편향을 제거합니다. 이러한 간단한 디바이어싱(debiasing) 방법은 조합적 성격 때문에 리스트와이즈(Listwise) 방법에서는 적용하기 어렵습니다.
다만 Pairwise 방식의 단점은 쌍에 대한 비교만 가능하다는 점 때문에 rank를 매기기 위해서는 추가적으로 발생하는 LLM API call이 불가피하다는 점입니다. 모든 페어를 비교하기 위해서는 $O(N^2)$, sorting-based 알고리즘을 사용하면 O(N log N), 그리고 해당 연구에서 제안하는 Sliding window 방식을 사용하면 O(N)번의 LLM API 호출이 필요합니다.
프롬프트
Given a query {query}, which of the following two passages is more relevant to the query?
Passage A: {document1}
Passage B: {document2}
Output Passage A or Passage B:
성능
본 연구에서도 pointwise와 마찬가지로, BM25 알고리즘을 사용하여 각 데이터셋에서 top-100 문서를 검색했습니다. 이후, 검색된 문서들을 Pairwise Ranking Prompting로 다시 평가하여, 최종적으로 문서 순위를 매겼습니다.
Table 3에 요약된 실험 결과는 Pairwise Ranking Prompting의 다양한 변형이 여러 도메인에서 높은 성능을 발휘하며, robust하다는 것을 입증했습니다. 실험에서는 포인트와이즈(Pointwise) LLM 기반 솔루션으로 Unsupervised Passage Re-ranker(Sachan et al. (2022)), Relevance Generation (RG) (Liang et al. (2022))의 두가지를 사용하여 성능을 측정했으며, Pairwise 솔루션은 Pointwise 대비 전반적으로 10% 이상 성능 향상을 보였습니다.
Listwise
Ma et al. (2023) 연구에서 제시한 Listwise 방법은 기존의 포인트와이즈 방식과 차별화되는 중요한 특징을 가지고 있습니다. 이 방법은 쿼리 와 문서 리스트 {D1, ..., 를 동시에 입력으로 받아들여, 최종적으로 문서 식별자의 정렬된 리스트를 직접 출력합니다.
Listwise 접근은 문서 집합 전체를 Transformer 모델의 어텐션 메커니즘에서 한 번에 처리함으로써, 문서 간의 상호작용과 맥락 정보를 효과적으로 활용할 수 있습니다. 이를 통해 개별 문서의 독립적인 평가에 의존하는 기존 방식에서 발생할 수 있는 중복 계산 문제를 크게 줄일 수 있다는 장점이 있습니다.
또한, Listwise 방식은 정렬된 리스트를 시퀀스 형태로 출력하므로, 대규모 언어 모델(LLM)의 자연스러운 시퀀스 생성 프로세스와 완벽하게 부합합니다. 이러한 구조적 적합성은 모델이 문서 간의 상대적 중요도를 더욱 정확하게 판단할 수 있도록 지원하며, 효율적이고 직관적인 랭킹 과정을 가능하게 합니다.
프롬프트
Passage1 = {passage_1}
...
Passage10 = {passage_10}
Query = {query}
Passages = [Passage1, ..., Passage10]
Sort the Passages by their relevance to the Query.
Sorted Passages = [
성능
본 연구에서도 다른 방법론과 마찬가지로, BM25 알고리즘을 사용하여 각 데이터셋에서 top-100 문서를 검색했습니다. 이후, 검색된 문서들을 Listwise ReRanker with a LLM(LRL)로 다시 평가하여, 최종적으로 문서 순위를 매겼습니다.
Table 1은 세 가지 TREC DL 데이터셋(DL19, DL20, DL21)에 대한 다양한 제로샷 및 지도 학습 랭킹 파이프라인의 성능을 비교한 결과를 보여줍니다. 제로샷 파이프라인(1–9번 행)과 지도 학습 기반 방법(a–d번 행)의 결과는 각각 다양한 접근법의 강점과 한계를 명확히 드러냅니다.
LRL은 제로샷 재랭커로서 지도 학습 없이도 우수한 성능을 발휘하며, 특히 다단계 재랭킹에서 뛰어난 효율성을 보여줍니다. 그러나, TCT-ColBERT와 같은 정교한 지도 학습 기반 랭킹 파이프라인과의 격차는 여전히 존재하며, 이를 극복하기 위한 추가 연구가 필요합니다.
'AI > 어플리케이션 개발' 카테고리의 다른 글
Retrieval 시스템을 위한 BEIR 벤치마크 (0) | 2025.01.03 |
---|---|
Retrieval을 위한 query generation 기반 Re-Ranker (0) | 2024.12.30 |
Retrieval 시스템 평가 매트릭 (0) | 2024.12.19 |
Retrieval 시스템이란? (1) | 2024.12.09 |
LangChain을 활용한 Tool Calling # 4 (3) | 2024.11.29 |