TensorRT, PyTorch, ONNX, OpenVINO 등 다양한 프레임워크의 AI 모델을 HTTP/REST와 gRPC로 배포하는 오픈소스 추론 서버입니다.
tensorflow/serving
버전 관리되는 gRPC 및 HTTP 추론 엔드포인트를 통해 프로덕션에서 머신러닝 모델을 서빙하는 고성능 시스템입니다.
- 스타
- 6,365
- 포크
- 2,204
- 열린 이슈
- 82
- 마지막 커밋
- 17일 전
어떤 프로젝트인가요?
TensorFlow Serving은 머신러닝의 추론 영역을 담당합니다. 학습된 모델을 받아 로드하고 수명 주기를 관리하며, 클라이언트가 버전별로 모델에 접근할 수 있도록 합니다. TensorFlow SavedModels를 별도 설정 없이 바로 지원하고, 임베딩, 어휘, 특성 변환 등의 데이터와 다른 모델 유형도 서빙하도록 확장할 수 있습니다.
여러 모델이나 단일 모델의 여러 버전을 동시에 호스팅할 수 있습니다. 클라이언트 코드를 변경하지 않고 새 버전을 배포할 수 있어 카나리 릴리스와 실험 모델의 A/B 테스트가 가능합니다. 배칭 스케줄러는 개별 요청을 묶어 GPU에서 함께 처리하며, 지연 시간을 설정할 수 있습니다.
gRPC 및 REST 추론 엔드포인트를 모두 제공합니다. Docker 이미지로 배포되며, 문서에서는 Kubernetes 배포, 설정, 소스에서 빌드하는 방법을 다룹니다.
핵심 기능
- 01여러 모델 또는 한 모델의 여러 버전을 동시에 서빙
- 02gRPC 및 HTTP/REST 추론 엔드포인트 모두 제공
- 03클라이언트 코드 변경 없이 새 모델 버전 배포 가능
- 04모델의 카나리 릴리스 및 A/B 테스트 지원
- 05설정 가능한 지연 시간 제어 기능과 함께 요청을 배칭해 GPU에서 실행
활용 사례
- 프로덕션에서 추론 API 뒤에 TensorFlow 모델 배포
- 동일한 엔드포인트를 유지하면서 새 모델 버전을 점진적으로 배포
- 실험 모델과 현재 모델 간 A/B 테스트 실행
- 커스텀 servable을 통해 비 TensorFlow 모델이나 임베딩 서빙
빠른 시작
- 1
TensorFlow Serving Docker 이미지를 다운로드합니다
docker pull tensorflow/serving - 2
데모 모델을 가져오려면 저장소를 클론합니다
git clone https://github.com/tensorflow/serving - 3
데모 모델을 사용하고 REST 포트를 개방해 컨테이너를 시작합니다
docker run -t --rm -p 8501:8501 -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" -e MODEL_NAME=half_plus_two tensorflow/serving & - 4
predict API를 사용해 모델에 쿼리를 보냅니다
curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict
사용 전 알아둘 점
- README에서는 Docker를 사용하는 설정을 권장하며, Docker 없이 실행하는 것은 권장하지 않습니다.
- 별도 설정 없이 모델을 서빙하려면 TensorFlow SavedModel로 내보내야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- serving은(는) 무엇인가요?
- 버전 관리되는 gRPC 및 HTTP 추론 엔드포인트를 통해 프로덕션에서 머신러닝 모델을 서빙하는 고성능 시스템입니다. TensorFlow Serving은 머신러닝의 추론 영역을 담당합니다. 학습된 모델을 받아 로드하고 수명 주기를 관리하며, 클라이언트가 버전별로 모델에 접근할 수 있도록 합니다. TensorFlow SavedModels를 별도 설정 없이 바로 지원하고, 임베딩, 어휘, 특성 변환 등의 데이터와 다른 모델 유형도 서빙하도록 확장할 수 있습니다.
- serving은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- serving은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- serving은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. serving의 마지막 커밋은 2026년 10월 21일입니다.
- serving은(는) 어디에 사용할 수 있나요?
- 프로덕션에서 추론 API 뒤에 TensorFlow 모델 배포 동일한 엔드포인트를 유지하면서 새 모델 버전을 점진적으로 배포 실험 모델과 현재 모델 간 A/B 테스트 실행 커스텀 servable을 통해 비 TensorFlow 모델이나 임베딩 서빙
- serving는 어떻게 설치하나요?
- TensorFlow Serving Docker 이미지를 다운로드합니다: docker pull tensorflow/serving 데모 모델을 가져오려면 저장소를 클론합니다: git clone https://github.com/tensorflow/serving 데모 모델을 사용하고 REST 포트를 개방해 컨테이너를 시작합니다: docker run -t --rm -p 8501:8501 -v "$TESTDATA/saved_model_half_plus_two_cpu:/models/half_plus_two" -e MODEL_NAME=half_plus_two tensorflow/serving & predict API를 사용해 모델에 쿼리를 보냅니다: curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict
- serving은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/tensorflow/serving
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Rust 웹 계층을 갖춘 Python ML 모델 서빙 프레임워크로, 온라인 추론 API를 위한 동적 배칭과 CPU/GPU 파이프라인을 제공합니다.
AI 모델 추론 API, 멀티모델 파이프라인, LLM 앱을 구축하고 Docker와 Kubernetes에 배포하는 Python 라이브러리입니다.
Python 및 C++ API를 제공하는, 머신러닝 모델을 구축하고 배포하기 위한 엔드투엔드 오픈소스 플랫폼입니다.
머신러닝 실험과 튜토리얼을 위한 Google Colaboratory 노트북을 선별해 모은 awesome-list 스타일의 컬렉션입니다.
머신러닝 모델을 표현해 프레임워크와 런타임 간에 옮길 수 있도록 하는 개방형 표준 파일 형식 및 생태계입니다.