Hugging Face: 10억 건의 분류 작업을 위한 비용 및 지연 시간 최적화

하루에 10억 건 이상의 분류 또는 임베딩을 처리하는 것은 기본적으로 재정적인 도전 과제입니다. Hugging Face는 대규모 추론에 대한 비용과 지연 시간을 계산하고 최적화하는 방법론을 개발했으며, 하드웨어, 배치 크기(batch size) 및 병렬 처리의 적절한 조합이 클라우드 지출을 크게 줄일 수 있음을 입증했습니다.

10억 개의 입력에 대한 비용 벤치마크

NVIDIA L4 GPU($0.8/hr)를 사용할 때, 10억 개의 입력을 처리하는 비용은 모델 아키텍처와 작업에 따라 크게 달라집니다:

Use Case Model Hardware Cost of 1B Inputs
Classification lxyuan/distilbert-base-multilingual-cased-sentiments-student nvidia-L4 $253.82
Embedding Alibaba-NLP/gte-modernbert-base nvidia-L4 $409.44
Vision-Embedding vidore/colqwen2-v1.0-merged nvidia-L4 $44,496.51

기술적 최적화 프레임워크

이러한 비용을 달성하기 위해 Hugging Face는 배포 및 부하 테스트를 위해 특정 스택을 활용했습니다:

  • Inference Server: 멀티모달 임베딩을 제공하고 다양한 하드웨어(AMD, Nvidia, CPU, Inferentia)를 지원하는 능력을 고려하여 Infinity를 선택했습니다.
  • Deployment: 유연한 하드웨어 선택을 위한 Hugging Face Inference Endpoints와 프로그래밍 방식의 배포를 위한 Hugging Face Hub Library를 사용했습니다.
  • Load Testing: Grafana의 k6를 사용하였으며, shared-iterations executor를 사용하여 병렬 클라이언트 요청을 시뮬레이션하고 처리량(throughput)과 P95 지연 시간을 측정했습니다.

주요 최적화 매개변수

효율성은 세 가지 주요 변수에 의해 결정됩니다:

  1. INFINITY_BATCH_SIZE: 얼마나 많은 문서가 포워드 패스(forward pass)를 거칠지 결정합니다. 너무 낮으면 GPU 활용도가 떨어지고, 너무 높으면 GPU 용량을 초과합니다.
  2. Virtual Users (VUs): 배치 크기가 완전히 활용되도록 병렬 클라이언트 요청을 시뮬레이션합니다.
  3. Hardware Choice: NVIDIA L4는 현대적인 워크로드에서 NVIDIA T4 및 CPU보다 뛰어난 성능 대비 비용 효율성을 제공하는 것으로 나타났습니다.

유스케이스 분석

Text Classification

경량 분류 작업의 경우 DistilBERT를 평가했습니다. 10억 개의 입력에 대해 가장 비용 효율적인 구성($253.82)은 기본 Infinity 이미지를 사용하여 배치 크기 64와 448 VUs를 갖춘 NVIDIA L4 GPU를 사용했습니다.

Text Embeddings

ModernBERT는 Flash-Attention-2 및 8k 컨텍스트 윈도우 지원 덕분에 임베딩 작업에 사용되었습니다. 10억 개의 입력에 대한 최적의 구성($409.44)은 배치 크기 32와 256 VUs를 사용하는 NVIDIA L4 GPU를 사용했습니다.

Vision Embeddings

ColQwen2를 사용하는 Vision-embedding 작업은 모델의 2.21B 파라미터 크기와, 입력당 하나의 벡터가 아닌 각 토큰에 대해 벡터를 반환하는 ColBERT 스타일의 멀티 벡터 표현으로 인해 훨씬 더 비용이 많이 듭니다. 10억 개의 입력에 대한 가장 저렴한 구성은 배치 크기 4와 4 VUs를 사용하는 NVIDIA L4를 활용한 $44,496.51였습니다.

핵심 결과 및 트레이드오프

  • 하드웨어 효율성: 현대적인 인코더 워크로드에는 T4보다 NVIDIA L4가 선호되는 선택입니다.
  • 지연 시간-비용 트레이드오프: 허용 가능한 지연 시간을 늘리면 일반적으로 처리량이 높아져 전체 비용이 감소합니다. 이 관계는 파레토 곡선(Pareto curve)을 통해 시각화할 수 있습니다.
  • Vision 비용 페널티: 이미지 기반 검색은 모델 크기가 더 크고, 복잡한 아키텍처(디코더 포함)를 가지며, 이미지 데이터에 대한 높은 API/egress 비용으로 인해 텍스트 기반 작업보다 약 두 자릿수(100배) 정도 더 비쌉니다.
  • 확장 전략: 수평적 확장을 위해 단일 GPU 기준점이 설정되면, 복제(replica) GPU를 추가하여 처리량을 높일 수 있습니다.

Sources