모델 선택

모델 선택 (Model selection)

애플리케이션에 쓸 모델을 고르는 건 생각보다 중요해요. gpt-6-astra 같은 최상위 모델부터 gpt-5.6-terra 같은 더 작은 모델까지 선택지가 많죠. 이때 정확도(accuracy), 지연 시간(latency), 비용(cost) 세 가지를 함께 저울질해야 해요. 이 가이드에서는 현명한 모델 선택을 위한 핵심 원칙을 실제 예시와 함께 설명할게요.

출처: 공식문서

핵심 원칙

모델 선택의 원칙은 단순해요. 두 단계로 나눠 생각하면 됩니다.

  • 먼저 정확도를 최적화해요: 정확도 목표를 달성할 때까지 정확도에 집중해요.
  • 그다음 비용과 지연 시간을 최적화해요: 그다음엔 가능한 한 가장 싸고 빠른 모델로 정확도를 유지하는 걸 목표로 해요.

1. 먼저 정확도에 집중하기

먼저 사용 사례에 대한 명확한 정확도 목표를 정해요. 이 사용 사례가 프로덕션에 나가기 위해 "충분히 좋은" 정확도가 무엇인지 분명히 하는 거예요. 이렇게 할 수 있어요.

  • 정확도 목표 설정: 목표로 삼을 정확도 지표가 무엇인지 정해요.
    • 예를 들어, 고객 서비스 전화의 90%가 첫 상호작용에서 올바르게 분류(트리아지)되어야 한다는 식이에요.
  • 평가 데이터셋 개발: 이런 목표에 대해 모델 성능을 측정할 수 있는 데이터셋을 만들어요.
    • 위 예시를 확장하면, 사용자가 무엇을 요청했는지, LLM이 어디로 분류했는지, 올바른 분류가 무엇이었는지, 그것이 맞았는지 여부가 담긴 100개의 상호작용 예시를 수집하는 거예요.
  • 가장 강력한 모델로 최적화: 정확도 목표를 달성하기 위해 가장 강력한 모델부터 시작해요. 모든 응답을 기록해 두면 나중에 더 작은 모델로 증류(distillation)하는 데 쓸 수 있어요.
    • 정확도 최적화에는 검색 증강 생성(RAG)을 사용해요
    • 일관성과 행동 최적화에는 파인튜닝을 사용해요

이 과정에서 평가, 퓨샷 러닝, 파인튜닝에 쓸 프롬프트-완성 쌍을 수집해요. 이 습관을 프롬프트 베이킹(prompt baking) 이라고 부르는데, 미래에 쓸 고품질 예시를 만들 수 있게 해줘요.

더 많은 방법과 도구는 정확도 최적화 가이드를 참고하세요.

현실적인 정확도 목표 설정

모델 결정의 재정적 영향을 평가해서 현실적인 정확도 목표를 계산해요. 가짜 뉴스 분류 시나리오를 예로 들어볼게요.

  • 올바르게 분류된 뉴스: 모델이 올바르게 분류하면 사람이 검토하는 비용을 아끼게 돼요. 여기선 $50라고 가정해요.
  • 잘못 분류된 뉴스: 안전한 기사를 잘못 분류하거나 가짜 뉴스를 놓치면 검토 절차와 잠재적인 컴플레인이 발생할 수 있고, 여기선 $300 정도가 들 수 있어요.

이 뉴스 분류 예시는 비용을 충당하기 위해 85.8% 정확도가 필요해요. 그래서 90% 이상을 목표로 삼으면 전반적인 투자 수익이 보장되죠. 이렇게 계산해서 자신의 비용 구조에 맞는 효과적인 정확도 목표를 정하면 됩니다.

2. 비용과 지연 시간 최적화하기

비용과 지연 시간이 2차적인 이유는, 모델이 정확도 목표를 맞추지 못하면 이런 고민 자체가 무의미해지기 때문이에요. 하지만 사용 사례에 맞는 모델을 찾았다면 두 가지 접근 중 하나를 쓸 수 있어요.

  • 더 작은 모델과 제로/퓨샷으로 비교: 모델을 더 작고 싼 것으로 바꿔서, 더 낮은 비용·지연 시간 지점에서도 정확도를 유지하는지 테스트해요.
  • 모델 증류(Model distillation): 정확도 최적화 동안 모은 데이터로 더 작은 모델을 파인튜닝해요.

비용과 지연 시간은 보통 서로 연결돼 있어요. 토큰과 요청 수를 줄이면 일반적으로 처리도 빨라지죠.

여기서 고려할 주요 전략은 다음과 같아요.

  • 요청 수 줄이기: 작업을 완료하는 데 필요한 요청 수를 최소화해요.
  • 토큰 최소화: 입력 토큰 수를 줄이고, 모델 출력이 짧아지도록 최적화해요.
  • 더 작은 모델 선택: 비용과 지연 시간을 줄이면서 정확도를 유지하는 모델을 써요.

더 깊이 알고 싶다면 지연 시간 최적화 가이드를 참고하세요.

규칙의 예외

이 원칙에도 분명한 예외가 있어요. 사용 사례가 극단적으로 비용이나 지연 시간에 민감하다면, 테스트를 시작하기 전에 이 지표들에 대한 임계값을 정하고 그걸 넘는 모델을 후보에서 제외해요. 벤치마크가 정해지면 이 가이드라인이 제약 안에서 모델 정확도를 다듬는 데 도움이 돼요.

실용 예시

이런 원칙을 직접 보여드리기 위해, 아래 목표 지표를 가진 가짜 뉴스 분류기를 만들 거예요. 아래 실험은 작업 흐름을 보여주기 위해 과거 GPT-4o 계열 결과를 사용해요. 현재 평가를 할 때는 gpt-6-astra로 시작해 더 작은 모델이나 파인튜닝된 모델과 비교하면 됩니다.

  • 정확도: 분류 정확도 90% 달성
  • 비용: 기사 1,000건당 $5 미만
  • 지연 시간: 기사당 처리 시간 2초 미만 유지

실험

목표를 달성하기 위해 세 가지 실험을 진행했어요.

  1. 제로샷(Zero-shot): 기본 프롬프트로 GPT-4o를 1,000건에 적용했지만 정확도 목표를 놓쳤어요.
  2. 퓨샷 러닝(Few-shot): 퓨샷 예시 5개를 넣어 정확도 목표는 달성했지만, 프롬프트 토큰이 늘어 비용이 초과됐어요.
  3. 파인튜닝 모델: GPT-4o-mini를 1,000개의 라벨 예시로 파인튜닝해, 비슷한 지연 시간과 정확도로 모든 목표를 달성하면서 비용은 훨씬 줄였어요.
ID 방법 정확도 정확도 목표 비용 비용 목표 평균 지연 시간 지연 시간 목표
1 gpt-4o zero-shot 84.5% $1.72 < 1s
2 gpt-4o few-shot (n=5) 91.5% $11.92 < 1s
3 gpt-4o-mini fine-tuned w/ 1000 examples 91.5% $0.21 < 1s

결론

gpt-4o에서 파인튜닝된 gpt-4o-mini로 바꾸는 것만으로, 라벨 예시 1,000개만 사용해 비용의 2% 미만으로 동등한 성능을 달성했어요.

이 과정은 중요해요. 파인튜닝이 필요한 최적화에 맞는 도구인지 모를 때나 라벨 예시가 충분하지 않을 때는 바로 파인튜닝으로 넘어갈 수 없는 경우가 많거든요. gpt-6-astra로 정확도 목표를 먼저 세운 다음, 비용과 지연 시간이 중요해질 때 더 작거나 파인튜닝된 모델을 테스트해 보세요.

더 알아보기 (Learn more)