El component Pusher a TensorFlow Extended (TFX) és una part fonamental del pipeline TFX que gestiona el desplegament de models entrenats a diversos entorns objectiu. Els objectius de desplegament del component Pusher a TFX són diversos i flexibles, cosa que permet als usuaris desplegar els seus models a diferents plataformes en funció dels seus requisits específics. En aquesta resposta, explorarem alguns dels objectius de desplegament habituals del component Pusher i oferirem una explicació completa de cadascun.
1. Desplegament local:
El component Pusher admet el desplegament local, que permet als usuaris desplegar els seus models entrenats a la màquina local. Això és útil per a proves i desenvolupament, on el model es pot desplegar i avaluar sense necessitat d'un sistema distribuït o d'una infraestructura externa. El desplegament local s'aconsegueix simplement especificant el camí local on s'emmagatzemen els artefactes del model.
Exemple:
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:
El component Pusher també admet el desplegament a Google Cloud AI Platform, un servei gestionat que proporciona un entorn sense servidor per executar models d'aprenentatge automàtic. Això permet als usuaris desplegar fàcilment els seus models al núvol i aprofitar l'escalabilitat i la fiabilitat que ofereix Google Cloud. Per implementar a Google Cloud AI Platform, els usuaris han de proporcionar l'identificador del projecte, el nom del model i el nom de la versió.
Exemple:
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. Servei de TensorFlow:
TensorFlow Serving és un sistema de servei de codi obert per desplegar models d'aprenentatge automàtic. El component Pusher de TFX admet el desplegament a TensorFlow Serving, cosa que permet als usuaris desplegar els seus models a una infraestructura de servei distribuït. Això permet oferir un model escalable i d'alt rendiment, cosa que el fa adequat per a desplegaments de producció. Per implementar a TensorFlow Serving, els usuaris han de proporcionar l'adreça i el port del servidor del model de TensorFlow Serving.
Exemple:
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. Altres objectius de desplegament personalitzats:
El component Pusher de TFX està dissenyat per ser extensible, cosa que permet als usuaris definir els seus propis objectius de desplegament personalitzats. Això ofereix als usuaris la flexibilitat per desplegar els seus models a qualsevol entorn o sistema que pugui consumir models TensorFlow. Els usuaris poden implementar la seva pròpia subclasse personalitzada "PushDestination" i registrar-la amb el component Pusher per permetre el desplegament al seu entorn objectiu.
Exemple:
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') )
El component Pusher de TFX admet diversos objectius de desplegament, com ara el desplegament local, Google Cloud AI Platform, TensorFlow Serving i objectius de desplegament personalitzats. Aquesta flexibilitat permet als usuaris desplegar els seus models entrenats a diferents entorns segons les seves necessitats específiques i la configuració de la infraestructura.
Altres preguntes i respostes recents sobre Processament distribuït i components:
- Quin és l'objectiu del component Avaluador a TFX?
- Quins són els dos tipus de SavedModels que genera el component Trainer?
- Com garanteix el component Transform la coherència entre els entorns de formació i de servei?
- Quin és el paper d'Apache Beam al marc TFX?