Erhebliche Verbesserung der Bing-Suche durch Verwendung von Azure-GPUs

Veröffentlicht am 18 November, 2019

Program Manager, Bing Platform

Im Laufe der letzten Jahre wurde Deep Learning in einen Großteil des Bing-Suchstapels integriert und kommt inzwischen bei einer Vielzahl unserer intelligenten Features zum Einsatz. Wir verwenden Modelle für natürliche Sprache, damit unser Kernsuchalgorithmus die Suchabsicht eines Benutzers und die zugehörigen Webseiten besser versteht und Bing unseren Benutzern die relevantesten Suchergebnisse liefern kann. Wir nutzen auf Deep Learning basierende Techniken für maschinelles Sehen, um die Auffindbarkeit von Milliarden von Bildern zu verbessern, auch wenn diese über keine Textbeschreibungen oder zusammenfassende Metadaten verfügen. Wir setzen computerbasierte Leseverständnismodelle ein, um Beschriftungen aus umfangreicheren Texten abzurufen, die die spezifischen Fragen von Benutzern direkt beantworten. Alle diese Verbesserungen führen zu relevanteren kontextbezogenen Ergebnissen für Websuchabfragen.

Beim Verständnis natürlicher Sprache wurde vor Kurzem mit einem Modelltyp namens „Transformatoren“ – bekannt geworden durch BERT (Bidirectional Encoder Representations from Transformers) – ein Durchbruch erzielt. Im Gegensatz zu früheren DNN-Architekturen (Deep Neural Network), bei denen Wörter einzeln nacheinander verarbeitet wurden, verstehen Transformatoren den Kontext und die Beziehung zwischen einem einzelnen Wort und allen umgebenden Wörtern in einem Satz. Seit April dieses Jahres haben wir umfangreiche Transformatormodelle eingesetzt, um unseren Bing-Kunden die deutlichsten Qualitätsverbesserungen des letzten Jahres zu bieten. Ein Beispiel: In der Abfrage „what can aggravate a concussion“ (Was kann eine Gehirnerschütterung verschlimmern?) deutet das Wort „aggravate“ (verschlimmern) darauf hin, dass der Benutzer nicht nach Ursachen oder Symptomen einer Gehirnerschütterung sucht, sondern nach Maßnahmen, die nach einer Gehirnerschütterung ergriffen werden können. Unsere auf diesen Modellen basierende Suche kann nun die Benutzerabsicht erkennen und ein hilfreicheres Ergebnis liefern. Die Modelle kommen nun zudem global bei jeder Bing-Suchabfrage zur Anwendung, was zu relevanteren und intelligenteren Bing-Ergebnissen führt.

rankBERTblogbeforeafter

Deep Learning für die Websuche unter Umständen zu aufwendig

Da Bing-Kunden eine äußerst schnelle Suche erwarten, zählt jede Millisekunde.  Auf Transformatoren basierende Modelle können vorab mit Milliarden von Parametern trainiert werden – eine beachtliche Zunahme der Parametergröße und Rechenanforderungen im Vergleich zu früheren Netzwerkarchitekturen. Für die Bereitstellungswartezeit eines kompakten dreischichtigen BERT-Modells auf 20 CPU-Kernen wurde mithilfe eines Benchmarks zunächst ein Wert von 77 ms pro Rückschluss ermittelt. Bei der Websuche müssen diese Modelle jedoch für Millionen verschiedener Abfragen und Ausschnitte pro Sekunde ausgeführt werden, sodass selbst ein Wert von 77 ms pro Rückschluss zu hoch ist, da in diesem Fall zehntausende Server nötig wären, um eine einzige Suchverbesserung zu erreichen.

Optimierung des BERT-Modells

800x höherer Rückschlussdurchsatz durch GPUs virtueller Azure-Computer

Einer der Hauptunterschiede zwischen Transformatoren und älteren DNN-Architekturen besteht in der Nutzung von MPP (Massive Parallel Processing) anstelle einer sequenziellen Verarbeitung. Da die Architektur von Grafikprozessoren (Graphics Processing Units, GPUs) auf paralleles Computing mit hohem Durchsatz ausgelegt ist, sind die virtuellen Azure-Computer der N-Serie mit integrierten GPU-Beschleunigern wie geschaffen für die Beschleunigung dieser Transformatormodelle. Wir haben zunächst mit dem virtuellen Computer NV6 begonnen (in erster Linie aufgrund der geringeren Kosten und der regionalen Verfügbarkeit).  Allein durch die Ausführung des dreistufigen BERT-Modells auf diesem virtuellen Computer mit GPU konnten wir eine Wartezeit von 20 ms erzielen. Das entspricht einer Verbesserung um etwa das Dreifache. Zur weiteren Optimierung der Bereitstellungseffizienz haben wir uns mit NVIDIA zusammengetan, um die GPU-Architektur optimal zu nutzen. Im Zuge dieser Zusammenarbeit haben wir das gesamte Model unter Verwendung von TensorRT-C++-APIs und CUDA- oder CUBLAS-Bibliotheken neu implementiert und dabei unter anderem auch die Einbettungs-, Transformator- und Ausgabeebene überarbeitet.  NVIDIA hat zudem effiziente CUDA-Transformator-Plug-Ins beigesteuert (einschließlich Softmax, GELU, Normalisierung und Reduzierung).

Anschließend haben wir für das mit TensorRT optimierte GPU-Modell einen Benchmarktest mit demselben virtuellen Azure-Computer vom Typ NV6 durchgeführt. Dabei konnten wir einen Batch mit vier Rückschlüssen in 9 Millisekunden verarbeiten. Das bedeutet eine Verkürzung der Wartezeit um das Achtfache und einen 34-mal höheren Durchsatz als bei dem Modell ohne GPU-Beschleunigung. Als Nächstes haben wir Tensor-Kerne mit gemischter Genauigkeit auf einem virtuellen Computer vom Typ NC6s_v3 verwendet, um die Leistung noch weiter zu optimieren. In diesem Fall ergab der Benchmark eine Zeit von 6 ms für eine Batchgröße von 64 Rückschlüssen. Verglichen mit einer CPU entspricht dies einer etwa 800-fachen Durchsatzsteigerung.

Transformierung der Azure-Suche auf der ganzen Welt mittels globaler Skalierung von Azure

Dank dieser GPU-Optimierungen konnten wir weltweit unter Verwendung von mehr als 2.000 virtuellen Azure-Computern mit GPU über vier Regionen hinweg mehr als eine Million BERT-Rückschlüsse pro Sekunde verarbeiten. Virtuelle Azure-Computer der N-Serie mit GPU sind für die Nutzung transformativer KI-Workloads sowie für die Verbesserung der Produktqualität von Bing unverzichtbar und sorgen für Hochverfügbarkeit, Flexibilität und erhebliche Kosteneinsparungen – insbesondere angesichts immer komplexer werdender Deep Learning-Modelle. Das Ergebnis ist eindeutig: Selbst große Organisationen wie Bing können die Geschwindigkeit ihrer KI-Workloads mithilfe virtueller Azure-Computer der N-Serie mit integrierter GPU-Beschleunigung steigern. Ohne GPUs wäre für diese Art von globalen KI-Rückschlüssen eine ungleich höhere Anzahl CPU-basierter virtueller Computer erforderlich, was letztendlich nicht rentabel wäre.  Azure bietet zudem einen Flexibilitätsvorteil bei der Bereitstellung, da den Kunden umgehend mehrere Arten von GPUs zur Verfügung stehen. Eine lokale Installation der GPUs hätte mehrere Monate gedauert.  Die virtuellen Computer der N-Serie waren für die Optimierung und Bereitstellung komplexer, inzwischen weltweit verfügbarer Deep Learning-Modelle zur Verbesserung der Bing-Suche unverzichtbar.

Allgemeine Verfügbarkeit der N-Serie

Azure bietet ein vollständiges Portfolio von VM-Funktionen über die Produktlinien der NC-, ND- und NV-Serie. Diese virtuellen Computer sind für Anwendungsszenarien konzipiert, in denen für gewöhnlich eine GPU-Beschleunigung benötigt wird. Hierzu zählen beispielsweise rechen- und grafikintensive Workloads sowie Visualisierungsworkloads.

  • Virtuelle Computer der NC-Serie sind für rechen- und netzwerkintensive Anwendungen optimiert.
  • Virtuelle Computer der ND-Serie sind für Trainings- und Rückschlussszenarien für Deep Learning optimiert.
  • Virtuelle Computer der NV-Serie sind für Visualisierungs-, Streaming-, Gaming-, Codierungs- und VDI-Szenarien optimiert.

In unserem Supercomputing19-Blog finden Sie Informationen zu den neuesten Produkten für virtuelle Computer der ND- und NV-Serie.

Weitere Informationen

Besuchen Sie Supercomputing19, um mehr über die Bing-Optimierung mit Azure-GPUs zu erfahren.