Anshumali Shrivastava es profesor asistente de informática en la Universidad de Rice. Crédito:Jeff Fitlow / Rice University
Los compradores en línea suelen juntar algunas palabras para buscar el producto que desean, pero en un mundo con millones de productos y compradores, la tarea de hacer coincidir esas palabras no específicas con el producto correcto es uno de los mayores desafíos en la recuperación de información.
Usando un enfoque de divide y vencerás que aprovecha el poder de la detección comprimida, Los informáticos de la Universidad de Rice y Amazon han demostrado que pueden reducir la cantidad de tiempo y recursos computacionales necesarios para capacitar a las computadoras para la búsqueda de productos y "problemas extremos de clasificación" similares, como la traducción de voz y la respuesta a preguntas generales.
La investigación se presentará esta semana en la Conferencia de 2019 sobre sistemas de procesamiento de información neuronal (NeurIPS 2019) en Vancouver. Los resultados incluyen pruebas realizadas en 2018 cuando el investigador principal Anshumali Shrivastava y el autor principal Tharun Medini, ambos de arroz, estaban visitando Amazon Search en Palo Alto, California.
En pruebas en un conjunto de datos de búsqueda de Amazon que incluyó unos 70 millones de consultas y más de 49 millones de productos, Shrivastava, Medini y sus colegas mostraron su enfoque de utilizar "clasificadores de promedios combinados mediante hash, "(MACH) requirió una fracción de los recursos de capacitación de algunos sistemas comerciales de última generación.
"Nuestros tiempos de formación son entre 7 y 10 veces más rápidos, y nuestras huellas de memoria son de 2 a 4 veces más pequeñas que los mejores rendimientos de referencia de gran escala informados anteriormente, sistemas distribuidos de aprendizaje profundo, "dijo Shrivastava, profesor asistente de informática en Rice.
Medini, un doctorado estudiante en Rice dijo que la búsqueda de productos es un desafío, en parte, debido a la gran cantidad de productos. "Hay alrededor de 1 millón de palabras en inglés, por ejemplo, pero hay fácilmente más de 100 millones de productos en línea ".
Los estudiantes graduados en ciencias de la computación de la Universidad de Rice, Beidi Chen y Tharun Medini, colaboran durante una reunión de grupo. Crédito:Jeff Fitlow / Rice University
También hay millones de personas comprando esos productos, cada uno a su manera. Algunos escriben una pregunta. Otros usan palabras clave. Y muchos no están seguros de lo que buscan cuando comienzan. Pero debido a que todos los días se realizan millones de búsquedas en línea, empresas tecnológicas como Amazon, Google y Microsoft tienen muchos datos sobre búsquedas exitosas y no exitosas. Y usar estos datos para un tipo de aprendizaje automático llamado aprendizaje profundo es una de las formas más efectivas de brindar mejores resultados a los usuarios.
Sistemas de aprendizaje profundo, o modelos de redes neuronales, son vastas colecciones de ecuaciones matemáticas que toman un conjunto de números llamados vectores de entrada, y transformarlos en un conjunto diferente de números llamados vectores de salida. Las redes están compuestas por matrices con varios parámetros, y los sistemas de aprendizaje profundo distribuidos de última generación contienen miles de millones de parámetros que se dividen en varias capas. Durante el entrenamiento, los datos se envían a la primera capa, los vectores se transforman, y las salidas se alimentan a la siguiente capa y así sucesivamente.
Los "problemas de clasificación extremos" son los que tienen muchos resultados posibles, y por lo tanto, muchos parámetros. Los modelos de aprendizaje profundo para la clasificación extrema son tan grandes que por lo general deben entrenarse en lo que es efectivamente una supercomputadora. un conjunto vinculado de unidades de procesamiento de gráficos (GPU) donde los parámetros se distribuyen y se ejecutan en paralelo, a menudo durante varios días.
"Una red neuronal que toma la entrada de búsqueda y predice a partir de 100 millones de resultados, o productos, normalmente terminará con alrededor de 2, 000 parámetros por producto, "Dijo Medini." Así que multiplica esos, y la capa final de la red neuronal es ahora de 200 mil millones de parámetros. Y no he hecho nada sofisticado. Estoy hablando de un muy modelo de red neuronal simple muy muerto ".
"Se necesitarían alrededor de 500 gigabytes de memoria para almacenar esos 200 mil millones de parámetros, "Dijo Medini." Pero si miras los algoritmos de entrenamiento actuales, hay uno famoso llamado Adam que toma dos parámetros más para cada parámetro en el modelo, porque necesita estadísticas de esos parámetros para monitorear el proceso de entrenamiento. Entonces, ahora estamos en 200 mil millones de veces tres, y necesitaré 1.5 terabytes de memoria de trabajo solo para almacenar el modelo. Ni siquiera he llegado a los datos de entrenamiento. Las mejores GPU que existen tienen solo 32 gigabytes de memoria, por lo que entrenar un modelo de este tipo es prohibitivo debido a la comunicación masiva entre GPU ".
MACH adopta un enfoque muy diferente. Shrivastava lo describe con un experimento mental que divide al azar los 100 millones de productos en tres clases, que toman la forma de cubos. "Estoy mezclando, digamos, iPhones con cargadores y camisetas en el mismo cubo, ", dijo." Es una reducción drástica de 100 millones a tres ".
En el experimento mental, los 100 millones de productos se clasifican aleatoriamente en tres cubos en dos mundos diferentes, lo que significa que los productos pueden terminar en diferentes cubos en cada mundo. Un clasificador está capacitado para asignar búsquedas a los depósitos en lugar de a los productos que contienen. lo que significa que el clasificador solo necesita asignar una búsqueda a una de las tres clases de producto.
"Ahora envío una búsqueda al clasificador en el mundo uno, y dice cubo tres, y se lo doy al clasificador en el mundo dos, y dice cubo uno, "dijo." ¿En qué está pensando esta persona? La clase más probable es algo que es común entre estos dos depósitos. Si observa la posible intersección de los cubos, hay tres en el mundo uno por tres en el mundo dos, o nueve posibilidades, ", dijo." Así que reduje mi espacio de búsqueda a uno sobre nueve, y solo he pagado el costo de crear seis clases ".
Añadiendo un tercer mundo, y tres cubos más, aumenta el número de posibles intersecciones en un factor de tres. "Ahora hay 27 posibilidades para lo que esta persona está pensando, ", dijo." Así que reduje mi espacio de búsqueda en uno sobre 27, pero solo he pagado el costo de nueve clases. Estoy pagando un costo linealmente y estoy obteniendo una mejora exponencial ".
En sus experimentos con la base de datos de formación de Amazon, Shrivastava, Medini y sus colegas dividieron aleatoriamente los 49 millones de productos en 10, 000 clases, o cubos, y repitió el proceso 32 veces. Eso redujo la cantidad de parámetros en el modelo de alrededor de 100 mil millones a 6,4 mil millones. Y entrenar el modelo tomó menos tiempo y menos memoria que algunos de los mejores tiempos de entrenamiento reportados en modelos con parámetros comparables, incluido el modelo de mezcla de expertos (MoE) de Google Sparsely-Gated, Dijo Medini.
Dijo que la característica más significativa de MACH es que no requiere comunicación entre procesadores paralelos. En el experimento mental, eso es lo que representa lo separado, mundos independientes.
"Ni siquiera tienen que hablar entre ellos, "Dijo Medini." En principio, podría entrenar cada uno de los 32 en una GPU, que es algo que nunca podría hacer con un enfoque no independiente ".
Shrivastava dijo:"En general, la formación ha requerido la comunicación a través de parámetros, lo que significa que todos los procesadores que se ejecutan en paralelo deben compartir información. Viendo hacia adelante, la comunicación es un gran problema en el aprendizaje profundo distribuido. Google ha expresado sus aspiraciones de entrenar una red de 1 billón de parámetros, por ejemplo. MACH, en la actualidad, no se puede aplicar a casos de uso con un número reducido de clases, pero para una clasificación extrema, logra el santo grial de la comunicación cero ".