아키텍처 — 모델 로더와 서버 수명주기

아키텍처 — 모델 로더와 서버 수명주기

TensorFlow Serving이 "서버를 내리지 않고 새 모델로 교체"를 어떻게 하는지가 아키텍처의 핵심이에요. **버전 관리된 모델 수명주기(versioned model lifecycle)**가 그 비결입니다.

출처: https://www.tensorflow.org/tfx/serving/architecture

버전 관리된 수명주기

  • 각 모델은 버전 숫자로 구분돼요. export 시 /models/<name>/<version>/ 구조로 저장하면 서버가 새 버전을 자동으로 발견합니다.
  • ModelServer는 saved_model.pb(그래프·시그니처 메타데이터)와 variables(직렬화된 변수)를 로드해 서빙 상태로 올립니다.
  • 기본 설정에서 한 버전만 활성(serving) 이 되고, 새 버전이 로드되면 이전 버전은 언로드돼요.

gRPC 서빙

ModelServer는 새로 export된 모델을 발견하고, 이를 gRPC 서비스로 서빙합니다. 클라이언트는 gRPC(기본) 또는 REST로 예측을 요청합니다.

파일 구성

각 버전 하위 디렉터리에는:

  • saved_model.pb — 직렬화된 tensorflow::SavedModel(그래프 정의+시그니처 메타데이터).
  • variables — 그래프 직렬화 변수 파일.

더 알아보기

  • https://www.tensorflow.org/tfx/serving/api_docs/cc/ — C++ 서버 API
  • https://www.tensorflow.org/tfx/serving/serving_basic — 첫 서빙 실습