Saltar al contenido principal

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

CapacidadDescripciónCasos de Uso de Ejemplo
multilingualSoporte mejorado para idiomas más allá del inglésDocumentos internacionales, procesamiento de contenido no inglés

Agregar Capacidades

Las capacidades se agregan a los presets usando un formato separado por comas: <base_preset>,<capability1>,<capability2> Ejemplos:
# Preset base con capacidad multilingüe
ai:
  preset: "baseline-24g,capabilities.multilingual"

# Preset alternativo con capacidad multilingüe
ai:
  preset: "alternatives.baseline-48g-context,capabilities.multilingual"

# Múltiples capacidades (si más están disponibles)
ai:
  preset: "baseline-48g,capabilities.multilingual,capabilities.feature2"
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

  1. Calcula el VRAM total: Suma la memoria de todas las GPUs
  2. Selecciona el preset apropiado: Elige el preset para la memoria total
  3. Configura el conteo de GPU: Establece el parámetro numGPUs
Ejemplo de Configuración:
ai:
  preset: "baseline-48g"
  numGPUs: 2  # Usando 2 GPUs con 24GB cada una (48GB total)

Ejemplos de Configuración Multi-GPU

Configuración de HardwareMemoria GPU IndividualVRAM TotalPreset RecomendadoConfiguración
2x RTX 409024GB cada una48GBbaseline-48gnumGPUs: 2
2x L424GB cada una48GBbaseline-48gnumGPUs: 2
4x RTX 409024GB cada una96GBbaseline-96gnumGPUs: 4
2x RTX A600048GB cada una96GBbaseline-96gnumGPUs: 2

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:
ai:
  preset: "baseline-96g,capabilities.multilingual"
  numGPUs: 4  # 4x RTX 4090 (24GB cada una = 96GB total)

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:
triton:
  sharedMemory:
    limit: "4Gi"  # Aumentar desde el defecto 2Gi

Memoria Compartida Recomendada por Caso de Uso

Caso de UsoLímite RecomendadoRazón
Inferencia solo texto2Gi (defecto)Suficiente para la mayoría de cargas de trabajo de texto
Tareas de visión de bajo volumen4GiManeja procesamiento ocasional de imágenes
Tareas de visión de alto volumen8GiSoporta procesamiento por lotes de imágenes
Cargas de trabajo mixtas pesadas8-16GiAcomoda texto y visión concurrentes
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