Bing améliore considérablement son expérience de recherche grâce aux GPU Azure

Publié le 18 novembre, 2019

Program Manager, Bing Platform

Au cours des dernières années, le Deep Learning a été largement adopté dans la pile de recherche Bing et alimente un grand nombre de nos fonctionnalités intelligentes. Nous utilisons des modèles de langage naturel pour mieux comprendre l’algorithme de recherche de base en lien avec les intentions de recherche des utilisateurs, ainsi que les pages web connexes pour permettre à Bing de proposer les résultats de recherche les plus pertinents. Nous nous appuyons sur des techniques de vision par ordinateur Deep Learning afin d'améliorer la découvertibilité de milliards d’images, même dépourvues de descriptions textuelles ou de métadonnées récapitulatives. Nous utilisons des modèles de compréhension de lecture basés sur des machines pour récupérer des légendes dans de plus grands corps de texte répondant directement aux questions spécifiques des utilisateurs. Toutes ces améliorations permettent d'obtenir des résultats plus pertinents et contextuels pour les requêtes de recherche web.

La compréhension du langage naturel a récemment connu une belle avancée, avec un type de modèle appelé « transformers », tels que ceux popularisés par BERT (Bidirectional Encoder Representations from Transformers). Contrairement aux précédentes architectures de réseau neuronal profond (DNN) qui traitaient les mots individuellement dans l’ordre, les transformers comprennent le contexte et la relation entre chaque mot, ainsi que tous les mots qui l’entourent dans une phrase. Depuis le mois d'avril, nous utilisons des modèles de transformers pour proposer d'importantes améliorations en termes de qualité à nos clients Bing. Par exemple, dans la requête « ce qui peut aggraver une commotion », le mot « aggraver » indique que l'utilisateur souhaite en savoir plus sur les mesures à prendre en cas de commotion, et pas sur les causes ou les symptômes. Optimisée par ces modèles, notre recherche peut désormais comprendre l'intention de l'utilisateur et proposer un résultat plus utile. En outre, ces modèles sont maintenant appliqués à toutes les requêtes de recherche Bing, ce qui rend les résultats Bing plus pertinents et intelligents.

rankBERTblogbeforeafter

À l'échelle de la recherche web, le coût du Deep Learning peut s'avérer prohibitif

Les clients Bing s'attendent à une expérience de recherche extrêmement rapide et chaque milliseconde de latence compte.  Les modèles basés sur transformers sont préformés avec des milliards de paramètres, ce qui constitue une nette augmentation de la taille des paramètres et des besoins en calcul par rapport aux architectures réseau précédentes. Un modèle BERT distillé à trois couches traitant la latence sur vingt cœurs de processeur a été initialement évalué à 77 ms par inférence. Toutefois, ces modèles devant traiter des millions de requêtes et d'extraits de code différents par seconde à des fins de recherche sur le web, même 77 ms par inférence restent prohibitifs à l'échelle du web, nécessitant des dizaines de milliers de serveurs pour une seule amélioration de recherche.

Optimisation du modèle BERT

Exploiter les GPU des machines virtuelles Azure pour atteindre un débit d'inférence 800x

Les transformers sont très différents des précédentes architectures DNN en ce sens qu'ils s'appuient sur un calcul massivement parallèle plutôt que sur un traitement séquentiel. L’architecture GPU (processeur graphique) ayant été conçue pour le calcul parallèle à haut débit, les machines virtuelles de la série N avec accélérateurs GPU se sont naturellement imposées pour accélérer ces modèles de transformer. Nous avons décidé de commencer par la machine virtuelle NV6, principalement en raison de son coût réduit et de sa disponibilité régionale.  En exécutant simplement le modèle BERT à trois couches sur cette machine virtuelle avec GPU, nous avons observé une latence de service de 20 ms (soit une amélioration 3x). Pour un traitement encore plus efficace, nous avons travaillé en partenariat avec NVIDIA afin de tirer pleinement parti de l’architecture GPU, et avons réimplémenté l’ensemble du modèle à l’aide des API TensorRT C++ et des bibliothèques CUDA ou CUBLAS, notamment en réécrivant les couches d’incorporation, de transformation et de sortie.  NVIDIA a également contribué au développement de plug-ins de transformation CUDA (softmax, GELU, normalisation et réduction notamment).

Nous avons testé le modèle GPU optimisé avec TensorRT sur la même machine virtuelle Azure NV6 et avons pu traiter un lot de quatre inférences en 9 ms, obtenir une accélération de la latence de 8x et une amélioration du débit de 34x par rapport au modèle sans accélération GPU. Nous avons ensuite exploité les cœurs Tensor avec une précision mixte sur une machine virtuelle NC6s_v3 afin d'optimiser encore plus les performances, en analysant une taille de lot de 64 inférences à 6 ms (amélioration du débit de 800x par rapport au processeur).

Transformation de l’expérience de recherche Bing dans le monde entier à l’aide de la mise à l’échelle mondiale Azure

Grâce à ces optimisations GPU, nous avons pu utiliser plus de 2 000 machines virtuelles GPU Azure dans quatre régions afin de traiter plus d'un million d'inférences BERT par seconde à travers le monde. Les machines virtuelles Azure avec GPU de la série N sont essentielles pour activer des charges de travail IA et améliorer la qualité des produits pour Bing en termes de haute disponibilité, d'agilité et de coût, notamment face à la complexité croissante des modèles Deep Learning. Nous en avons conclu que même les grandes entreprises, telles que Bing, peuvent accélérer leurs charges de travail IA en utilisant les machines virtuelles de la série N sur Azure avec accélération GPU intégrée. Proposer à l'échelle mondiale une telle inférence IA sans GPU aurait nécessité un nombre exponentiellement plus élevé de machines virtuelles basées sur le processeur, ce qui se serait finalement avéré trop coûteux.  En outre, Azure offre aux clients l'agilité dont ils ont besoin pour déployer immédiatement plusieurs types de GPU, ce qui aurait nécessité des mois en cas d'installation de GPU en local.  Les machines virtuelles de la série N nous ont été indispensables afin d'optimiser et de proposer des modèles Deep Learning pour améliorer la recherche Bing désormais disponible à l'échelle mondiale.

Disponibilité générale de la série N

Azure propose un portefeuille complet de fonctionnalités de machines virtuelles à travers ses séries NC, ND et NV. Ces machines virtuelles répondent aux scénarios d’application pour lesquels l’accélération GPU est courante (charges de travail intensives en calculs, graphiques et visualisation, par exemple).

  • Les machines virtuelles de la série NC sont optimisées pour les applications nécessitant beaucoup de ressources réseau et de calculs.
  • Les machines virtuelles de la série ND sont optimisées pour les scénarios de formation et d'inférence à des fins de Deep Learning.
  • Les machines virtuelles de la série NV sont optimisées pour les scénarios de visualisation, diffusion en continu, gaming, encodage et VDI.

Consultez notre blog Supercomputing19 pour connaître les derniers ajouts apportés aux machines virtuelles des séries ND et NV.

En savoir plus

Rejoignez-nous sur Supercomputing19 pour en savoir plus sur notre parcours d’optimisation Bing, avec exploitation des GPU Azure.