예측 인간 선호도: 모델 랭킹에서 모델 라우팅까지
요약
본 기사는 AI 애플리케이션 개발에서 핵심 과제인 '어떤 모델을 사용할지' 선택하는 문제를 해결하기 위해 '예측 인간 선호도(Predictive Human Preference)'의 개념을 소개합니다. 이는 특정 쿼리에 대해 사용자가 어떤 모델을 가장 선호할지 예측하여, 비용 효율적이고 품질 높은 모델 라우팅 시스템을 구축하거나 모델의 강점과 약점을 해석적으로 분석하는 데 활용될 수 있습니다. 또한, 본문은 AI 모델을 비교 데이터를 기반으로 순위 매기는 '모델 랭킹'의 원리를 설명하며, Chatbot Arena와 같은 플랫폼에서 사용되는 Bradley-Terry 알고리즘 등 다양한 랭킹 알고리즘과 그 정확성 평가 방법을 심도 있게 다룹니다.
핵심 포인트
- 예측 인간 선호도는 사용자에게 가장 적합한 AI 모델을 미리 예측하여, 비용 절감 및 응답 품질 향상을 위한 '모델 라우팅' 시스템 구축에 활용될 수 있습니다.
- 인간 선호도 데이터는 RLHF(Reinforcement Learning from Human Feedback)나 DPO와 같은 포스트 트레이닝 기법의 핵심 안내자 역할을 합니다.
- AI 모델 랭킹은 비교 데이터를 기반으로 하며, Chatbot Arena 등에서는 Bradley-Terry 알고리즘을 사용하여 최대 가능도 추정(Maximum Likelihood Estimation) 방식으로 점수를 계산합니다.
- 모델 랭킹의 품질은 미래의 실제 사용자 선호도를 얼마나 정확하게 예측할 수 있는지에 의해 결정되는 '예측 문제'입니다.
AI 애플리케이션 구축의 한 가지 도전 과제는 어떤 모델을 사용할지 선택하는 것입니다. 만약 우리가 그렇게 하지 않아도 되는 것이라면 어떨까요? 만약 우리는 모든 프롬프트에 대해 가장 좋은 모델을 예측할 수 있다면 어떨까요? 예측 인간 선호도 (Predictive Human Preference) 는 사용자가 특정 쿼리에 대해 선호할 모델이 무엇일지 예측하는 것을 목표로 합니다. 인간 선호도는 AI 모델 개발의 북극성 (Northstar) 이자 강력한 도구로 부상했습니다. 인간 선호도는 RLHF 와 DPO 를 포함한 포스트 트레이닝 기법을 안내합니다. LMSYS 의 Chatbot Arena 와 같이 인간 선호도는 또한 AI 모델을 랭킹하는 데 사용됩니다. Chatbot Arena 는 일반적으로 선호되는 모델이 무엇인지 결정하려는 것을 목표로 합니다. 저는 각 쿼리에 대해 선호되는 모델을 예측할 수 있는지 확인하고 싶었습니다. 예측 인간 선호도의 한 가지 사용 사례는 모델 라우팅입니다. 예를 들어, 프롬프트에 대해 사용자가 클로드 인스턴트의 응답을 GPT-4 보다 선호할 것이라고 미리 알 수 있다면, 그리고 클로드 인스턴트가 GPT-4 보다 저렴하거나 빠르다면, 우리는 이 프롬프트를 클로드 인스턴트로 라우팅할 수 있습니다. 모델 라우팅은 응답 품질을 높이고 비용 및 지연 시간을 줄이는 잠재력을 가지고 있습니다. 예측 인간 선호도의 또 다른 사용 사례는 해석 가능성입니다. 모델을 다양한 프롬프트에 대한 성능을 매핑하는 것은 해당 모델의 강점과 약점을 이해하는 데 도움을 줄 수 있습니다. 예시는 실험 결과 섹션에서 확인할 수 있습니다. 여기에는 "텍스트 임베딩을 클러스터링하는 가장 좋은 방법은 무엇인가요?"라는 프롬프트에 대한 예측 인간 선호도가 어떻게 보이는지 설명합니다. 이 예측은 저의 토이 선호도 예측기 (toy preference predictor) 로 생성되었습니다. (GPT-4, GPT-3.5-Turbo) 셀의 밝은 노란색은 내 예측기가 해당 프롬프트에 대해 GPT-4 의 응답이 GPT-3.5-Turbo 의 응답보다 선호될 확률이 매우 높다고 생각함을 의미합니다. 이 포스트는 먼저 Chatbot Arena 의 정확성을 논의하며, 이를 선호도 예측의 정확성을 평가하기 위한 기준 (baseline) 으로 사용합니다. 다음으로 선호도 예측기를 구축하는 방법과 초기 결과를 논의합니다. 인간 선호도를 사용하여 모델을 랭킹하기 최근 몇 년간 선호 신호 (비교) 를 사용하여 모델을 랭킹하는 것이 인기를 얻었습니다. LMSYS 의 Chatbot Arena 를 구동하는 것 외에도 많은 모델 제공자 (Anthropic, Gemini, ChatGPT 등) 는 이를 프로덕션에서 모델을 평가하는 데 사용합니다. 참고 사항: 이 것을 프로덕션에 배포한 친구들은 대부분의 사용자가 두 옵션을 모두 읽지 않고 무작위로 한 가지를 투표한다고 말했습니다. 이는 많은 노이즈를 도입합니다. 그러나 무작위 투표의 편향이 최소로 존재하는 경우, 올바르게 투표를 하는 소수의 사용자의 신호는 때로는 선호되는 모델을 결정하는 데 도움이 될 수 있습니다. 선호도 랭킹이 어떻게 작동하는지 선호도 랭킹은 두 단계로 작동합니다: 사용자 선호에 대한 비교 데이터를 수집합니다. 이러한 비교에서 모델 랭킹을 계산합니다. 각 요청에 대해 두 개 이상의 모델이 응답하기 위해 선택됩니다. 평가자 (인간 또는 AI) 가 승자를 선택합니다. 평가자는 어떤 모델이 평가되는지 알지 못해야 합니다. 각 비교는 매치 (match) 라고 불립니다. 이 과정은 일련의 비교를 생성합니다. 매치 ID 프롬프트 모델 A 모델 B 승자 1 … 모델 1 모델 2 모델 1 2 … 모델 3 모델 1 모델 1 3 … 모델 1 모델 4 모델 4 ... ... ... ... ... 이러한 비교에서 모든 모델의 랭킹을 계산해야 합니다. 두 가지 가장 일반적인 랭킹 알고리즘은 체스 (Elo) 와 비디오 게임 (TrueSkill) 입니다. Chatbot Arena 는 그들의 모델 점수를 "Elo 점수"라고 언급하지만, 실제로는 Elo 를 사용하지 않습니다. 2023 년 12 월에 그들은 Bradley-Terry 로 전환했고, 결과를 스케일링하여 Elo 님한 것처럼 보이게 했습니다 (그들의 not
eBook). 주어진 경기 결과의 역사 (history) 에 대해 Bradley-Terry 알고리즘은 이러한 경기 결과의 가능도 (likelihood) 를 최대화하는 모델 점수를 찾습니다. 이를 통해 모델 점수 문제를 최대 가능도 추정 (maximum likelihood estimation) 문제로 변환합니다. 입력 (input) 은 각 훈련 예제 (training example) 에서 참여하는 모델들입니다. 출력 (output) 은 경기의 결과입니다. 무승부 (draw) 가 없는 경우, 경기 결과는 0(A 승리) 또는 1(B 승리) 중 하나입니다.
Chatbot Arena 랭킹의 정확성 (Correctness)
동일한 경기 결과에 대해 다른 랭킹 알고리즘은 서로 다른 랭킹을 생성할 수 있습니다. 예를 들어, Elo 로 계산된 랭킹은 Bradley-Terry 로 계산된 랭킹과 다를 수 있습니다. 우리는 어떻게 랭킹이 정확한지 알 수 있을까요? 본질적으로 모델 랭킹은 예측 문제 (predictive problem) 입니다. 우리는 역사적 경기 결과로부터 랭킹을 계산하고 이를 미래 경기 결과에 적용합니다. 랭킹의 품질은 미래 경기 결과를 얼마나 정확하게 예측할 수 있는지에 의해 결정됩니다. 예를 들어, 모델 A 와 모델 B 의 경기가 있다고 가정해 봅시다. 모델 A 가 더 높은 점수를 가진다면, 즉 랭킹 알고리즘이 A 가 승리한다고 예측한다면... 만약 사용자가 더 높은 랭킹을 가진 모델을 선호한다면, 랭킹 알고리즘은 정확한 예측을 합니다.
Eval 데이터 (Eval data)
Chatbot Arena 랭킹의 정확도를 계산하기 위해 저는 2023 년 7 월에 발표된 데이터를 사용했습니다. 이는 20 개 모델 간의 경기 중 33K 개의 crowd-sourced comparisons(crowd 소스 비교) 로 구성됩니다. 저는 이 작은 데이터셋을 사용했고, 그 이유는 이 데이터셋이 각 경기에 사용된 프롬프트를 포함하고 있기 때문입니다. 이는 예측적 인간 선호도 (predictive human preference) 를 위해 필요합니다. 이 데이터셋에서 벤치마킹을 수행함으로써 나중에 Bradley-Terry 알고리즘과 내 모델을 비교할 수 있습니다. 다음은 2023 년 7 월 데이터셋의 예시입니다.
prompt model_a model_b winner model_a's response model_b's response who was the last monarch of uk koala-13b vicuna-13b model_a The last monarch of the United Kingdom was Queen Elizabeth II, who reigned from 1952 to 2020. The current monarch of the United Kingdom is Queen Elizabeth II. She has been the monarch since 1952, and is the longest-reigning monarch in British history. For reference, the Bradley-Terry (BT) scores of the top 7 models in this dataset are as follows.
GPT-4: 1189 Claude-v1: 1150 Claude-instant-v1: 1110 GPT-3.5-Turbo: 1104 WizardLM-13B: 1058 Vicuna-13b: 1040 Guanaco-33b: 1031
테스트 세트를 만들기 위해, 저는 데이터를 무작위로 10% (3300 예제) 를 선택했습니다. 각 경기는 세 가지 가능한 결과를 가집니다: model_a 승리, model_b 승리, 또는 tie(무승부). 이는 model_a 승리와 model_b 승리로 나누어 두 개의 매치를 처리하는 것으로 ties를 이진 분류 문제 (binary classification problem) 로 간주할 수 있습니다.
결과 (Results)
내 테스트 세트의 모든 무승부가 아닌 경기에서 Bradley-Terry 점수가 더 높은 모델이 선호되는 비율은 74.1% 입니다. 이는 우리가 경기의 승자를 항상 더 높은 랭킹을 가진 모델로 예측한다면 정확도가 74.1% 라는 것을 의미합니다.
테스트 데이터 (Test data)
Output classes # samples BT's accuracy
All matches model_a wins model_b wins tie
3,300 53.33%
Non-tie matches model_a wins model_b wins
2,367 74.1%
Non-tie matches involving GPT-4 model_a wins model_b wins
355 85.1% (always pick GPT-4 as winner)
2023 년 7 월에는 GPT-4 가 압도적으로 가장 강력한 모델로 간주되었습니다 (이때 Gemini, Mistral, Claude-v2 는 아직 존재하지 않았습니다). 모든 다른 모델에 대해 사용자가 항상 GPT-4 를 선호했을까요? 그렇지 않습니다. GPT-4 를 포함하는 355 개의 무승부가 아닌 경기에서 GPT-4 가 승리는 85.1% 입니다. 이는 GPT-4 가 전체적으로 가장 좋은 모델이지만, 다른 모델이 GPT-4 를 능가할 수 있는 프롬프트가 있다는 것을 의미합니다. 우리가 figure out(해결) 할 수 있다면... (문단 종료)
이러한 프롬프트와 각 프롬프트에 가장 잘 작동하는 모델은 무엇인지 알면, 해당 프롬프트를 성능이 가장 좋은 모델로 라우팅하여 응답 품질을 향상시킬 수 있습니다. 각 프롬프트에 대한 인간 선호도 예측 만약 순위 알고리즘이 어떤 모델이 전반적으로 더 나은지 파악하는 것이라면, 예측 인간 선호도는 각 프롬프트에 대해 어떤 모델이 더 나은지 파악하는 것입니다. 특정 프롬프트에 대해 GPT-3.5 가 GPT-4 와 동등하게 잘 작동하며 GPT-3.5 가 더 저렴하다고 미리 알 수 있다면, 해당 프롬프트를 GPT-3.5 로 라우팅할 수 있습니다. 또는 Mistral-7B 가 GPT-4 와 동등하게 잘 작동하고 Mistral-7B 가 더 빠르다고 알 수 있다면, 쿼리를 Mistral-7B 로 라우팅할 수 있습니다. 모델 라우팅은 예산 계획에도 도움이 될 수 있습니다. 예를 들어, 가장 강력한 모델에 50% 의 쿼리만, 나머지는 약한 모델에 서비스를 할 수 있는 예산만 있다고 가정해 봅시다. 약한 모델에 잘 수행할 수 있다는 확신이 있는 쿼리만 보내도록 해야 합니다. 실험 설정 저는 예측 인간 선호도를 이진 분류 작업으로 간주합니다. 두 모델의 매칭이 주어지면, 어느 것이 승리하는지 예측합니다. 모델_a 의 승률이 0.5 에 가까운 경우 이를 무승부 (tie) 로 간주합니다. Bradley-Terry 모델이 (model_a, model_b) 만 입력을 받으면, 선호도 예측자는 (prompt, model_a, model_b) 를 입력으로 받습니다. 제 선호도 예측자의 구조는 다음과 같습니다. 모델 인코더와 선호도 예측자는 독립적으로 또는 함께 훈련될 수 있는 신경망입니다. 저는 DistilBERT 를 프롬프트 인코더로 사용했습니다. 모델을 훈련하기 위해 LMSYS 의 2023 년 7 월 데이터셋의 90%를 사용했습니다. 예측자가 무승부 매칭 (tie matches) 을 사용하지 않고만 수행할 때 더 잘 작동한다는 것을 발견했습니다. 매칭에서 모델 순서를 50% 의 확률로 랜덤하게 뒤집었습니다. 모델을 평가하기 위해 이 데이터의 10% 를 사용했습니다. 이는 Chatbot Arena 의 순위 정확성을 평가하는 데 사용된 동일한 테스트 데이터입니다. 모든 매칭 비무승부 매칭 훈련 29,700 20,927 테스트 3,300 2,367 주석: 하이퍼파라미터 튜닝을 위해 별도의 검증 집합을 만들었어야 할 것 같습니다. 그러나 제가 많은 데이터가 없었고 이는仅为概念驗證 (proof of concept) 이므로 이를 수행하지 않았습니다. (저는 게으름입니다.) 매칭은 20 개의 모델 중 이루어지며, 이는 190 개의 모델 쌍에 해당합니다. 20,927 개의 비교는 평균적으로 모델 쌍당 110 개의 비교가 있음을 의미합니다. 실험 결과 저는 선호도 예측자를 두 가지 설정 아래 평가했습니다: 입력으로 model_a 와 model_b 만 사용. 이는 이 예측자가 모델 이름만 사용하여 Chatbot Arena 점수보다 매칭 결과에 더 나은 예측을 할 수 있는지 확인하기 위한 것입니다. 입력로 (prompt, model_a, model_b) 사용. 이는 프롬프트를 포함시켜 매칭 결과 예측을 개선할 수 있는지 확인하기 위한 것입니다. 저는 모든 비무승부 매칭에서 프롬프트를 사용하지 않으면 선호도 예측자가 매칭 결과를 75% 의 정확도로 예측할 수 있고, 프롬프트를 사용하면 76.2% 의 정확도로 예측할 수 있음을 발견했습니다. 이는 인간이 모델에 대한 선호도가 프롬프트에 따라 달라질 수 있음을 시사합니다. 개선은 크게 보이지 않지만, 규모에서 2.1% 의 개선은 중요할 수 있습니다. 평가 데이터 # 평가 샘플 Chatbot Arena 선호도 예측자 (프롬프트 없음) 선호도 예측자 (프롬프트 있음) 비무승부 매칭 2,367 74.1% 75% 76.2% GPT-4 를 포함한 비무승부 매칭 355 85.1% 86.2% 87% 이 예측자는 소량의 크라우드소싱 (예: 노이즈 있는) 데이터로 훈련되었습니다. 크라우드소싱된 프롬프트도 간단합니다. 33K 개의 프롬프트 중 180 개 (0.55%) 가
강한 모델과 약한 모델을 구분하기 위해. 저는 더 많은/더 나은 데이터가 있다면 이 예측자의 성능이 크게 개선될 것이라 생각합니다. 도메인별 및 쿼리별 리더보드 Recall(기억) 하文中, 20 개의 모델은 190 개의 모델 쌍에 해당합니다. 예측자가 인간 선호도를 어떻게 포착하는지 시각화하기 위해, 각 평가 프롬프트마다 190 개의 다른 입력을 생성했습니다 (각 모델 쌍 하나씩). 그런 다음 아래에 제시된 프롬프트
AI 자동 생성 콘텐츠
본 콘텐츠는 Chip Huyen Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기