Modal — vLLM 배포

vLLM은 빠른 자동 확장을 위해 설계된 서버리스 컴퓨팅 플랫폼인 Modal 클라우드 GPU에서 실행할 수 있습니다.

출처: 문서

본문

Modal은 GPU 자원을 필요할 때만 켜고, 유휴 시 자동으로 축소(scale-to-zero)하는 서버리스 모델을 제공합니다. 때문에 트래픽이 들쭉날쭉한 vLLM 추론 서비스에 특히 잘 어울립니다. Modal에서 vLLM을 배포하면:

  • 요청이 들어올 때만 GPU 인스턴스를 스핀업하고, 유휴 시간이 지나면 자동으로 정리해 비용을 절약합니다.
  • Modal의 함수(클라우드 함수) API로 vLLM 서버를 감싸 OpenAI 호환 엔드포인트를 노출합니다.
  • 트래픽 증감에 따라 자동으로 인스턴스를 확장/축소합니다.

Modal에서 vLLM을 배포하는 자세한 방법은 Modal 문서의 튜토리얼을 참고하세요.

핵심 포인트

  • 서버리스 자동 확장 — 트래픽이 없으면 인스턴스가 0으로 축소되고, 요청이 들어오면 다시 스핀업됩니다. 상시 유지 서버 대비 비용을 크게 줄일 수 있습니다.
  • GPU 선택 — Modal 함수 정의에서 GPU 종류(예: L4, A100, H100)를 지정하면 모델 크기와 예산에 맞춰 인스턴스를 배포합니다. 멀티 GPU 텐서 병렬이 필요한 큰 모델도 여러 GPU 위에 vLLM을 띄울 수 있습니다.
  • OpenAI 호환 엔드포인트 — vLLM의 /v1 API를 그대로 노출하므로 기존 OpenAI SDK 기반 클라이언트를 바꾸지 않고 사용할 수 있습니다.

일반적인 배포 흐름은 ① Modal 클라우드 함수(@app.function) 안에서 vLLM 서버를 백그라운드로 실행하고, ② vLLM의 /v1 엔드포인트를 가리키는 Modal FastAPI 웹 엔드포인트를 만들며, ③ 모델을 Modal에 배포해 트래픽에 따라 자동 확장되게 하는 형태입니다. 긴 유휴 후 콜드 스타트가 발생할 수 있으므로, 첫 요청이 느릴 수 있다는 점을 참고하세요.

더 알아보기 (Learn more)