Capacidades Mejoradas
Zylon admite capacidades adicionales que se pueden combinar con cualquier preset base o alternativo. Estas capacidades extienden la funcionalidad pero no están habilitadas por defecto.
Capacidades Disponibles
Agregar Capacidades
Las capacidades se agregan a los presets usando un formato separado por comas: <base_preset>,<capability1>,<capability2>
Ejemplos:
Las capacidades se pueden apilar con cualquier tipo de preset incluyendo presets base, alternativos y experimentales.
Configuración Multi-GPU
Si tu sistema tiene múltiples GPUs, puedes combinar su capacidad de memoria para usar presets de nivel superior. Selecciona el preset basado en VRAM total combinado en todas las GPUs.
Pasos de Configuración
- Calcula el VRAM total: Suma la memoria de todas las GPUs
- Selecciona el preset apropiado: Elige el preset para la memoria total
- Configura el conteo de GPU: Establece el parámetro
numGPUs
Ejemplo de Configuración:
Ejemplos de Configuración Multi-GPU
Mejores Prácticas Multi-GPU
- Asegúrate de que todas las GPUs sean del mismo modelo para un rendimiento óptimo
- Verifica un ancho de banda PCIe adecuado entre las GPUs
- Monitorea la utilización de GPU para asegurar una carga equilibrada
- Considera conexiones NVLink para mejor comunicación entre GPUs cuando esté disponible
Ejemplo Completo Multi-GPU:
Configuración de Memoria Compartida
El Servidor de Inferencia Triton usa memoria compartida para habilitar transferencia de datos sin copia entre los servicios de Zylon y el motor de inferencia. Esto elimina la sobrecarga de serialización y mejora significativamente el rendimiento de inferencia y reduce la latencia para cargas de trabajo de alto volumen.
Asignación por Defecto
Por defecto, el servidor de inferencia asigna 2GB de RAM para memoria compartida. Esto es suficiente para la mayoría de las cargas de trabajo de inferencia basadas en texto.
Cuándo Aumentar la Memoria Compartida
Puedes encontrar errores de Shared memory allocation failed en estos escenarios:
- Colas de solicitudes grandes: Procesar grandes volúmenes de solicitudes concurrentes donde la entrada en cola excede la memoria compartida disponible
- Modelos basados en imágenes: Cargas de trabajo de visión que requieren múltiples megabytes por imagen donde lotes de imágenes de alta resolución agotan rápidamente la asignación por defecto
- Procesamiento de documentos grandes: Manejar documentos muy grandes o múltiples documentos simultáneamente
Configuración
Para aumentar el límite de memoria compartida, actualiza tu archivo de configuración de Zylon:
Memoria Compartida Recomendada por Caso de Uso
Consideraciones importantes al aumentar la memoria compartida:
- Asignar memoria compartida excesiva puede causar que los pods sean OOMKilled
- Sé conservador con los aumentos—comienza con incrementos pequeños (ej., 2Gi → 4Gi)
- Monitorea el uso real con métricas de Kubernetes antes de aumentos adicionales
- La memoria compartida se reserva de la RAM del sistema, reduciendo la memoria disponible para otros procesos