0Pricing
Learn AI with Python · Lección

Servicio de alto rendimiento con Triton Inference Server

Repositorio de modelos, model config.pbtxt, instancias de modelos simultáneas y batching dinámico.

Servicio de alto rendimiento con Triton Inference Server es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.

Qué es Triton

NVIDIA Triton Inference Server es un sistema de servicio listo para producción que aloja muchos modelos a la vez en CPU y GPU. Admite varios backends (TensorRT, ONNX, PyTorch, TensorFlow, Python) mediante una única API HTTP/gRPC, con procesamiento por lotes y concurrencia integrados.

El repositorio de modelos

Triton carga los modelos desde un repositorio de modelos: un directorio en el que cada modelo tiene su propia carpeta, una subcarpeta de versión numérica y un archivo config.pbtxt.

model_repository/
  resnet50/
    config.pbtxt
    1/
      model.onnx
  bert/
    config.pbtxt
    1/
      model.pt

config.pbtxt: backend

El archivo config.pbtxt describe cómo debe ejecutar Triton un modelo. El backend (o plataforma) indica a Triton qué entorno de ejecución debe usar.

name: "resnet50"
backend: "onnxruntime"
max_batch_size: 32

Tensores de entrada y salida

Debe declarar cada entrada y salida: su nombre, tipo de datos y dims del tensor (forma). Las formas deben coincidir con lo que espera el modelo. La dimensión de lote inicial está implícita en max_batch_size.

input [
  {
    name: "input"
    data_type: TYPE_FP32
    dims: [ 3, 224, 224 ]
  }
]
output [
  {
    name: "output"
    data_type: TYPE_FP32
    dims: [ 1000 ]
  }
]

Tipos de datos

Triton utiliza tipos de datos de tensor explícitos para que los clientes y el modelo coincidan en la disposición de bytes:

  • TYPE_FP32 coma flotante de 32 bits (habitual en imágenes)
  • TYPE_FP16 precisión media (más rápida en GPU)
  • TYPE_INT64 identificadores de tokens para PLN
  • TYPE_INT8 modelos cuantizados

Procesamiento dinámico por lotes: la idea

El procesamiento dinámico por lotes permite que Triton combine varias solicitudes entrantes en un lote más grande antes de ejecutar el modelo. Las GPU son mucho más eficientes con lotes grandes, por lo que esto aumenta considerablemente el rendimiento sin cambiar el código del cliente.

Configurar el procesamiento dinámico por lotes

Se habilita en la configuración y se establece cuánto tiempo espera Triton para reunir solicitudes. Un valor pequeño de max_queue_delay_microseconds intercambia un poco de latencia por un rendimiento mucho mayor.

dynamic_batching {
  preferred_batch_size: [ 8, 16 ]
  max_queue_delay_microseconds: 1000
}

Instancias de modelo simultáneas

De forma predeterminada, Triton ejecuta una copia (instancia) de un modelo. Con instance_group puede ejecutar varias instancias en paralelo en una o más GPU, procesando solicitudes independientes simultáneamente y mejorando el aprovechamiento.

instance_group [
  {
    count: 2
    kind: KIND_GPU
    gpus: [ 0 ]
  }
]

Procesamiento por lotes frente a concurrencia

Resuelven problemas diferentes:

  • Procesamiento dinámico por lotes fusiona solicitudes en una única llamada al modelo (rendimiento por llamada)
  • Instancias simultáneas ejecutan varias llamadas al modelo a la vez (paralelismo)

Son técnicas complementarias; las configuraciones de producción suelen utilizar ambas.

perf_analyzer

perf_analyzer es una herramienta de Triton que carga el servidor con solicitudes sintéticas e informa del rendimiento (inferencias por segundo) y de los percentiles de latencia. Úsela para encontrar la configuración de lote y concurrencia que maximice el rendimiento dentro de su presupuesto de latencia.

perf_analyzer -m resnet50 \
  --concurrency-range 1:8 \
  --percentile 95

Leer el resultado de perf_analyzer

La herramienta recorre distintos niveles de concurrencia e imprime el rendimiento y la latencia de cada uno. Debe buscar el punto de inflexión de la curva: el punto en el que aumentar la concurrencia deja de mejorar el rendimiento o hace que la latencia P95 supere su límite.

# Concurrency: 4, throughput: 1820 infer/sec, p95 latency: 9.1 ms
# Concurrency: 8, throughput: 1905 infer/sec, p95 latency: 17.4 ms

Comprobación rápida

Compruebe cuánto sabe sobre Triton.

Resumen

Ha aprendido a ofrecer servicios de alto rendimiento con Triton:

  • Repositorio de modelos: carpetas por modelo con subdirectorios de versión y config.pbtxt
  • config.pbtxt declara el backend, las formas de los tensores de entrada y salida y los tipos de datos
  • El procesamiento dinámico por lotes aumenta el rendimiento; las instancias simultáneas añaden paralelismo
  • perf_analyzer compara rendimiento y latencia para ajustar la configuración

Preguntas frecuentes

¿La lección «Servicio de alto rendimiento con Triton Inference Server» es gratis?

Sí — el texto completo de «Servicio de alto rendimiento con Triton Inference Server» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.

¿Qué aprenderé en «Servicio de alto rendimiento con Triton Inference Server»?

Repositorio de modelos, model config.pbtxt, instancias de modelos simultáneas y batching dinámico. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Learn AI with Python?

No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Servicio de alto rendimiento con Triton Inference Server»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?

Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Contenerización de modelos de ML con Docker
  2. Despliegue en la nube: AWS SageMaker
  3. Servicio de alto rendimiento con Triton Inference Server
  4. Escalado y autoescalado de endpoints de modelos
← Volver a Learn AI with Python