DL Boost est un nom commercial utilisé par Intel pour un ensemble de fonctionnalités de l'architecture du jeu d'instructions (ISA) sur la plateforme x86-64, conçu pour améliorer les performances des tâches de deep learning telles que l'entraînement et l'inférence. Ces fonctionnalités ont été introduites avec l'architecture Cascade Lake, qui a succédé à la gamme de processeurs serveurs Skylake-SP. DL Boost cible les charges de travail courantes dans les applications d'intelligence artificielle, notamment les réseaux neuronaux convolutifs et les modèles basés sur des transformeurs, en fournissant une accélération au niveau matériel pour des opérations mathématiques spécifiques.
Cette initiative reflète une tendance plus large parmi les fabricants de puces à ajouter des instructions spécialisées pour les charges de travail de machine learning, complétant les capacités de calcul généralistes. Intel a positionné DL Boost comme un moyen de réduire le coût et la latence de l'inférence et de l'entraînement de l'IA sur des serveurs x86 standard, sans nécessiter d'accélérateurs dédiés comme les GPU.
Fonctionnalités du jeu d'instructions
DL Boost se compose de deux ensembles principaux d'instructions. Le premier ensemble, AVX-512 VNNI (Vector Neural Network Instructions), également connu sous le nom de 4VNNIW ou AVX-VNNI, fournit des opérations rapides de multiplication-accumulation ciblant principalement les réseaux neuronaux qui reposent sur la convolution, comme les modèles de reconnaissance d'images. Ces instructions opèrent sur des vecteurs de 512 bits, permettant plusieurs opérations par cycle d'horloge.
Le deuxième ensemble, AVX-512 BF16, introduit le support du format à virgule flottante bfloat16, une représentation sur 16 bits qui conserve la plage d'exposant du float32 standard mais avec une précision de mantisse réduite. Ce format est conçu pour le calcul en précision réduite, ce qui peut accélérer l'entraînement et l'inférence tout en maintenant une précision de modèle acceptable. Les instructions incluent la conversion entre float32 et bfloat16, ainsi que des opérations de produit scalaire qui combinent efficacement plusieurs valeurs.
Les deux ensembles de fonctionnalités sont disponibles sur les processeurs Cascade Lake et les générations ultérieures, y compris Ice Lake et les produits serveurs et clients suivants. Les instructions sont exposées aux logiciels via le support standard des compilateurs et des environnements d'exécution, permettant à des frameworks comme TensorFlow et PyTorch de les exploiter automatiquement.
Performance et évaluation comparative
Un benchmark basé sur TensorFlow, exécuté sur Google Cloud Platform Compute Engine, a démontré que DL Boost peut améliorer les performances et réduire les coûts par rapport aux précédents processeurs Intel sans ces instructions. Le benchmark a montré des avantages particuliers pour les petites tailles de lots, courantes dans les scénarios d'inférence en temps réel où la latence importe plus que le débit.
Comparé aux GPU, le benchmark a indiqué que les processeurs équipés de DL Boost pouvaient offrir une efficacité de coût compétitive ou supérieure pour certaines charges de travail, surtout lorsque le modèle est petit ou que la taille du lot est limitée. Cela est dû au fait que les processeurs évitent les frais généraux de transfert de données entre des espaces mémoire séparés, requis lors de l'utilisation de GPU discrets. Les résultats ont été publiés dans un livre blanc d'Intel par Andres Rodrigues et ses collègues, intitulé « Lower Numerical Precision Deep Learning Inference and Training ».
Écosystème logiciel et adoption
Le support de DL Boost a été intégré dans les principaux frameworks de deep learning et les chaînes d'outils de compilation. La boîte à outils OpenVINO d'Intel et la bibliothèque oneAPI Deep Neural Network Library (oneDNN) fournissent des chemins optimisés pour ces instructions. Des frameworks tiers, y compris TensorFlow et PyTorch, ont ajouté un support backend pour AVX-512 VNNI et BF16, permettant aux développeurs d'en bénéficier sans modifier leurs modèles.
Le format bfloat16, initialement développé par Google Brain, a gagné une adoption plus large dans l'industrie, d'autres fournisseurs de matériel l'implémentant également. L'inclusion de BF16 dans DL Boost par Intel a aidé à standardiser ce format pour les plateformes x86, facilitant l'interopérabilité entre les systèmes d'entraînement et d'inférence.
Comparaison avec d'autres accélérateurs
DL Boost concurrence les accélérateurs d'IA dédiés tels que AWS Trainium, les processeurs de streaming tensoriel de Groq et les IPU de Graphcore. Contrairement à ces puces spécialisées, DL Boost opère dans le processeur généraliste, évitant le besoin de matériel supplémentaire ou d'intégration système complexe. Cela le rend attrayant pour les centres de données existants qui exécutent déjà des serveurs x86.
Cependant, pour l'entraînement à grande échelle de grands modèles de langage, les accélérateurs dédiés offrent généralement un débit brut et une bande passante mémoire supérieurs. DL Boost est plus couramment utilisé pour l'inférence et pour des tâches d'entraînement plus petites où la flexibilité d'un processeur est avantageuse. Le compromis entre précision et vitesse est géré via le format bfloat16, qui réduit l'utilisation de la mémoire et le temps de calcul tout en préservant la qualité du modèle dans de nombreux cas.
Orientations futures
Intel a continué à faire évoluer DL Boost dans les générations suivantes de processeurs, ajoutant des instructions plus avancées et améliorant le support des charges de travail d'IA émergentes. L'entreprise a également intégré DL Boost avec ses processeurs Xeon Scalable, largement déployés dans les environnements cloud. Alors que les modèles d'IA deviennent plus complexes, le rôle de l'accélération basée sur processeur reste significatif, en particulier pour l'informatique de périphérie et les applications en temps réel où l'efficacité énergétique et la faible latence sont critiques.
Cette approche reflète les efforts d'autres fournisseurs x86, tels que les extensions d'instructions similaires d'AMD, et reflète une tendance industrielle plus large vers l'informatique hétérogène. DL Boost fait partie de la stratégie d'Intel pour maintenir sa pertinence sur le marché du matériel d'IA, de plus en plus dominé par des accélérateurs spécialisés de sociétés comme NVIDIA et Qualcomm.