Ludwig 모델 서빙 — REST API로 예측 제공하기

Ludwig 모델 서빙 — REST API로 예측 제공하기

학습한 모델을 실제로 쓰려면 API로 노출해야 해요. Ludwig는 두 가지 서빙 방식을 제공해요 — ECD 모델용 범용 REST API와, LLM용 OpenAI 호환 서버예요. ludwig serve 하나로 시작할 수 있어요.

출처: https://ludwig.ai/latest/user_guide/serving/

서버 시작

ludwig serve --model_path=/path/to/model

이 명령은 FastAPI 서버를 띄우고, 다음 엔드포인트를 제공해요.

엔드포인트 메서드 설명
/ GET 헬스체크
/info GET 모델 메타데이터(입출력 피처, 모델 타입)
/predict POST 단건 예측
/batch_predict POST 배치 예측
/metrics GET Prometheus 메트릭

단건 예측

/predict에 피처 값을 JSON으로 POST하면 예측을 받아요.

curl http://0.0.0.0:8000/predict -X POST \
  -H "Content-Type: application/json" \
  -d '{"text_feature": "words to predict", "number_feature": 42}'

주요 기능

  • 자동 Pydantic 스키마: 모델 config로부터 요청/응답 검증 스키마를 자동 생성해요.
  • Prometheus 메트릭: /metrics에서 요청 수·레이턴시 히스토그램을 제공해요.
  • 구조화 로깅: 모든 요청의 메서드·경로·상태·지속시간·클라이언트를 기록해요.
  • 타임아웃: 긴 예측에 대한 --prediction_timeout을 설정할 수 있고, 초과 시 HTTP 504를 반환해요.

서빙 옵션 고르기

옵션 규모 프로토콜 적합한 곳
ludwig serve (FastAPI) 단일 프로세스 REST JSON 개발·간단한 API
Ray Serve 멀티레플리카·오토스케일 REST JSON Ray 클러스터 프로덕션
KServe 쿠버네티스 네이티브 OIP v2 엔터프라이즈 쿠버네티스
ludwig serve (vLLM) GPU 최적화 OpenAI 호환 LLM 서빙

더 알아보기

LLM 서빙과 vLLM 통합, 배포 옵션의 자세한 내용은 공식 Serving 문서에서 확인할 수 있어요.