castorini/rank_llm
RankLLM is a Python toolkit for reproducible information retrieval research using rerankers, with a focus on listwise reranking.
무엇을 해결하는가
RankLLM은 검색 및 검색 시스템의 정밀도를 향상시키기 위한 포괄적인 리랭커(reranker) 제품군을 제공합니다. 사용자는 BM25와 같은 1단계 검색기(retriever)에 의해 검색된 후보군을 가져와 고급 언어 모델을 사용하여 더 정확하게 재정렬함으로써 가장 관련성 높은 문서가 상단에 오도록 할 수 있습니다.
작동 방식
이 프로젝트는 여러 리랭킹 전략을 구현합니다:
- Pointwise: MonoT5 및 MonoELECTRA와 같은 모델이 문서를 개별적으로 점수화합니다.
- Pairwise: DuoT5와 같은 모델이 문서를 쌍으로 비교합니다.
- Listwise: RankZephyr 및 RankVicuna(RankGPT 및 RankGemini와 같은 독점 옵션 포함)와 같은 모델이 여러 문서를 한 번에 처리하여 최적의 순서를 결정합니다.
오픈 소스 모델을 위한 vLLM 및 호스팅 제공업체를 위한 API를 포함한 다양한 백엔드를 지원합니다. 효율성을 높이기 위해 모델의 첫 번째 토큰 로짓(first-token logits)만을 사용하여 리랭킹을 수행할 수 있습니다.
대상 사용자
이 도구는 검색 정확도를 향상시키기 위해 고품질의 리랭킹이 필요한 정보 검색(IR) 및 RAG 파이프라인을 연구하거나 개발하는 개발자와 연구자를 위해 설계되었습니다.
주요 특징
- 다양한 모델 동물원(Model Zoo): Pointwise, pairwise, listwise 모델의 폭넓은 범위를 포함합니다 (예: RankZephyr, LiT5, MonoT5).
- 유연한 통합: 로컬 Hugging Face 모델과 클라우드 API(OpenAI, OpenRouter, Gemini)를 모두 지원합니다.
- 엔드 투 엔드 워크플로우: 검색, 리랭킹 및 평가(NDCG와 같은 지표 사용)를 위한 CLI 및 Python API를 제공합니다.
- 효율성 최적화: 더 빠른 추론을 위한 vLLM 지원 및 지연 시간을 줄이기 위한 첫 번째 토큰 로짓 리랭킹을 지원합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트