3P by neo 3달전 | favorite | 댓글과 토론
  • RouteLLM은 LMSys와 Anyscale이 협력하여 개발한 LLM 라우터 serving 및 평가를 위한 프레임워크
  • 핵심 기능:
    • OpenAI 클라이언트를 대체하여 간단한 쿼리를 저렴한 모델로 라우팅
    • 학습된 라우터 제공, 새로운 라우터 확장 및 벤치마크에서 라우터 성능 비교 등

모델 지원

  • GPT-4와 Mixtral 8x7B 외에도 strong-modelweak-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-previewmixtral-8x7b-instruct-v0.1 모델 쌍에 대해 훈련된 4개의 라우터 제공
  • 라우터 목록: mf, sw_ranking, bert, causal_llm, random
  • 이 라우터들은 다른 강한/약한 모델 쌍에도 잘 일반화되므로 모델 쌍을 교체해도 다시 학습할 필요 없음

GN⁺의 의견

  • RouteLLM은 다양한 LLM을 효율적으로 사용할 수 있는 유용한 프레임워크로 보임. 특히 간단한 쿼리를 저렴한 모델로 라우팅하여 비용을 절감하면서 품질을 유지할 수 있다는 점이 매력적임
  • 제공되는 라우터들이 다양한 모델 쌍에 잘 일반화된다는 점도 좋음. 사용자가 직접 라우터를 학습시키지 않아도 된다는 장점이 있음
  • Threshold 보정 기능도 유용해 보임. 사용자의 실제 쿼리 데이터를 활용해 최적의 threshold를 찾을 수 있음
  • 평가 프레임워크를 통해 다양한 라우터와 벤치마크의 성능을 쉽게 비교해볼 수 있다는 점도 장점임
  • 다만 프레임워크 사용을 위해서는 강한 모델과 약한 모델에 대한 API 키 설정 등 사전 준비가 필요함. 초보자가 사용하기에는 다소 진입 장벽이 있을 수 있음
  • 유사한 기능을 제공하는 다른 프로젝트로는 Multi-model라는 오픈소스가 있음. 여러 언어 모델을 단일 API로 통합하고 라우팅하는 기능을 제공함