Optimisation de l’inférence BERT sur CPU : astuces avancées
Explore l'optimisation des modèles BERT sur CPU modernes grâce aux outils Intel. Performances jusqu'à 75 % plus rapides.
L’informatique évolue à une vitesse fulgurante, et avec elle, les performances des unités centrales de traitement centralisées (‘CPU’). En avril dernier, Intel lançait sa dernière génération de processeurs Xeon, Ice Lake, capables de réaliser des inférences jusqu’à 75 % plus rapidement que la génération précédente Cascade Lake, sur une variété de tâches NLP. Ceci est rendu possible grâce à une combinaison d’améliorations matérielles et logicielles, comme les nouvelles instructions et le PCIe 4.0 intégrés dans l’architecture Sunny Cove.
Améliorations logicielles pour des performances accrues
Intel n’a pas seulement misé sur le matériel. L’optimisation logicielle a également bénéficié d’innovations majeures. Des extensions pour Scikit Learn, TensorFlow et PyTorch offrent des versions spécifiques optimisées pour les CPU Intel. Ces optimisations permettent une exploitation maximale des capacités des CPU, grâce à des opérations mathématiques hautement optimisées comme celles offertes par BLAS.
Le rôle des libérations sous l’égide de oneAPI
Sous l’égide de oneAPI d’Intel, des bibliothèques comme oneMKL et oneDNN sont intégrées nativement dans des frameworks tels que PyTorch et TensorFlow, permettant des optimisations prêtes à l’emploi. Ainsi, même les ingénieurs les moins familiers avec les arcanes du matériel peuvent bénéficier de l’efficacité accrue de ces bibliothèques.
« Exploiter pleinement les fonctionnalités d’Intel via des librairies spécialisées, c’est rendre accessible l’optimisation à tous les ingénieurs. »
Intégration de oneAPI dans les frameworks
Allocation mémoire et gestion
La gestion de la mémoire est un défi majeur pour les frameworks de deep learning. Des solutions comme jemalloc, mimalloc et tcmalloc optimisent l’allocation et la gestion de la mémoire, réduisant à la fois la vitesse et la fragmentation. Ces innovations permettent de traiter efficacement des volumes de données massifs, éléments clés dans l’inférence des modèles BERT.
Parallelisation efficace des calculs
Les CPUs modernes, riches en cœurs, facilitent la parallélisation des calculs. Pourtant, bien lancer des algorithmes parallèles nécessite une synchronisation fine des accès aux données, afin d’éviter les invalidations de caches CPU. Intel, via des frameworks comme oneTBB, démocratise l’accès à la parallélisation efficace, transformant un défi en opportunité.
Les optimisations d’Intel, tant matérielles que logicielles, transforment l’inférence sur CPU en une option viable pour les tâches NLP. Avec jusqu’à 75 % d’amélioration des performances, les CPU peuvent désormais rivaliser avec les GPU pour ces charges de travail.
Avec Intel menant la danse dans l’optimisation des inferérences AI sur CPU, le débat entre CPU et GPU se nuance. Les améliorations telles que celles vues avec la génération Ice Lake repositionnent le CPU comme un acteur clé, non pas comme un support secondaire. La frontière entre hardware et software s’estompe, promettant un avenir où chaque calcul compte.