더 정확하지만 더 비싼 AI를 골라야 할까: 파레토 비교와 필수 조건

AI Agent Fast Learning · 여러 지표로 후보 고르기

더 정확하지만 더 비싼 AI가 언제나 더 좋은 선택은 아니다. 먼저 반드시 지켜야 할 조건을 정하고, 그 조건을 만족한 후보 사이에서 무엇을 더 얻기 위해 무엇을 포기할지 비교해야 한다. 파레토 비교는 이때 명백히 불리한 후보를 가려내는 방법이다. 남은 후보 중 하나를 자동으로 우승자로 만들어 주는 공식은 아니다.

앞선 회차에서는 채점기 자체를 반례로 검사했다. 이번에는 판정 기준을 고정한 뒤 얻은 여러 지표를 어떻게 의사결정에 연결할지 다룬다. 아래 A·B·C·D는 설명을 위해 만든 가상 구성이고, 수치는 합성 요약값이다. 실제 모델의 벤치마크·요금·서비스 측정 결과가 아니다.

합성 후보 A는 성공률94%, 비용3단위, 시간p95 2초이고 B는96%,5단위,3초, C는92%,4단위,4초, D는94%,2단위,5초다. 세 지표의 비지배 후보는 A·B·D이며 성공률94% 이상과 p95 3초 이하를 요구하면 A·B가 남는다.
합성 요약값으로 설명한 파레토 비교와 필수 조건. 실제 AI 벤치마크가 아니며, 시간은 요청 시작부터 최종 판정 종료까지다.

같은 방향으로 좋아지는 지표만 있는 것은 아니다

가상의 문서 답변 시스템 네 가지를 같은 요청 100건으로 평가했다고 가정하자. 성공은 근거에 맞는 답변을 제공하고 필수 조건을 모두 지킨 경우다. 성공률은 높을수록, 비용과 시간은 낮을수록 좋다고 정한다. 여기서는 세 지표의 값을 정확히 안다고 가정해 비교 원리부터 살핀다.

  • A: 성공 94건/100건, 요청당 평균 비용 3단위, 판정 종료 시간 p95 2초.
  • B: 성공 96건/100건, 요청당 평균 비용 5단위, 판정 종료 시간 p95 3초.
  • C: 성공 92건/100건, 요청당 평균 비용 4단위, 판정 종료 시간 p95 4초.
  • D: 성공 94건/100건, 요청당 평균 비용 2단위, 판정 종료 시간 p95 5초.

비용의 ‘단위’는 가상 단위이며 특정 통화나 API 가격이 아니다. 실패 요청을 포함한 전체 100건의 비용을 합쳐 100으로 나눈 값으로 정의한다. 시간은 첫 글자가 표시될 때가 아니라 요청 시작부터 성공·실패의 최종 판정이 끝날 때까지다. 모든 요청의 판정이 끝났고 시간 누락이 없다고 가정하며, p95는 작은 순서로 정렬한 100개 시간 중 95번째 값으로 정의한다. 위 p95 숫자는 이 설명을 위해 지정한 값이지 원시 실행 로그에서 계산한 결과는 아니다.

비교 조건이 다르면 이 목록을 그대로 사용할 수 없다. 한쪽은 재시도 비용을 빼고 다른 쪽은 포함했거나, 빠르게 끝난 성공 요청만 시간 계산에 넣었다면 숫자의 차이는 모델 성능만을 나타내지 않는다. 같은 요청 집합, 같은 성공 기준, 같은 비용 범위와 시간 측정 경계를 먼저 맞춘다.

지배된 후보와 상충하는 후보를 구분한다

A가 C를 파레토 지배한다는 것은 A가 비교하는 모든 지표에서 C보다 나쁘지 않고, 적어도 하나에서는 더 좋다는 뜻이다. 이 예시에서는 성공률 94%가 92%보다 높고, 비용 3이 4보다 낮으며, 시간 2초가 4초보다 짧다. 세 지표만 고려하고 측정값을 정확히 안다는 가정 아래에서는 C를 선택할 이유가 없다.

B와 A는 다르다. B는 성공률이 높지만 더 비싸고 더 느리다. D는 A와 성공률이 같고 비용은 낮지만 시간이 길다. 어느 쪽도 상대의 모든 지표를 동시에 이기지 못한다. 따라서 전체 네 후보 중 다른 후보에 지배되지 않는 것은 A·B·D다. 이 후보들의 지표 점을 모은 것이, 이번에 비교한 후보 집합 안에서의 파레토 경계다.

Optuna 공식 문서의 Study.best_trials는 다른 시행에 지배되지 않는 시행들을 파레토 경계의 후보로 설명한다. 문서의 최소화 기준 정의를 이 글에서는 성공률은 최대화하고 비용·시간은 최소화하는 방향으로 적용했다. Optuna를 설치하거나 최적화 실험을 실행했다는 뜻은 아니다.

출처: Optuna 공식 문서, Study.best_trials (확인: 2026-10-18).

여기서 ‘파레토’는 품질 인증 마크가 아니다. A·B·D가 모든 AI 중 최적이라는 뜻도, 업무에 충분히 안전하다는 뜻도 아니다. 선택한 후보와 지표 안에서만 더 나은 대체 후보가 없다는 제한된 설명이다. 비용과 성공률만 남겨 비교하면 D가 A를 지배하지만, 시간까지 포함하면 그렇지 않다. 어떤 지표를 빼느냐에 따라 후보 집합도 달라진다.

필수 조건은 가중치로 상쇄하지 않는다

이번 가상 업무의 조건을 평가 전에 다음처럼 정했다고 하자. 성공률 94% 이상, 판정 종료 시간 p95 3초 이하. 이는 설명용 문턱이지 실제 서비스에 권장하는 기준이 아니다. 네 후보 중 조건을 만족하는 것은 A와 B다. C는 성공률과 시간에서, D는 시간에서 탈락한다.

D는 파레토 경계에 있었지만 이 업무에서는 사용할 수 없다. 싸다는 장점으로 필수 시간 조건을 상쇄할 수 없기 때문이다. 실무 절차에서는 먼저 필수 조건으로 적격 후보를 걸러 내고, 그 안에서 지배 관계를 비교하면 된다. 여기서는 차이를 보여 주려고 전체 후보의 파레토 경계를 먼저 살펴봤다.

권한을 벗어난 실행이나 금지된 데이터 전송처럼 반드시 막아야 하는 행동도 같은 방식으로 별도 통과 조건을 둘 수 있다. 빠르고 저렴하다는 이유로 그 위반을 평균 점수에 묻지 않는다. 다만 평가 중 위반을 못 봤다는 사실만으로 앞으로 위반이 없음을 보장할 수는 없다. 이런 조건의 검증 범위와 미확인 상태까지 기록해야 한다.

필수 조건을 만족하는 후보가 하나도 없다면 결과는 ‘선택 가능한 후보 없음’이다. 가장 덜 나쁜 후보를 자동 승인하거나, 결과를 본 뒤 문턱을 낮춰 통과로 바꾸지 않는다. 조건을 바꿔야 한다면 업무 요구가 왜 달라졌는지 남기고 새 조건으로 다시 평가한다.

A와 B가 남았다고 선택이 끝난 것은 아니다

A에서 B로 바꾸면 이 합성 목록에서는 성공률이 2%포인트 높아지는 대신 요청당 비용이 2단위 늘고 p95가 1초 길어진다. 그 교환이 필요한지는 업무가 결정한다. 비용을 먼저 줄여야 한다면 A, 허용 비용 안에서 성공률을 우선한다면 B를 검토할 수 있다. ‘파레토 경계에 있다’는 말만으로 어느 쪽을 선택했는지 설명할 수는 없다.

추가로 요청당 비용 4단위 이하라는 필수 조건이 있었다면 B도 제외되고 A만 남는다. 반대로 비용 5단위를 감수하면서 성공률을 우선한다는 선택 기준을 사전에 정했다면 B를 고를 수 있다. 수치가 같은 후보가 있다면 임의로 순위를 만들지 말고 동률로 남긴 뒤, 운영 복잡도처럼 아직 반영하지 않은 판단 근거가 필요한지 확인한다.

여러 지표를 가중합 점수로 만드는 것도 한 방법이지만 단위와 가중치에 대한 선택을 숨겨서는 안 된다. 성공률 94, 비용 3, 시간 2를 이유 없이 더하고 빼면 수치 범위가 큰 지표가 점수를 좌우할 수 있다. 초를 밀리초로 바꿨을 뿐인데 우승자가 달라진다면 성능이 바뀐 것이 아니라 점수 설계가 흔들린 것이다.

pymoo의 다기준 의사결정 문서는 비지배 후보를 얻는 단계와 그중 하나를 고르는 단계를 구분하고, 지표 척도 차이를 다루는 정규화와 선호 가중치를 설명한다. 이 글에서는 특정 정규화 공식을 권하기보다, 정규화 기준·가중치·필수 조건을 따로 기록하도록 제안한다. 단순 파레토 지배 비교에는 서로 다른 단위를 하나로 맞출 필요가 없지만, 거리나 합산 점수를 사용할 때는 척도의 영향이 생긴다.

출처: pymoo 공식 문서, Part III: Multi-Criteria Decision Making (확인: 2026-10-18).

실제 평가에서는 작은 차이의 불확실성이 남는다

위 목록은 설명용 값을 정확히 안다는 가정이었다. 실제로 같은 100건에서 94건과 96건을 맞혔다고 해서 B의 일반적인 성공확률이 더 높다고 곧바로 확정할 수는 없다. 같은 요청에서 어느 성공이 새 실패로 바뀌었는지, 어떤 유형에 차이가 몰렸는지, 반복 실행과 시간 측정이 얼마나 흔들리는지 추가로 살펴야 한다.

따라서 처음에는 ‘관측한 요약값 기준 비지배 후보’라고 기록한다. 측정 오차나 실무적으로 무의미한 차이를 어떻게 다룰지도 비교 전에 정한다. 작은 차이를 무시하는 허용폭을 도입했다면 엄격한 파레토 지배와는 다른 규칙이므로 그 정의를 함께 적는다. 검증 종료 시간이 확인되지 않은 요청을 조용히 제외해 빠른 후보로 만드는 일도 피해야 한다.

오늘 만들 기록: 후보 목록과 선택 이유를 분리한다

  • 측정 계약: 요청 집합, 성공 기준·채점기 버전, 비용 범위, 시간의 시작·종료와 p95 계산법.
  • 필수 조건: 허용 문턱, 금지 행동, 미확인 항목의 처리, 조건을 정한 시점.
  • 후보 비교: 각 지표의 값과 방향, 탈락 사유, 남은 후보의 지배 관계.
  • 최종 선택: 감수할 비용과 지연, 우선할 효과, 동률 처리, 아직 부족한 근거.

계산 확인: 2026-10-18에 A·B·C·D의 합성 숫자를 Python 비교식으로 대조했다. 전체 비지배 후보는 A·B·D, 성공률 94% 이상·p95 3초 이하를 적용한 적격 후보는 A·B, 비용 4단위 이하까지 적용하면 A였다. 실제 AI 실행이나 서비스 성능 측정은 하지 않았다. 확인한 것은 주어진 숫자에 대한 비교 계산뿐이다.

점수표가 해야 할 일은 선택을 대신하는 것이 아니라, 선택의 대가를 드러내는 것이다. A와 B 중 하나를 고를 때 “더 좋다”는 말 대신 무엇이 얼마나 달라지고 어떤 조건을 지켜야 하는지를 남기자. 그러면 나중에 비용 한도나 시간 요구가 바뀌어도, 모델 이름만 기억하는 대신 선택을 다시 검토할 근거가 남는다.


다른 글 보기 · 주제 탐색 · 작성자와 편집 기준 · 문의·정정 요청

RUDA DIRECTOR에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기