프로젝트 소개
TensorFlow Serving은 프로덕션 환경을 위해 설계된 머신러닝 모델 서빙 시스템입니다. 이는 추론 단계에 초점을 맞춥니다. 즉, 학습된 모델을 가져와 그 수명 주기를 관리하고, 고성능의 참조 카운트 방식 조회 테이블을 통해 클라이언트에게 버전별 접근을 제공합니다. TensorFlow 모델과는 기본적으로 바로 통합되지만, 그 아키텍처는 다른 모델 유형과 데이터로 확장할 수 있습니다.
README에서 설명하는 주요 기능은 다음과 같습니다.
- 여러 모델 또는 동일한 모델의 여러 버전을 동시에 서빙합니다.
- gRPC와 HTTP 추론 엔드포인트를 모두 제공합니다.
- 클라이언트 코드를 변경하지 않고 새 모델 버전을 배포합니다.
- 새 버전의 카나리 배포와 실험적 모델의 A/B 테스트를 지원합니다.
- 오버헤드가 낮은 구현으로 인해 지연 시간을 최소한으로 추가합니다.
- 개별 추론 요청을 GPU에서 공동 실행할 수 있도록 배치로 그룹화하는 스케줄러를 제공하며, 지연 시간을 구성할 수 있습니다.
- 다양한 서버블을 지원합니다. TensorFlow 모델, 임베딩, 어휘, 특징 변환, 그리고 TensorFlow 기반이 아닌 머신러닝 모델까지 포함됩니다.
README는 Docker를 사용한 빠른 시작 예제를 제공합니다. tensorflow/serving 이미지를 가져오고, 저장소를 복제하고, 데모 모델을 마운트한 컨테이너를 시작하고, curl 요청으로 REST API를 질의합니다. 또한 공식 TensorFlow 문서 사이트의 엔드투엔드 학습 및 서빙 튜토리얼로 연결되는 링크도 제공합니다.
문서는 Docker(권장), Docker 없이 설치, Docker로 소스에서 빌드, Kubernetes에 배포를 포함한 설정 옵션을 다룹니다. 사용 지침은 TensorFlow 모델을 SavedModel로 내보낸 다음 TensorFlow Serving을 구성하고 사용하는 방법을 설명합니다. 추가 가이드는 성능, TensorBoard 프로파일링, REST API, gRPC API 정의, SavedModel 워밍업, SignatureDefs, 사용자 정의 연산이 있는 모델 서빙을 다룹니다.
확장과 관련하여 README는 아키텍처가 매우 모듈식이어서 배치 스케줄링과 같은 부분을 개별적으로 사용하거나 새로운 사용 사례를 위해 확장할 수 있다고 설명합니다. 또한 아키텍처 문서, C++ API 참조, 새로운 유형의 Servable 또는 사용자 정의 Servable 버전 소스를 만드는 가이드를 안내합니다.
기여 지침은 저장소에서 확인할 수 있으며, 더 많은 정보를 위해 공식 TensorFlow 웹사이트를 참조합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.