Skip to main content
이 문서는 대화형 노트북입니다. 로컬에서 실행하거나 다음 링크를 이용할 수 있습니다.
이 노트북에서는 Weave와 Not Diamond의 맞춤형 라우팅을 함께 사용해 평가 결과를 바탕으로 LLM 프롬프트를 가장 적합한 모델로 라우팅하는 방법을 알아봅니다. 이 노트북을 끝까지 진행하면 코딩 프롬프트용 맞춤형 라우터를 트레이닝하고, 이 라우터로 새 프롬프트에 사용할 대상 모델을 선택한 뒤, 가장 성능이 좋은 단일 모델과 비교해 라우터의 성능을 평가하게 됩니다.

프롬프트 라우팅

이 섹션에서는 여러 LLM을 함께 사용할 때 맞춤형 라우팅이 왜 유용한지 설명합니다. 복잡한 LLM 워크플로를 구축하다 보면 정확도, 비용, 호출 지연 시간에 따라 서로 다른 모델에 프롬프트를 보내야 할 때가 있습니다. Not Diamond를 사용하면 이러한 워크플로의 프롬프트를 요구 사항에 가장 적합한 모델로 라우팅하여, 모델 비용은 절감하면서 정확도는 극대화할 수 있습니다. 어떤 데이터 분포에서든 단일 모델이 모든 쿼리에서 다른 모든 모델보다 뛰어난 경우는 드뭅니다. 여러 모델을 결합해 각 LLM을 언제 호출할지 학습하는 “메타 모델”을 만들면, 어떤 개별 모델보다도 뛰어난 성능을 낼 수 있을 뿐 아니라 비용과 지연 시간까지 줄일 수 있습니다.

맞춤형 라우팅

프롬프트에 맞는 맞춤형 라우터를 트레이닝하려면 다음 입력이 필요합니다.
  1. LLM 프롬프트 세트: 프롬프트는 문자열이어야 하며, 애플리케이션에서 실제로 사용하는 프롬프트를 잘 대표해야 합니다.
  2. LLM 응답: 각 입력에 대해 후보 LLM이 생성한 응답입니다. 후보 LLM에는 지원되는 LLM과 자체 맞춤형 모델을 모두 포함할 수 있습니다.
  3. 후보 LLM이 입력에 대해 생성한 응답의 평가 점수: 점수는 숫자이며, 필요에 맞는 메트릭이라면 무엇이든 사용할 수 있습니다.
이 데이터를 Not Diamond API에 제출하면 각 워크플로에 맞게 조정된 맞춤형 라우터를 트레이닝할 수 있습니다.

트레이닝 데이터 설정

이 섹션에서는 맞춤형 라우터가 학습할 트레이닝 데이터와 테스트 데이터를 준비합니다. 실제로는 자체 Evaluations를 사용해 맞춤형 라우터를 트레이닝합니다. 하지만 이 예시 노트북에서는 HumanEval 데이터셋에 대한 LLM 응답을 사용해 코딩 작업용 맞춤형 라우터를 트레이닝합니다. 먼저 이 예제용으로 준비된 데이터셋을 다운로드한 다음, LLM 응답을 모델별 EvaluationResults로 파싱합니다. 이렇게 분할한 트레이닝 데이터와 테스트 데이터는 이후 섹션에서 라우터를 트레이닝하고 표본 외(out-of-sample) 성능을 평가하는 데 사용합니다.

맞춤형 라우터 트레이닝하기

EvaluationResults가 준비되었으면 이를 Not Diamond에 제출하여 맞춤형 라우터를 트레이닝할 수 있습니다. 계정을 생성하고 API 키를 발급받은 후, 다음 코드에 API 키를 입력하세요. API 키는 트레이닝 요청을 인증하는 데 사용됩니다.
API 키 생성
이후 Not Diamond 앱에서 맞춤형 라우터의 트레이닝 진행 과정을 확인할 수 있습니다.
라우터 트레이닝 진행 상황 확인
맞춤형 라우터의 트레이닝이 완료되면 이 라우터로 프롬프트를 라우팅할 수 있습니다.
이 예제에서는 Not Diamond가 Weave 자동 트레이싱과 호환된다는 점도 활용했습니다. 결과는 Weights & Biases UI에서 확인할 수 있습니다. 맞춤형 라우팅 결과를 보여 주는 Weights & Biases UI

맞춤형 라우터 평가하기

이 섹션에서는 맞춤형 라우터가 가장 우수한 단일 모델보다 나은 성능을 내는지 측정하는 방법을 설명합니다. 맞춤형 라우터를 트레이닝한 후에는 다음 방법 중 하나로 성능을 평가할 수 있습니다.
  • 트레이닝 프롬프트를 제출하여 표본 내(in-sample) 성능을 평가합니다.
  • 새 프롬프트나 따로 떼어 둔(held-out) 프롬프트를 제출하여 표본 외(out-of-sample) 성능을 평가합니다.
다음 예시에서는 테스트 세트를 맞춤형 라우터에 제출하여 성능을 평가합니다.
이 예시에서는 Not Diamond “메타 모델”이 여러 모델 사이에서 프롬프트를 라우팅합니다. Weave로 맞춤형 라우터를 트레이닝하면 평가도 함께 실행되고, 그 결과가 Weights & Biases UI에 업로드됩니다. 맞춤형 라우터 프로세스가 완료되면 Weights & Biases UI에서 결과를 검토할 수 있습니다. UI를 보면 Not Diamond “메타 모델”이 프롬프트에 정확하게 답변할 가능성이 더 높은 모델로 프롬프트를 라우팅하여, 가장 성능이 좋은 단일 모델보다 더 나은 성능을 내는 것을 확인할 수 있습니다.
Not Diamond 평가
마지막 수정일 2026년 9월 30일