• 4 min read

Bing ofrece su mayor mejora en la experiencia de búsqueda con las GPU de Azure

En los últimos dos años, el aprendizaje profundo se ha adoptado ampliamente en la pila de búsqueda de Bing y se basa en un gran número de características inteligentes.

En los últimos dos años, el aprendizaje profundo se ha adoptado ampliamente en la pila de búsqueda de Bing y se basa en un gran número de nuestras características inteligentes. Usamos modelos de lenguaje natural para mejorar la comprensión del algoritmo de búsqueda principal del intento de búsqueda de un usuario y las páginas web relacionadas para que Bing pueda ofrecer los resultados de búsqueda más adecuados a nuestros usuarios. Confiamos en las técnicas de visión automáticas del aprendizaje profundo para mejorar la capacidad de detección de miles de millones de imágenes aunque no vayan acompañadas de descripciones de texto ni metadatos. Aprovechamos los modelos de comprensión de lectura basados en máquinas para recuperar títulos en cuerpos de texto más grandes que responden directamente a las preguntas específicas que tienen los usuarios. Todas estas mejoras conducen a resultados contextuales más adecuados para las consultas de búsqueda web.

Recientemente, se ha producido un adelanto en la comprensión del lenguaje natural con un tipo de modelo denominado transformadores (que se ha generalizado gracias al modelo de lenguaje Bidirectional Encoder Representations from Transformers, BERT). A diferencia de las arquitecturas de red neuronal profunda (DNN) anteriores que procesaban palabras individualmente en orden, los transformadores entienden el contexto y la relación entre cada palabra y todas las palabras que la rodean en una oración. A partir de abril de este año, hemos usamos modelos de transformador grandes para ofrecer las mayores mejoras de calidad a nuestros clientes de Bing durante el año pasado. Por ejemplo, en la consulta "¿qué puede agravar una conmoción cerebral?", la palabra "agravar" indica que el usuario quiere obtener información sobre las acciones que deben realizarse después de una conmoción cerebral y no sobre las causas o los síntomas. Nuestra búsqueda, que usa la tecnología de estos modelos, ahora puede comprender la intención del usuario y ofrecer un resultado más útil. Y lo que es más importante, ahora estos modelos se aplican a cada consulta de búsqueda de Bing para que los resultados de este buscador sean más importantes e inteligentes.

rankBERTblogbeforeafter

El aprendizaje profundo en la escala de búsqueda web puede ser muy caro

Los clientes de Bing esperan una experiencia de búsqueda extremadamente rápida y cada milisegundo de latencia importa.  Los modelos basados en transformadores se han entrenado previamente con hasta miles de millones de parámetros, lo que supone un aumento considerable en el tamaño de los parámetros y los requisitos de cálculo en comparación con las arquitecturas de red anteriores. El resultado inicial de la latencia de servicio del modelo BERT de tres niveles extraída en veinte núcleos de CPU fue de 77 ms por inferencia. Sin embargo, dado que estos modelos tendrían que ejecutar millones de consultas y fragmentos de código diferentes por segundo para impulsar la búsqueda web, incluso los 77 ms por inferencia seguían siendo muy costosos en la escala de búsqueda web, ya que requerían decenas de miles de servidores para enviar una sola mejora de búsqueda.

Optimización del modelo Bert

Aprovechamiento de las GPU de las máquinas virtuales de Azure para lograr un rendimiento de inferencia 800 veces superior

Una de las principales diferencias entre los transformadores y las arquitecturas DNN anteriores es que se basan en un proceso paralelo masivo en lugar de en el procesamiento secuencial. Dado que la arquitectura de la unidad de procesamiento gráfico (GPU) se diseñó para la informática en paralelo de alto rendimiento, las máquinas virtuales de la serie N de Azure con aceleradores con GPU integrados eran un ajuste natural para acelerar estos modelos de transformador. Decidimos empezar con la máquina virtual NV6 principalmente debido a la disponibilidad regional y a su menor costo.  Con solo ejecutar el modelo BERT de tres niveles en esa máquina virtual con GPU, observamos una latencia de servicio de 20 ms (aproximadamente tres veces mejor). Para mejorar aún más la eficacia de servicio, nos asociamos con NVIDIA para sacar el máximo partido a la arquitectura con GPU y volvimos a implementar todo el modelo utilizando las API de TensorRT para C++ y las bibliotecas CUDA o CUBLAS, incluida la reescritura de los niveles de inserción, transformador y salida.  NVIDIA también contribuyó con complementos de transformadores CUDA eficientes que incluyen softmax, GELU, normalización y reducción.

Hemos realizado una prueba comparativa del modelo con GPU optimizado para TensorRT en la misma máquina virtual NV6 de Azure y hemos observado que pudo dar servicio a un lote de cuatro inferencias en 9 ms, con una latencia 8 veces menor y una velocidad de procesamiento 34 veces superior en comparación con el modelo sin aceleración de GPU. Después, aprovechamos los núcleos de Tensor con precisión mixta en una máquina virtual NC6s_v3 para optimizar aún más el rendimiento y realizamos una evaluación comparativa de un tamaño de lote de 64 inferencias en 6 ms (aproximadamente una mejora 800 veces superior en comparación con la CPU).

Transformación de la experiencia de búsqueda de Bing en todo el mundo mediante la escala global de Azure

Con estas optimizaciones con GPU, pudimos usar más de 2000 máquinas virtuales con GPU de Azure en cuatro regiones para atender a más de un millón de inferencias BERT por segundo en todo el mundo. Las máquinas virtuales con GPU de la serie N de Azure son fundamentales para permitir cargas de trabajo de IA transformadoras y mejoras de la calidad del producto para Bing con alta disponibilidad, agilidad y ahorros considerables de costos, especialmente a medida que aumenta la complejidad de los modelos de aprendizaje profundo. Nuestra conclusión fue muy clara, incluso las grandes organizaciones como Bing pueden acelerar sus cargas de trabajo de IA mediante el uso de máquinas virtuales de la serie N de Azure con aceleración con GPU incorporada. La entrega de este tipo de inferencia de IA a escala global sin GPU habría requerido un número exponencialmente mayor de máquinas virtuales basadas en CPU, lo que en última instancia habría sido prohibitivo desde el punto de vista de los costos.  Azure también proporciona a los clientes la agilidad de la implementación inmediata a través de varios tipos de GPU, lo que habría tardado meses de tiempo si hubiéramos instalado las GPU localmente.  Las máquinas virtuales de la serie N eran esenciales para nuestra capacidad de optimizar y enviar modelos avanzados de aprendizaje profundo para mejorar la búsqueda de Bing, disponible globalmente en la actualidad.

Disponibilidad general de la serie N

Azure proporciona una cartera completa de funcionalidades de máquina virtual en las líneas de producto de las series NC, ND y NV. Estas máquinas virtuales están diseñadas para escenarios de aplicación para los que la aceleración con GPU es común, como cargas de trabajo de proceso intensivo, uso intensivo de gráficos y visualización.

  • Las máquinas virtuales de la serie NC están optimizadas para aplicaciones de proceso intensivo y uso intensivo de la red.
  • Las máquinas virtuales de la serie ND están optimizadas para escenarios de entrenamiento e inferencia para aprendizaje profundo.
  • Las máquinas virtuales de la serie NV están optimizadas para escenarios de visualización, streaming, juegos, codificación y VDI.

Consulte nuestro blog Supercomputing19 para conocer las incorporaciones de productos recientes a las máquinas virtuales de las series ND y NV.

Más información

Únase a nosotros en Supercomputing19 para obtener más información sobre nuestro recorrido para la optimización de Bing, aprovechando las GPU de Azure.