Ang Pusher component sa TensorFlow Extended (TFX) ay isang pangunahing bahagi ng TFX pipeline na humahawak sa pag-deploy ng mga sinanay na modelo sa iba't ibang target na kapaligiran. Ang mga target sa pag-deploy para sa bahagi ng Pusher sa TFX ay magkakaiba at nababaluktot, na nagpapahintulot sa mga user na i-deploy ang kanilang mga modelo sa iba't ibang platform depende sa kanilang mga partikular na kinakailangan. Sa sagot na ito, tutuklasin namin ang ilan sa mga karaniwang target sa pag-deploy para sa bahagi ng Pusher at magbibigay ng komprehensibong paliwanag sa bawat isa.
1. Lokal na Deployment:
Sinusuportahan ng component ng Pusher ang lokal na deployment, na nagpapahintulot sa mga user na i-deploy ang kanilang mga sinanay na modelo sa lokal na makina. Ito ay kapaki-pakinabang para sa mga layunin ng pagsubok at pag-unlad, kung saan ang modelo ay maaaring i-deploy at suriin nang hindi nangangailangan ng isang distributed system o panlabas na imprastraktura. Ang lokal na pag-deploy ay nakakamit sa pamamagitan lamang ng pagtukoy sa lokal na landas kung saan naka-imbak ang mga artifact ng modelo.
Halimbawa:
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. Google Cloud AI Platform:
Sinusuportahan din ng bahagi ng Pusher ang pag-deploy sa Google Cloud AI Platform, isang pinamamahalaang serbisyo na nagbibigay ng walang server na kapaligiran para sa pagpapatakbo ng mga modelo ng machine learning. Nagbibigay-daan ito sa mga user na madaling i-deploy ang kanilang mga modelo sa cloud at samantalahin ang scalability at pagiging maaasahan na inaalok ng Google Cloud. Para ma-deploy sa Google Cloud AI Platform, kailangang ibigay ng mga user ang project ID, pangalan ng modelo, at pangalan ng bersyon.
Halimbawa:
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 Serving:
Ang TensorFlow Serving ay isang open-source na sistema ng paghahatid para sa pag-deploy ng mga modelo ng machine learning. Ang Pusher component sa TFX ay sumusuporta sa pag-deploy sa TensorFlow Serving, na nagpapahintulot sa mga user na i-deploy ang kanilang mga modelo sa isang distributed serving infrastructure. Nagbibigay-daan ito sa high-performance at scalable na paghahatid ng modelo, na ginagawa itong angkop para sa mga deployment ng produksyon. Upang i-deploy sa TensorFlow Serving, kailangang ibigay ng mga user ang address at port ng server ng modelong TensorFlow Serving.
Halimbawa:
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. Iba pang Mga Custom na Target sa Deployment:
Ang bahagi ng Pusher sa TFX ay idinisenyo upang mapalawak, na nagpapahintulot sa mga user na tukuyin ang kanilang sariling mga custom na target sa pag-deploy. Nagbibigay ito sa mga user ng flexibility na i-deploy ang kanilang mga modelo sa anumang kapaligiran o system na maaaring gumamit ng mga modelo ng TensorFlow. Maaaring ipatupad ng mga user ang kanilang sariling custom na `PushDestination` na subclass at irehistro ito sa bahagi ng Pusher upang paganahin ang pag-deploy sa kanilang target na kapaligiran.
Halimbawa:
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') )
Ang Pusher component sa TFX ay sumusuporta sa iba't ibang deployment target, kabilang ang lokal na deployment, Google Cloud AI Platform, TensorFlow Serving, at custom na deployment target. Ang kakayahang umangkop na ito ay nagbibigay-daan sa mga user na i-deploy ang kanilang mga sinanay na modelo sa iba't ibang kapaligiran depende sa kanilang mga partikular na pangangailangan at setup ng imprastraktura.
Iba pang kamakailang mga tanong at sagot tungkol sa Ipinamahagi ang pagpoproseso at mga bahagi:
- Ano ang layunin ng bahagi ng Evaluator sa TFX?
- Ano ang dalawang uri ng SavedModels na nabuo ng bahagi ng Trainer?
- Paano tinitiyak ng bahagi ng Transform ang pagkakapare-pareho sa pagitan ng pagsasanay at paghahatid ng mga kapaligiran?
- Ano ang papel ng Apache Beam sa TFX framework?