Sobre el proyecto
TensorFlow Serving es un sistema de servicio para modelos de machine learning, diseñado para entornos de producción. Se centra en la etapa de inferencia: tomar modelos entrenados, gestionar sus ciclos de vida y proporcionar a los clientes acceso versionado a través de una tabla de búsqueda de alto rendimiento con conteo de referencias. Aunque se integra directamente con modelos de TensorFlow, su arquitectura permite la extensión a otros tipos de modelos y datos.
Las capacidades clave descritas en el README incluyen:
- Servir múltiples modelos, o múltiples versiones del mismo modelo, simultáneamente.
- Exponer endpoints de inferencia tanto gRPC como HTTP.
- Implementar nuevas versiones de modelos sin cambiar el código del cliente.
- Soportar canary de nuevas versiones y pruebas A/B de modelos experimentales.
- Añadir latencia mínima debido a una implementación de bajo overhead.
- Un programador que agrupa solicitudes de inferencia individuales en lotes para ejecución conjunta en GPU, con controles de latencia configurables.
- Soporte para muchos servables: modelos de TensorFlow, embeddings, vocabularios, transformaciones de características e incluso modelos de machine learning que no se basan en TensorFlow.
El README proporciona un ejemplo de inicio rápido usando Docker: extraer la imagen tensorflow/serving, clonar el repositorio, iniciar un contenedor con un modelo de demostración montado y consultar la API REST con una solicitud curl. También enlaza a un tutorial completo de entrenamiento y servicio en el sitio oficial de documentación de TensorFlow.
La documentación cubre opciones de configuración, incluyendo Docker (recomendado), instalación sin Docker, compilación desde el código fuente con Docker e implementación en Kubernetes. La guía de uso explica cómo exportar un modelo de TensorFlow como SavedModel, y luego configurar y usar TensorFlow Serving. Guías adicionales cubren rendimiento, perfilado con TensorBoard, la API REST, la definición de la API gRPC, warmup de SavedModel, SignatureDefs y servicio de modelos con operaciones personalizadas.
Para la extensión, el README señala que la arquitectura es altamente modular, permitiendo que partes como la programación de lotes se usen individualmente o se extiendan para nuevos casos de uso. Apunta a la documentación de arquitectura, la referencia de la API C++ y guías para crear un nuevo tipo de Servable o una fuente personalizada de versiones de Servable.
Las pautas de contribución están disponibles en el repositorio, y se hace referencia al sitio web oficial de TensorFlow para más información.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.