AMD Optimise l'Inference BERT avec les Processeurs EPYC et ZenDNN
AMD a dévoilé des benchmarks de performance pour l'inférence CPU à faible latence sur ses processeurs EPYC, tirant parti des optimisations de sa bibliothèque ZenDNN et du plugin zentorch PyTorch. Les tests, réalisés en 2026-09, se sont concentrés sur l'inférence BERT-Base uncased utilisant l'implémentation de Hugging Face. Les résultats mettent en évidence des gains de latence significatifs, notamment lors de l'utilisation de la précision BF16, avec des améliorations atteignant jusqu'à 58.1% par rapport à ONNX Runtime FP32.
Gains de Performance à Travers les Configurations
Les tests d'AMD ont couvert deux configurations : un système bare-metal EPYC 9654 de 96 cœurs avec NPS4 et une machine virtuelle EPYC 9V74 de 80 cœurs avec NPS5. Dans les configurations 42, zentorch a surpassé ONNX Runtime dans 83% des cas, était à égalité dans 10% et a été en retard dans 7% dans la configuration bare-metal. Dans la machine virtuelle, zentorch a obtenu des résultats similaires, menant dans 83%, égalisant dans 7% et étant en retard dans 10% des configurations.
Pour la précision FP32, le gain de latence moyen était de 9.7% sur bare metal et de 9.1% dans la machine virtuelle. La précision BF16 a offert des améliorations plus substantielles, avec des gains moyens de 47.3% et 46.1% respectivement. Le plus haut gain de latence signalé s'est produit dans la configuration BF16, atteignant 58.1% dans quatre cas, longueur de séquence 128 et cœurs 16.
Techniques Clés d'Optimisation
AMD a attribué les améliorations de performance à plusieurs optimisations clés dans ZenDNN et zentorch :
- Fusion des projections de requête, clé et valeur en une seule multiplication de matrice, améliorant les performances d'une seule instance d'environ 7% pour FP32 et 9% pour BF16.
- Découpage de l'attention par produit pointé à l'échelle de la hiérarchie de cache du processeur.
- API d'opérateur à faible coût (LowOHA) avec des noyaux AOCL-DLP pour réduire les frais généraux de création répétée de primitives.
- Fixation des instances d'inférence aux Die de Complexe de Cœur complets (CCDs) tout en isolant le générateur de charge à l'extérieur de ces dies.
Ces interventions ont réduit le déficit de performance multi-instances à des longueurs de séquence plus courtes. Par exemple, à une longueur de séquence de 32, le déficit a été réduit de 21% à 7% en dessous de ONNX Runtime.
Implications pour les Charges de Travail IA
Les benchmarks démontrent l'objectif d'AMD d'optimiser l'inférence basée sur CPU pour les charges de travail IA telles que le classement par recherche, la classification et le repositionnement par génération augmentée. Bien que les résultats soient rapportés par le fournisseur et basés sur une méthodologie de course médiane, ils offrent des aperçus précieux sur le potentiel des processeurs EPYC pour des tâches d'inférence IA en petites séries.