TFX(TensorFlow Extended)의 Pusher 구성 요소는 학습된 모델을 다양한 대상 환경에 배포하는 작업을 처리하는 TFX 파이프라인의 기본 부분입니다. TFX의 Pusher 구성 요소에 대한 배포 대상은 다양하고 유연하여 사용자가 특정 요구 사항에 따라 다른 플랫폼에 모델을 배포할 수 있습니다. 이 답변에서는 Pusher 구성 요소의 일반적인 배포 대상 중 일부를 살펴보고 각각에 대한 포괄적인 설명을 제공합니다.
1. 로컬 배포:
Pusher 구성 요소는 사용자가 학습된 모델을 로컬 시스템에 배포할 수 있는 로컬 배포를 지원합니다. 이는 분산 시스템이나 외부 인프라 없이도 모델을 배포하고 평가할 수 있는 테스트 및 개발 목적에 유용합니다. 모델 아티팩트가 저장되는 로컬 경로를 지정하기만 하면 로컬 배포가 수행됩니다.
예:
python pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=pusher_pb2.PushDestination( filesystem=pusher_pb2.PushDestination.Filesystem( base_directory='/path/to/local/deployment' ) ) )
2. 구글 클라우드 AI 플랫폼:
Pusher 구성요소는 머신러닝 모델 실행을 위한 서버리스 환경을 제공하는 관리형 서비스인 Google Cloud AI Platform에 대한 배포도 지원합니다. 이를 통해 사용자는 모델을 클라우드에 쉽게 배포하고 Google Cloud에서 제공하는 확장성과 안정성을 활용할 수 있습니다. Google Cloud AI Platform에 배포하려면 사용자가 프로젝트 ID, 모델 이름 및 버전 이름을 제공해야 합니다.
예:
python pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=pusher_pb2.PushDestination( ai_platform_push=pusher_pb2.PushDestination.AIPlatformPush( project_id='my-project', model_id='my-model', version_id='v1' ) ) )
3. TensorFlow 서빙:
TensorFlow Serving은 기계 학습 모델을 배포하기 위한 오픈 소스 제공 시스템입니다. TFX의 Pusher 구성요소는 TensorFlow Serving에 대한 배포를 지원하여 사용자가 모델을 분산 서비스 인프라에 배포할 수 있도록 합니다. 이를 통해 고성능의 확장 가능한 모델 제공이 가능하므로 프로덕션 배포에 적합합니다. TensorFlow Serving에 배포하려면 사용자는 TensorFlow Serving 모델 서버의 주소와 포트를 제공해야 합니다.
예:
python pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=pusher_pb2.PushDestination( tensorflow_serving=pusher_pb2.PushDestination.TensorFlowServing( tags=['serve'], server='localhost:8500' ) ) )
4. 기타 사용자 지정 배포 대상:
TFX의 Pusher 구성 요소는 확장 가능하도록 설계되어 사용자가 고유한 사용자 지정 배포 대상을 정의할 수 있습니다. 이를 통해 사용자는 TensorFlow 모델을 사용할 수 있는 모든 환경이나 시스템에 모델을 유연하게 배포할 수 있습니다. 사용자는 자신만의 맞춤형 `PushDestination` 하위 클래스를 구현하고 Pusher 구성 요소에 등록하여 대상 환경에 배포할 수 있습니다.
예:
python class MyCustomPushDestination(pusher_pb2.PushDestination): def __init__(self, my_custom_arg): self.my_custom_arg = my_custom_arg pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=MyCustomPushDestination(my_custom_arg='custom_value') )
TFX의 Pusher 구성요소는 로컬 배포, Google Cloud AI Platform, TensorFlow Serving 및 커스텀 배포 대상을 비롯한 다양한 배포 대상을 지원합니다. 이러한 유연성을 통해 사용자는 특정 요구 사항 및 인프라 설정에 따라 훈련된 모델을 다양한 환경에 배포할 수 있습니다.
기타 최근 질문 및 답변 분산 처리 및 구성 요소:
- TFX에서 Evaluator 구성요소의 용도는 무엇인가요?
- Trainer 구성 요소에서 생성되는 두 가지 유형의 저장된 모델은 무엇입니까?
- Transform 구성요소는 학습 환경과 제공 환경 간의 일관성을 어떻게 보장합니까?
- TFX 프레임워크에서 Apache Beam의 역할은 무엇인가요?
더 많은 질문과 답변:
- 들: 인공 지능
- 프로그램 : EITC/AI/TFF TensorFlow 기초 (인증 프로그램으로 이동)
- 교훈: 텐서플로우 확장(TFX) (관련 강의 바로가기)
- 주제 : 분산 처리 및 구성 요소 (관련 항목으로 이동)
- 심사 검토