Reranker์ Retriever
๐ฅReranker ์ ๋ฐ์ดํธ๐ฅ - Cross Encoder Reranker - Cohere Reranker - Jina Reranker - FlashRank Reranker ๋งํฌ: https://wikidocs.net/253434 ๐ฑ Reranker ๋ Reranker ๋ ์ฌ์ฉ์์ ์ง๋ฌธ(query)๊ณผ ๋ฌธ์(context)๊ฐ ์ ์ฌ๋๋ฅผ ์ธก์ ํ๋ ์ญํ ์ ํฉ๋๋ค. ์ด๊ฑด ๋ง์น "retriever" ๊ฐ ํ๋ ์ญํ ๊ณผ ๋น์ทํ๋ค๊ณ ๋๋ผ์คํ ๋ฐ์. reranker๋ retriever ์ ๋ค๋ฅธ ์ ์ 1. ์ฐ์ , retriever ๋ ๋ฌธ์ ์กฐ๊ฐ(chunk) ์ ๋ํ "๋ ๋ฆฝ์ ์ธ" ์๋ฒ ๋ฉ์ ์ํ ํ, ์ดํ ์ฌ์ฉ์์ ์ง๋ฌธ(query) ์ญ์ "๋ ๋ฆฝ์ ์ธ" ์๋ฒ ๋ฉ๊ณผ ๋น๊ตํ์ฌ ์ ์ฌ๋ ๊ธฐ์ค์ ๋น๊ตํ๋ ๋ฐ๋ฉด 2. reranker ๋ ์ง๋ฌธ(query) ๊ณผ ๋ฌธ์(context) ๋ฅผ "๋์์" ์ ๋ ฅ์ผ๋ก ๋ฃ์ด ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ๋ค๋ ์ ์ด ์ฐจ์ด์ ์ ๋๋ค. ์ฌ๊ธฐ์ reranker ๋ ์ง๋ฌธ-๋ฌธ์ ์์ผ๋ก ์ ๋ ฅ์ผ๋ก ๋ฃ์ด ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ๊ธฐ ๋๋ฌธ์ retriever ๋๋น ๋ ๋์ ์ ์ฌ๋ ์ ๋ขฐ์ฑ์ ๊ฐ์ง๋ค๊ณ ์๋ ค์ ธ ์๋๋ฐ์. ๊ทธ๋ผ ์ retriever ๋ฐฉ์์ ์ฌ์ฉํ๋? reranker ๊ฐ retriever ๋ฅผ ๋์ฒดํ ์ ์๋๋ฐ? ๋ผ๊ณ ์๊ฐํ์ค ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋, ์์ฝ๊ฒ๋ reranker ๋ retriever ๋๋น ๊ณ์ฐ ์๋๊ฐ ๋๋ฆฌ๊ณ , ๋น์ฉ์ด ๋์ต๋๋ค. ๊ทธ๊ฒ๋ ์์ฒญ ๋ง์ด์(๋ฌธ์ ์์ ๋ฐ๋ผ...) ๊ทธ๋์ ๋์ธ๋ก ์๋ฆฌ์ก์ ๊ฒ์ด ๋ฐ๋ก "Two-stage retrieval pipeline" ์ ๋๋ค. ํ๋์ RAG ์์คํ ์์์ ์ ์์ด๋ผ๊ณ ๋ณผ ์ ์์ฃ . [์ฌ์ฉ์์ ์ง๋ฌธ(query) -> ๊ฒ์(Retrieve) -> ๋ฌธ๋งฅ(context)] [์ฌ์ฉ์์ ์ง๋ฌธ(query) -> ๊ฒ์(Retrieve) -> ๋ฆฌ๋ญํฌ(Reranker) -> ๋ฌธ๋งฅ(context)] reranker ๋ก ๋ชจ๋ ๋ฌธ์๋ฅผ ๋ค ์ ์ฌ๋ ๊ณ์ฐ์ ํ๋๋ฐ ๋๋ฌด ์ค๋๊ฑธ๋ฆฌ๊ณ ๋น์ฉ๋ ๋น์ธ๋ "retriever" ๋ก ๋จผ์ ํ๋ณด๋ฅผ ์ถ๋ฆฌ๊ณ -> reranker ๋ก ํ ๋ฒ๋ ์ ํํ ์ ์ฌ๋ ๊ณ์ฐ์ ํ์ฌ ๋ณด๋ค ์ ํํ ์ง๋ฌธ-๋ฌธ์ ๊ฐ ์ ์ฌ๋๋ฅผ ๊ตฌํด ์ต์ข ํ๋ณด๋ฅผ ์ถ๋ ค๋ด๋ ๊ฒ์ ๋๋ค! ๊ฐ๋ ์ ๋์ถฉ ์ดํดํ์ จ๋ค๋ฉด, ์ด์ ์ ์ฉํ๋ฌ ๊ฐ๋ณด์์ฃ ! ๊ฐ์ฌํฉ๋๋ค. #reranker #rag #retriever