banner
Centro de Noticias
No encontrará este nivel de calidad a un mejor precio.

Google Keynote presenta gráficos de controladores de aprendizaje automático en Hot Chips 23

Sep 21, 2023

Por John Russell

31 de agosto de 2023

Los científicos de Google, Jeff Dean y Amin Vahdat, realizaron un recorrido fascinante por las principales tendencias de diseño de hardware y software de aprendizaje automático en su discurso inaugural conjunto de Hot Chips 23 esta semana. La pareja abordó el aumento de la escasez sobre la densidad, los esfuerzos en comunicaciones adaptativas, el desarrollo de mejores métricas de consumo de energía y rendimiento del sistema, y ​​el diseño de chips acelerados impulsados ​​por IA, entre otros temas.

Dean y Vahdat dejaron pocas piedras sin remover, aunque no se reveló ninguna noticia de Google celosamente guardada. Es probable que algunos de estos últimos surjan en el evento Google Cloud Next 23, que comienza hoy en San Francisco. Sin embargo, las pinceladas amplias de Dean y Vahdat enfatizaron la necesidad de acelerar el progreso a medida que la demanda de computación ML impulsada por muchos factores, incluido, por supuesto, el creciente tamaño (cantidad de parámetros) de los modelos supera la capacidad de la infraestructura.

"Obviamente, en los últimos años, el aprendizaje automático ha cambiado nuestras expectativas sobre lo que consideramos posible con las computadoras", dijo Dean. “Las computadoras ahora pueden comprender imágenes, comprender el habla y comprender el lenguaje mucho mejor que antes, y eso abre un conjunto emocionante de nuevas posibilidades. Otra observación es que aumentar la escala, utilizar más computación, más datos y crear modelos más grandes produce mejores resultados. Y los tipos de cálculos que queremos ejecutar, el hardware en el que queremos ejecutarlos, están cambiando drásticamente.

“Creo que es una lección importante para los diseñadores de hardware informático: debemos poder avanzar con el panorama cada vez mejor de la investigación de ML. En el resto de la charla, quiero hablar sobre algunas tendencias importantes y el modelo de aprendizaje automático, algunas implicaciones para los arquitectos informáticos y cómo diseñamos hardware de aprendizaje automático y lo implementamos rápidamente para mantenernos al día con este campo en rápido movimiento”.

A veces, es mejor empezar primero con las conclusiones.

Dean, científico jefe de Google, presentó la primera mitad de la charla, profundizando (principalmente) en las tendencias de diseño de hardware. Vahdat, miembro de Google y líder técnico en redes, abordó el esfuerzo de Google para frenar las emisiones de carbono y dedicó bastante tiempo a discutir la métrica Goodput de Google. Vahdat señaló: “Google se ha comprometido públicamente a operar las 24 horas del día, los 7 días de la semana, sin emisiones de carbono para 2030. Un objetivo realmente ambicioso”.

Fue una charla ambiciosa. Aquí se presentan algunas de sus diapositivas y los comentarios de Dean sobre las tendencias de los modelos de aprendizaje automático, incluida la escasez, la computación adaptativa y las redes neuronales que cambian dinámicamente. HPCwire tendrá cobertura de seguimiento de los comentarios de Vahdat.

“Los modelos densos, que son probablemente las redes neuronales con las que estás más familiarizado, son aquellos en los que todo el modelo se activa para cada ejemplo de entrada o para cada token que se genera, y es el foco de la gran mayoría de la comunidad de aprendizaje automático. . Si bien son geniales y han podido lograr muchas cosas maravillosas, la computación escasa será una tendencia importante en el futuro”, afirmó Dean.

“Los modelos dispersos tienen diferentes vías que se utilizan de forma adaptativa según sea necesario. En lugar de tener este modelo gigante, estos modelos dispersos pueden ser mucho más eficientes. En cierto modo simplemente recurren a las piezas correctas del modelo general. Y el aspecto de las piezas adecuadas también es algo que se aprende durante el proceso de formación. Luego se pueden especializar diferentes partes del modelo para diferentes tipos de entradas. El resultado final es que terminas con algo en lo que tocas solo el 1% o el 10% correcto de un modelo muy grande y esto te brinda una mejor capacidad de respuesta y una mayor precisión”.

Como señalaron Dean y sus colegas en un artículo de 2022 (A Review of Sparse Expert Models in Deep Learning), la escasez no es nueva.

En ese artículo, escriben: “Los modelos expertos dispersos son un concepto de hace treinta años que resurge como una arquitectura popular en el aprendizaje profundo. Esta clase de arquitectura abarca una mezcla de expertos, transformadores de conmutación, redes de enrutamiento, capas BASE y otros, todo con la idea unificadora de que en cada ejemplo actúa un subconjunto de parámetros. Al hacerlo, el grado de escasez desacopla el recuento de parámetros del cálculo por ejemplo, lo que permite modelos extremadamente grandes pero eficientes. Los modelos resultantes han demostrado mejoras significativas en diversos ámbitos, como el procesamiento del lenguaje natural, la visión por computadora y el reconocimiento de voz”.

En su charla sobre Hot Chips, Dean enfatizó que hay muchos niveles diferentes de escasez. “Existe una escasez generalizada, que se puede considerar como módulos muy grandes que se activan o no en un ejemplo determinado. Y hay escasez de grano fino, que es una especie de escasez dentro de un único tensor vectorial, donde quizás uno o dos de cada cuatro valores son cero, y el hardware moderno está comenzando a admitir esto. Estos dos tipos de escasez en realidad son complementarios, puede tener módulos de grano grueso que ellos mismos tienen escasez de grano fino dentro de las activaciones o dentro del espacio de parámetros de peso. Así que no los considero mutuamente excluyentes; en realidad lo que se desea es poder explotar la escasez en muchos niveles diferentes”, señaló.

La mayor parte del trabajo actual sobre escasez utiliza el mismo tamaño y estructura para cada experto; tienes un conjunto de expertos ecológicos aquí (diapositiva a continuación) para ellos, tienes una función de enrutamiento de aprendizaje aquí que aprende qué experto es bueno en qué tipo de cosas, y luego envías algunos de los ejemplos al experto apropiado”, dijo Dean. . “El equilibrio computacional generalmente se logra al tener un cálculo de igual tamaño para los expertos y un flujo igual de la cantidad de ejemplos para cada experto. Para los arquitectos informáticos, esto significa que el rendimiento aleatorio entre aceleradores es realmente importante. Esto es cierto para todos los modelos dispersos. Desea poder enrutar rápidamente las cosas de una parte del modelo a la otra de la manera correcta”.

Quizás resulte sorprendente que la escasez mejore el rendimiento del modelo y pueda hacer posible gestionar mejor los costes computacionales, afirmó Dean.

“Sin embargo, una cosa que quizás desees poder hacer es, en lugar de tener costos computacionales fijos, variar el costo computacional de diferentes partes del modelo. Y no tiene sentido gastar la misma cantidad de cálculo en cada ejemplo, porque algunos ejemplos son 100 veces más difíciles, pero deberíamos gastar 100 veces más cálculo en cosas que son realmente difíciles que en cosas que son muy simples. Y entonces, aquí, verá, tenemos un experto muy pequeño, una cantidad muy pequeña de cálculo que tal vez podría usarse para el 90% de los ejemplos porque son simples, y luego tiene una serie progresiva de ejemplos más grandes y Expertos más grandes que tal vez estén especializados en diferentes tipos de cosas, este puede estar especializado en situaciones muy difíciles de un sabor particular. Y esos no reciben mucho tráfico, pero hay muchos cálculos”, dijo Dean.

“Podrían incluso tener tipos muy diferentes de estructuras computacionales. Por lo tanto, uno podría ser una pieza muy simple de un modelo de una sola capa, mientras que la cosa más compleja podría tener muchas, muchas capas. Y para poder mapear todo esto en hardware, es necesario poder mapear las cosas más grandes y más costosas desde el punto de vista computacional en más chips. Así que éste podría estar en 16 chips, éste podría estar en ocho chips y estos dos podrían estar en un solo chip”, dijo.

Google ha estado desarrollando una herramienta, Pathways, para ayudar a administrar el hardware subyacente utilizado para modelos flexibles. “Una de las cosas en las que hemos estado trabajando durante los últimos años es un sistema llamado Pathways, que es un sistema escalable para permitir este tipo de modelos flexibles de aprendizaje automático. Tenemos un mapeo flexible de componentes, que puede considerar como piezas del cálculo de ML, los pequeños cuadrados verdes o azules, los rectángulos de las diapositivas anteriores o una colección de dispositivos computacionales físicos. Luego puede agregar o eliminar recursos dinámicamente, como más hardware físico, al sistema en ejecución, y el sistema se encargará de ello”, dijo Dean.

“Pathways también gestiona la comunicación a través de múltiples tipos de transportes de red y elige el más apropiado y rápido para cualquier tipo de comunicación que deba realizarse mediante el software de nivel superior. Es altamente escalable; El modelo de lenguaje PaLM2 se entrenó en múltiples pods de TPU v. 4 usando Pathways, donde dentro de un pod, se utiliza el ICI, la interconexión interna del chip, que es una red de ancho de banda muy alto. Y luego, a medida que se cruzan los límites de los pods, se utilizan transferencias de la red del centro de datos para comunicarse entre un lado del modelo y el otro”.

Obviamente, hubo mucho más en el discurso de apertura de Dean y Vahdat. HPCwire tendrá una cobertura de seguimiento de la parte de Vahdat sobre las métricas de emisiones de CO2 y los esfuerzos de reducción.

Enlace a Hot Chips 23.

La desaparición de los modelos densos: no exactamente, pero...La dispersión puede ayudar a gestionar el coste computacional