- RouteLLM은 LMSys와 Anyscale이 협력하여 개발한 LLM 라우터 serving 및 평가를 위한 프레임워크
- 핵심 기능:
- OpenAI 클라이언트를 대체하여 간단한 쿼리를 저렴한 모델로 라우팅
- 학습된 라우터 제공, 새로운 라우터 확장 및 벤치마크에서 라우터 성능 비교 등
모델 지원
- GPT-4와 Mixtral 8x7B 외에도
strong-model
과 weak-model
인수를 수정하여 다양한 모델 조합 사용 가능
- LiteLLM을 활용해 다양한 오픈소스 및 closed 모델에서 chat completions 지원
- OpenAI 호환 엔드포인트도 사용 가능
- 다양한 모델 제공업체의 API 키 설정 방법 제공
개발 동기
- 비용과 기능이 다양한 LLM을 배포할 때 고품질 응답을 위해 가장 강력한 모델을 사용하면 비용이 많이 들고, 저렴한 모델을 사용하면 품질이 낮아질 수 있음
- LLM 라우팅은 간단한 쿼리를 저렴한 모델로 보내 비용을 절감하면서 품질을 유지하는 솔루션 제공
- 각 요청에는 비용-품질 tradeoff를 결정하는 cost threshold가 연관됨
서버
- RouteLLM은 다양한 라우팅 전략에 따라 요청을 라우팅하기 위한 경량 OpenAI 호환 서버 제공
-
--routers
로 사용 가능한 라우터 목록 지정, --config
로 라우터 설정 파일 경로 지정
- 대부분의 경우 강력하고 가벼운
mf
라우터 사용 권장
- 클라이언트는
model
필드에 라우터 이름과 threshold를 지정하여 요청
Threshold 보정
- 라우팅에 사용되는 threshold는 비용-품질 tradeoff를 제어함
- 라우터 유형과 받는 쿼리에 따라 의미 있는 threshold 범위가 다르므로, 샘플 쿼리와 강한 모델로 보낼 쿼리 비율을 사용해 보정하는 것이 좋음
- 기본적으로 Chatbot Arena 데이터셋을 기반으로 threshold 보정 지원
- 실제 수신하는 쿼리 유형과 유사한 데이터셋에서 보정하는 것이 좋음
평가
- RouteLLM은 벤치마크에서 다양한 라우팅 전략의 성능을 측정하기 위한 평가 프레임워크도 포함
-
--routers
로 평가할 라우터 목록 지정, --benchmark
로 평가할 특정 벤치마크 지정
- 평가 결과는 콘솔에 출력되고, 라우터 성능 그래프도 생성됨
- 기본적으로 GPT-4와 Mixtral이 평가에 사용되는 모델 쌍이며,
--strong-model
과 --weak-model
플래그로 수정 가능
라우터
- RouteLLM은
gpt-4-1106-preview
와 mixtral-8x7b-instruct-v0.1
모델 쌍에 대해 훈련된 4개의 라우터 제공
- 라우터 목록:
mf
, sw_ranking
, bert
, causal_llm
, random
- 이 라우터들은 다른 강한/약한 모델 쌍에도 잘 일반화되므로 모델 쌍을 교체해도 다시 학습할 필요 없음
GN⁺의 의견
- RouteLLM은 다양한 LLM을 효율적으로 사용할 수 있는 유용한 프레임워크로 보임. 특히 간단한 쿼리를 저렴한 모델로 라우팅하여 비용을 절감하면서 품질을 유지할 수 있다는 점이 매력적임
- 제공되는 라우터들이 다양한 모델 쌍에 잘 일반화된다는 점도 좋음. 사용자가 직접 라우터를 학습시키지 않아도 된다는 장점이 있음
- Threshold 보정 기능도 유용해 보임. 사용자의 실제 쿼리 데이터를 활용해 최적의 threshold를 찾을 수 있음
- 평가 프레임워크를 통해 다양한 라우터와 벤치마크의 성능을 쉽게 비교해볼 수 있다는 점도 장점임
- 다만 프레임워크 사용을 위해서는 강한 모델과 약한 모델에 대한 API 키 설정 등 사전 준비가 필요함. 초보자가 사용하기에는 다소 진입 장벽이 있을 수 있음
- 유사한 기능을 제공하는 다른 프로젝트로는 Multi-model라는 오픈소스가 있음. 여러 언어 모델을 단일 API로 통합하고 라우팅하는 기능을 제공함