.pth 파일에서 HTTP 엔드포인트까지
운영 복잡도가 낮은 순서로 세 가지 서빙 방식을 살펴보자:
- FastAPI + uvicorn: 서버를 직접 작성해. 인프라는 단순하면서 유연성은 가장 커서 시제품, 내부 도구, 작은 운영 환경에 좋아.
- TorchServe: AWS와 Meta가 만든 관리형 추론 서버야. 배치 처리, 모델 버전 관리, 평가지표, 여러 모델 서빙 기능을 내장해. 운영 환경에서 여러 모델을 관리해야 할 때 알맞아.
- vLLM / TGI / SGLang: LLM 전용 서빙 도구야. 연속 배치 처리, PagedAttention, 최적화된 커널을 제공해 언어 모델을 서빙할 때 잘 맞아.
모든 서빙 구성에 필요한 기본 요소
- 서비스 시작 시 모델을 한 번만 불러오고 요청마다 다시 불러오지 마.
model.eval()을 설정하고 매 요청을torch.inference_mode()안에서 처리해.- 지연 시간 예산이 허용하면 요청을 배치로 묶어 처리량을 크게 높여.
- 요청 처리 중 CPU와 GPU의 불필요한 동기화를 피해. 버퍼를 미리 할당하고 non_blocking 전송을 사용해.
- 상태 확인 엔드포인트가 오케스트레이터에 서비스가 살아 있는지 알려 주게 해.
- 평가지표 엔드포인트에서 지연 시간, 처리량, 오류율, GPU 활용도를 제공해.