Noticias
AMD Optimiza la Inferencia de BERT con Procesadores EPYC y ZenDNN
AMD informa ganancias de latencia de hasta 58.1% en la inferencia de BERT utilizando ZenDNN en procesadores EPYC, destacando mejoras significativas en el rendimiento.
Artículo traducido. Consultar el artículo original.
AMD ha revelado bancos de pruebas de rendimiento para la inferencia de CPU de baja latencia en sus procesadores EPYC, aprovechando las optimizaciones en su biblioteca ZenDNN y el complemento zentorch de PyTorch. Las pruebas, realizadas en 2026-09, se centraron en la inferencia de BERT-Base uncased utilizando la implementación de Hugging Face. Los resultados destacan ganancias significativas de latencia, especialmente al usar precisión BF16, con mejoras de hasta 58.1% en comparación con ONNX Runtime FP32.
Ganancias de Rendimiento a Través de Configuraciones
Las pruebas de AMD abarcaron dos configuraciones: un sistema bare-metal EPYC 9654 de 96 núcleos con NPS4 y una máquina virtual EPYC 9V74 de 80 núcleos con NPS5. En configuraciones 42, zentorch superó a ONNX Runtime en 83% de los casos, empató en 10% y estuvo detrás en 7% en la configuración bare-metal. En la máquina virtual, zentorch logró resultados similares, liderando en 83%, empatando en 7% y quedando atrás en 10% de configuraciones.
Para la precisión FP32, la ganancia promedio de latencia fue 9.7% en bare metal y 9.1% en la máquina virtual. La precisión BF16 entregó mejoras más sustanciales, con ganancias promedio de 47.3% y 46.1%, respectivamente. La ganancia de latencia más alta reportada ocurrió en la configuración BF16, logrando 58.1% en cuatro instancias, longitud de secuencia 128 y núcleos 16.
Técnicas Clave de Optimización
AMD atribuyó las mejoras de rendimiento a varias optimizaciones clave en ZenDNN y zentorch:
- Fusión de proyecciones de consulta, clave y valor en una única multiplicación de matrices, mejorando el rendimiento de una sola instancia en aproximadamente 7% para FP32 y 9% para BF16.
- Enfocando el producto punto escalado en la jerarquía de caché del procesador.
- API de operador de bajo overhead (LowOHA) con núcleos AOCL-DLP para reducir el overhead de creación de primitivos repetidos.
- Fijando instancias de inferencia a complejos de núcleo completos (CCDs) mientras se aísla el generador de carga fuera de esos CCDs.
Estas intervenciones redujeron el déficit de rendimiento multi-instancia en longitudes de secuencia más cortas. Por ejemplo, a una longitud de secuencia 32, el déficit se redujo de 21% a 7% por debajo de ONNX Runtime.
Implicaciones para Cargas de Trabajo de IA
Los bancos de pruebas demuestran el enfoque de AMD en optimizar la inferencia basada en CPU para cargas de trabajo de IA como ranking de búsqueda, clasificación y generación aumentada de recuperación. Aunque los resultados son reportados por el proveedor y basados en la metodología de ejecución mediana, brindan información valiosa sobre el potencial de los procesadores EPYC para tareas de inferencia de IA de pequeños lotes.