Servidor de Inferencia NVIDIA® Triton (anteriormente conocido como Servidor de Inferencia NVIDIA TensorRT) simplifica la implementación de modelos de IA a escala en la etapa de producción. Es un software de servicio de inferencia de código abierto que permite a los equipos implementar modelos de IA entrenados desde cualquier framework (TensorFlow, TensorRT, PyTorch, ONNX Runtime o un framework personalizado), desde el almacenamiento local, Google Cloud Platform o AWS S3 en cualquier infraestructura basada en GPU o CPU (cloud, data center o edge).

Guía del Usuario de Triton      Contenedor Triton de NGC     Triton en GitHub


Compatibilidad con Diversos Frameworks

El Servidor de Inferencia Triton es compatible con todos los frameworks principales como TensorFlow, TensorRT, PyTorch, ONNX Runtime e incluso backend de framework personalizado. Brinda a los investigadores de IA y científicos de datos la libertad de elegir el framework adecuado.

Inferencia de Alto Rendimiento

Ejecuta modelos simultáneamente en GPU maximizando la utilización, admite inferencias basadas en CPU y ofrece funciones avanzadas como conjuntos de modelos e inferencias de streaming. Ayuda a los desarrolladores a lanzar los modelos a producción rápidamente.

Diseñado para los Equipos de TI y DevOps

Está disponible como contenedor de Docker y se integra con Kubernetes para la organización y la escalabilidad, es parte de Kubeflow y exporta métricas de Prometheus para llevar a cabo el monitoreo. Ayuda a los Equipos de TI y DevOps a optimizar la implementación del modelo en producción.


Implementación de Modelos Simplificada

El Servidor de Inferencia NVIDIA Triton puede cargar modelos desde el almacenamiento local o desde Google Cloud Platform o AWS S3. Como los modelos se vuelven a entrenar continuamente con nuevos datos, los desarrolladores pueden actualizar fácilmente los modelos sin reiniciar el servidor de inferencia y sin interrumpir el funcionamiento de la aplicación.

El Servidor de Inferencia Triton ejecuta varios modelos desde el mismo o diferentes frameworks en simultáneo con una sola GPU gracias al CUDA Streams. En un servidor de múltiples GPU, crea automáticamente una instancia de cada modelo en cada GPU. Todo esto aumenta la utilización de la GPU sin que el usuario tenga que realizar ninguna codificación adicional.

El servidor de inferencia admite inferencias en tiempo real de baja latencia e inferencias por lotes para maximizar la utilización de GPU/CPU. También tiene incluye compatibilidad incorporada para entrada de streaming de audio para la inferencia de streaming.

Los usuarios pueden utilizar el soporte de memoria compartida para lograr un mayor rendimiento. Las entradas y salidas necesarias para pasar hacia y desde el Servidor de Inferencia Triton se almacenan en la memoria compartida de CURA o el sistema. Esto reduce la sobrecarga de HTTP/gRPC, lo que aumenta el rendimiento general.

También es compatible con el conjunto de modelos. Ensemble es un proceso de uno o más modelos y la conexión de tensores de entrada y salida entre esos modelos (se puede usar con un backend personalizado) para implementar una secuencia de modelos para pre y posprocesamiento o para casos de uso como la IA conversacional que requieren múltiples modelos para realizar inferencias integrales.


Diseñado para la Escalabilidad

También disponible como contenedor Docker, el Servidor de Inferencia Triton se integra con Kubernetes para la organización, métricas y la escalabilidad automática. Triton también se integra con los procesos de Kubeflow y Kubeflow para lograr un workflow de IA integral. El Servidor de Inferencia Triton exporta métricas de Prometheus para monitorear la utilización de la GPU, la latencia, el uso de memoria y el rendimiento de la inferencia. Es compatible con la interfaz HTTP/gRPC estándar para conectarse con otras aplicaciones como equilibradores de carga. Además, puede escalar fácilmente a cualquier cantidad de servidores para manejar cargas de inferencia crecientes para cualquier modelo. El escalado de pods de Kubernetes puede usar las métricas expuestas para escalar hacia arriba o hacia abajo las instancias del Servidor de Inferencia de Triton, con el objetivo de manejar la demanda de inferencia cambiante.

El Servidor de Inferencia Triton puede servir decenas o cientos de modelos a través de la API de control de modelos. Los modelos se pueden cargar y descargar explícitamente dentro y fuera del servidor de inferencia en función de los cambios realizados en la configuración de control del modelo para que quepan en la memoria de la GPU o CPU.

El Servidor de Inferencia Triton también se puede utilizar para servir modelos en CPU. La compatibilidad con un clúster heterogéneo con GPU y CPU ayuda a estandarizar la inferencia entre plataformas y ayuda a escalar dinámicamente a cualquier CPU o GPU para manejar cargas máximas.

El Servidor de Inferencia Triton se puede utilizar para implementar modelos en el cloud, el data center o el edge. Su código fuente abierto también se puede personalizar para entornos sin contenedores.


Presentamos Triton 2.3


Las características incluyen:

  • Nuevos protocolos comunitarios gRPC y HTTP/REST estándar de KFServing
    • Triton es el primer software de servicio de inferencia que adopta los nuevos protocolos de la comunidad GRPC y los protocolos v2 HTTP/REST del plano de datos de KFServing. Con esta nueva integración, los usuarios ahora pueden implementar fácilmente inferencias sin servidor con Triton en Kubernetes. Ejemplo de inferencia de BERT con Triton en KFServing.
  • Compatibilidad con las últimas versiones de backends de framework
    • TensorRT 7.1, TensorFlow 2.2, PyTorch 1.6, ONNX Runtime 1.4
  • Backend Personalizado de Python
    • El nuevo backend personalizado de Python permite que cualquier código de Python arbitrario (casos de uso de ejemplo: pre y posprocesamiento) se ejecute dentro de Triton
  • Compatibilidad con A100, MIG
    • La inferencia con Triton en la GPU A100 proporciona un rendimiento más alto que la V100. Los usuarios también pueden utilizar Triton para realizar inferencias en instancias MIG individuales con rendimiento y aislamiento de fallas.
  • Servicio de inferencia desacoplado
    • El modo desacoplado permite a Triton activar un modelo una vez que se reciben suficientes entradas, pero no todas. Esta característica, disponible para los backends personalizados de C/C ++, es útil para casos de uso como el reconocimiento de voz y la síntesis.
  • Analizador de Modelos Triton: colección de herramientas para caracterizar el rendimiento del modelo y la huella de memoria para lograr un servicio eficiente.
    • El perf_client de Triton, ahora perf_analyzer, ayuda a caracterizar el rendimiento y la latencia de un modelo para varios tamaños de lote y solicitar valores de simultaneidad.
    • Una nueva funcionalidad de analizador de memoria ayuda a caracterizar la huella de memoria de un modelo para varios tamaños de lote y solicitar valores de concurrencia.
  • Integración con Azure Machine Learning
    • Los usuarios de Azure Machine Learning ahora pueden usar Triton para servir sus modelos. Lee este blog de Microsoft para obtener más información sobre esta integración y cómo usar Triton en Azure Machine Learning.
  • Integración con DeepStream 5.0
    • Triton está integrado de forma nativa en DeepStream 5.0 para admitir múltiples frameworks de deep learning para realizar el análisis de streaming de multisensores basado en IA.

Lee el blog para obtener más información sobre las características de la versión 2.3.

Descarga el contenedor 2.3 de NGC, accede al código fuente abierto en GitHub.



Recursos

Documentación

NGC

GitHub



Comienza a usar NVIDIA Triton Inference Server con esta Guía de inicio rápido.


Guía de Usuario de Triton