지금까지 LLM은 많은 발전을 해왔지만, 간혹 실제 사실과 다르게 답변하는 Hallucination 문제는 완전히 해결되지 않은 영역으로 남아있습니다. 이것을 해결하기 위해 유저의 질문과 관련된 문서들을 찾고, 해당 문서들의 내용을 기반으로 답변을 생성하는 Retrieval-Augmented Generation (RAG) 기술이 최근 각광을 받고 있습니다. 라이너도 유저가 리서치하면서 생기는 궁금증들을 해소해주기 위해 RAG를 적극적으로 적용하고 있습니다.
이러한 문제들을 해결하기 위해 유저의 쿼리와 문서들간의 관련성을 고려할 필요가 있습니다. 이를 통해서 LLM이 답변을 생성할 때 관련 없는 문서들을 참조 대상에서 배제하고 유저에게 보여주는 출처에도 제외시켜 신뢰성 있는 답변을 제공하는 것이죠. 라이너는 유저 쿼리와 문서들의 관련성을 점수로 계산하고, 이를 기반으로 각각의 문서들의 우선순위를 판단하는 Reranking 방법을 도입하였습니다. 이를 위해 문서의 관련도 점수를 계산하는 랭킹 모델을 학습하는 프로젝트를 진행하여 높은 성능을 내는 Liner Ranker 모델을 만들게 되었습니다.
하지만 RAG도 몇가지 약점이 있습니다. 유저의 쿼리와 관련 없는 문서가 참조 문서 집합에 같이 포함된다면, LLM이 잘못된 참조를 통해 오히려 Hallucination이 강화된다는 문제가 있습니다. 또한, 유저에게 관련 없는 문서를 출처로 보여준다면 유저의 신뢰도 잃게 되죠.
이번 블로그 포스트에서는 Liner Ranker 학습과 관련된 경험과 성과를 공유하고자 합니다.