5단계 척도 기반의 리스트와이즈 프루닝 방식

RAG(검색 증강 생성)를 실제 서비스에 적용하면 토큰 비용이 빠르게 증가하고, 컨텍스트 윈도우 부족으로 모델 성능이 저하되는 문제가 빈번하게 발생한다. Kapa는 리랭커와 생성 모델 사이에 소형 LLM 기반의 프루닝(Pruning, 가지치기) 단계를 추가해 컨텍스트의 68%를 제거하고 비용을 34% 절감했다.

프루너는 질문과 모든 청크를 동시에 입력받아 프롬프트에 정의된 5단계 척도로 평가하는 리스트와이즈(Listwise) 방식을 사용한다. 필수 정보부터 무관한 정보까지 세분화된 기준에 따라 임계값 이상의 청크만 남기며, 모델이 전체 맥락을 함께 보기 때문에 부분적이나 간접적으로 관련된 정보까지 정밀하게 판별한다.

비용 효율을 위해 가장 빠르고 저렴한 티어의 소형 LLM을 사용한다. 추론 노력이 적고 속도가 빠른 모델을 선택해 프루닝 단계에서 발생하는 추가 비용을 최소화한다. 동시에 평가 실수로 인한 핵심 정보 손실을 방지하기 위해 keep-top-k 설정을 적용하며, 리랭크 상위 K개 청크는 등급 판정과 상관없이 무조건 유지해 정보의 안전성을 확보한다.

포인트와이즈 리랭커의 한계와 프루너의 역할

고성능 모델을 사용할수록 추론 비용이 기하급수적으로 늘어나므로, Kapa는 리랭커(reranker)와 제너레이터(generator) 사이에 프루너(pruner) 단계를 배치했다. 소형 LLM이 고비용 모델이 데이터를 처리하기 전에 답변에 불필요한 청크를 미리 제거하여 연산 낭비를 막는 구조다.

기존 파이프라인의 리랭커는 대부분 개별 청크를 하나씩 평가하는 포인트와이즈(pointwise) 크로스 인코더 구조를 사용한다. 이 방식은 쿼리와 청크 쌍을 단독으로 점수 매기므로, 함께 검색된 다른 청크들과의 상관관계는 고려하지 않는다. 하지만 실제 데이터에서는 개별 청크가 단독으로는 무관해 보여도 다른 청크와 결합했을 때 비로소 답변의 핵심이 되는 경우가 빈번하게 발생한다.

결국 중요한 판단 기준은 청크 하나가 개별적으로 관련이 있느냐가 아니라, 해당 청크가 질문에 답하기 위한 전체 세트에 포함되어야 하는가이다. 프루너는 전체 청크 세트를 동시에 평가하여 정보의 결합 가치를 파악하고, 제너레이터가 처리해야 할 정보의 범위를 좁혀 비용을 낮추면서도 정답률을 유지하는 임계값을 설정한다.

단순 컷오프를 넘어선 정교한 컨텍스트 최적화

프루너를 도입하면 컨텍스트를 대폭 제거하면서도 리콜(Recall, 정답을 포함한 문서를 찾아내는 비율)의 약 96%를 유지한다. 무조건적인 데이터 확장이 아니라 전략적인 제거가 실제 운영 비용을 낮추는 핵심 장치가 된다.

리랭크 점수(Rerank score)를 기준으로 단순 컷오프를 적용하는 기존 방식은 실무적으로 효과가 낮다. 리랭크 점수는 절대적인 측정값이 아니라 단순한 순서 정보일 뿐이며, 쿼리마다 점수 기준이 달라 서로 보정(Calibrated)되지 않기 때문이다. Cohere(코히어) 역시 고정된 컷오프 방식이 작동하지 않는다는 점을 명시한다. 이는 쿼리에 따라 반드시 필요한 유용한 정보가 포함된 청크까지 무작위로 삭제할 위험을 만든다.

결과적으로 리랭커의 점수 기반 컷오프 한계를 보완하는 프루너의 도입은 비용과 정확도 사이의 균형을 잡는 구체적인 기준이 된다. 리콜의 96%를 유지하는 수치는 모델의 효율적인 컨텍스트 활용 가능성을 증명하며, 리랭크 점수가 가진 순서 정보의 한계를 별도의 제거 단계로 해결하는 구조가 RAG의 경제성을 결정한다.

RAG 구현 시 토큰 비용 부담과 컨텍스트 윈도우 부족은 성능 저하의 직접적인 원인이 된다. 리랭커와 생성 모델 사이에 소형 LLM 기반의 Pruning 단계를 추가해 비용을 절감한 결과는 실제 운영 비용을 낮추는 방법이다. 특히 개별 청크를 평가하는 포인트와이즈 방식이 아니라 전체 청크 셋을 한 번에 평가하는 Listwise LLM Grading 구조가 이를 가능하게 한다.

리랭커 점수 기반의 단순 컷오프는 정보 손실의 위험이 크다. 이제는 비용과 정확도 사이의 균형을 잡는 구체적인 임계값 기준을 설정해 프루닝 단계를 설계해야 한다. 결국 RAG의 효율성은 얼마나 많은 정보를 넣느냐가 아니라, 얼마나 정교하게 덜어내느냐에 달려 있다.