La mayoría de las computadoras se basan en la arquitectura de von Neumann, que separa el cómputo de la memoria. Esta disposición ha sido perfecta para la computación convencional, pero crea un atasco de tráfico de datos en la computación de IA.
La computación con inteligencia artificial tiene fama de consumir enormes cantidades de energía. Esto se debe, en parte, al gran volumen de datos que se manejan. El entrenamiento suele requerir miles de millones o billones de datos para crear un modelo con miles de millones de parámetros. Pero esa no es la única razón: también se debe a cómo se construyen la mayoría de los chips informáticos.
Los procesadores de las computadoras modernas son bastante eficientes a la hora de realizar los cálculos discretos que suelen tener encomendados. Aunque su eficiencia cae en picado cuando deben esperar a que los datos se muevan de un lado a otro entre la memoria y el cómputo, están diseñados para cambiar rápidamente a trabajar en alguna tarea no relacionada. Pero en el caso de la computación con IA, casi todas las tareas están interrelacionadas, por lo que a menudo no hay mucho más trabajo que se pueda hacer cuando el procesador se queda atascado esperando, dijo el científico de IBM Research Geoffrey Burr.
En ese escenario, los procesadores se encuentran con lo que se denomina el cuello de botella de von Neumann, el retraso que se produce cuando los datos se mueven más lento que el cómputo. Es el resultado de la arquitectura de von Neumann, presente en casi todos los procesadores de las últimas seis décadas, en la que la memoria y las unidades de cómputo de un procesador están separadas, conectadas por un bus. Esta configuración tiene ventajas, entre ellas la flexibilidad, la adaptabilidad a cargas de trabajo variables y la capacidad de escalar sistemas y actualizar componentes fácilmente. Eso hace que esta arquitectura sea ideal para la informática convencional y no desaparecerá en un futuro próximo.
Pero en el caso de la computación con inteligencia artificial, cuyas operaciones son simples, numerosas y altamente predecibles, un procesador convencional termina trabajando por debajo de su capacidad máxima mientras espera que los pesos de los modelos se transfieran de un lado a otro desde la memoria. Los científicos e ingenieros de IBM Research están trabajando en nuevos procesadores, como la familia AIU , que utilizan diversas estrategias para superar el cuello de botella de von Neumann y potenciar la computación con inteligencia artificial.
¿Por qué existe el cuello de botella de von Neumann?
El cuello de botella de von Neumann recibe su nombre del matemático y físico John von Neumann, que en 1945 hizo circular por primera vez un borrador de su idea de un ordenador con programa almacenado. En ese artículo, describía un ordenador con una unidad de procesamiento, una unidad de control, una memoria que almacenaba datos e instrucciones, almacenamiento externo y mecanismos de entrada/salida. Su descripción no mencionaba ningún hardware específico, probablemente para evitar problemas de seguridad con el ejército de los EE. UU., para el que trabajaba como consultor. Sin embargo, casi ningún descubrimiento científico es realizado por una sola persona, y la arquitectura de von Neumann no es una excepción. El trabajo de von Neumann se basó en el trabajo de J. Presper Eckert y John Mauchly, que inventaron el Integrador Numérico Electrónico y el Ordenador (ENIAC), el primer ordenador digital del mundo. Desde que se escribió ese artículo, la arquitectura de von Neumann se ha convertido en la norma.
“La arquitectura de von Neumann es bastante flexible, esa es la principal ventaja”, afirmó el científico de IBM Research Manuel Le Gallo-Bourdeau. “Es por eso que se adoptó por primera vez y por eso sigue siendo la arquitectura predominante en la actualidad”.
Las unidades de memoria y computación discretas permiten diseñarlas por separado y configurarlas más o menos como se desee. Históricamente, esto ha facilitado el diseño de sistemas informáticos porque se pueden seleccionar y combinar los mejores componentes en función de la aplicación.
Incluso la memoria caché, que está integrada en un único chip junto con el procesador, se puede actualizar de forma individual. “Estoy seguro de que el diseño de una nueva memoria caché tiene consecuencias para el procesador, pero no es tan difícil como si estuvieran acopladas”, afirma Le Gallo-Bourdeau. “Siguen estando separadas. Esto permite cierta libertad a la hora de diseñar la caché por separado del procesador”.
Cómo el cuello de botella de von Neumann reduce la eficiencia
Para la computación de IA, el cuello de botella de von Neumann crea un doble problema de eficiencia: la cantidad de parámetros de modelo (o pesos) que se deben mover y la distancia a la que deben moverse. Más pesos de modelo significan mayor almacenamiento, lo que generalmente significa almacenamiento más distante, dijo la científica de IBM Research Hsinyu (Sidney) Tsai. «Dado que la cantidad de pesos de modelo es muy grande, no se puede permitir el lujo de mantenerlos durante mucho tiempo, por lo que es necesario descartarlos y recargarlos constantemente», dijo.
El principal gasto de energía durante el tiempo de ejecución de la IA se destina a transferencias de datos, es decir, a trasladar los pesos de los modelos de la memoria a los cálculos. En comparación, la energía que se gasta en realizar cálculos es baja. En los modelos de aprendizaje profundo, por ejemplo, las operaciones son casi todas problemas de multiplicación de matrices y vectores relativamente simples. La energía de cálculo sigue representando alrededor del 10 % de las cargas de trabajo de la IA moderna, por lo que no es despreciable, dijo Tsai. «Simplemente se ha descubierto que ya no domina el consumo de energía y la latencia, a diferencia de las cargas de trabajo convencionales», agregó.
Hace aproximadamente una década, el cuello de botella de von Neumann no era un problema importante porque los procesadores y la memoria no eran tan eficientes, al menos en comparación con la energía que se gastaba en transferir datos, dijo Le Gallo-Bourdeau. Pero la eficiencia de la transferencia de datos no ha mejorado tanto como el procesamiento y la memoria a lo largo de los años, por lo que ahora los procesadores pueden completar sus cálculos mucho más rápidamente, dejándolos inactivos mientras los datos se mueven a través del cuello de botella de von Neumann.
Cuanto más lejos esté la memoria del procesador, más energía se necesita para moverla. En un nivel físico básico, un cable eléctrico de cobre se carga para propagar un 1 y se descarga para propagar un 0. La energía que se gasta al cargar y descargar los cables es proporcional a su longitud, por lo que cuanto más largo sea el cable, más energía se gasta. Esto también significa una mayor latencia, ya que la carga tarda más tiempo en disiparse o propagarse cuanto más largo es el cable.
Es cierto que el costo de tiempo y energía de cada transferencia de datos es bajo, pero cada vez que se desea propagar datos a través de un modelo de lenguaje grande, se necesitan cargar hasta miles de millones de pesos desde la memoria. Esto podría significar usar la DRAM de una o más GPU, porque una GPU no tiene suficiente memoria para almacenarlos todos. Después de que se descargan al procesador, este realiza sus cálculos y envía el resultado a otra ubicación de memoria para su posterior procesamiento.
Además de eliminar el cuello de botella de von Neumann, una solución incluye cerrar esa distancia. “Toda la industria está trabajando para intentar mejorar la localización de datos”, dijo Tsai. Los científicos de IBM Research anunciaron recientemente un enfoque de este tipo: una guía de ondas óptica de polímero para ópticas co-empaquetadas . Este módulo lleva la velocidad y la densidad de ancho de banda de la fibra óptica al borde de los chips, potenciando su conectividad y reduciendo enormemente el tiempo de entrenamiento del modelo y los costos de energía.
Sin embargo, con el hardware disponible actualmente, el resultado de todas estas transferencias de datos es que entrenar un LLM puede llevar fácilmente meses, consumiendo más energía que una casa típica de EE. UU. en ese tiempo. Y la IA no deja de necesitar energía después del entrenamiento del modelo. La inferencia tiene requisitos computacionales similares, lo que significa que el cuello de botella de von Neumann la ralentiza de manera similar.

Cómo sortear el cuello de botella
En la mayoría de los casos, los pesos de los modelos son estacionarios y la computación de IA se centra en la memoria, en lugar de ser muy computacional, dijo Le Gallo-Bourdeau. “Tienes un conjunto fijo de pesos sinápticos y solo necesitas propagar datos a través de ellos”.
Esta cualidad le ha permitido a él y a sus colegas dedicarse a la computación analógica en memoria, que integra la memoria con el procesamiento, utilizando las leyes de la física para almacenar pesos. Uno de estos enfoques es la memoria de cambio de fase (PCM), que almacena los pesos del modelo en la resistividad de un vidrio de calcogenuro , que se modifica al aplicar una corriente eléctrica.
«De esta manera podemos reducir la energía que se gasta en las transferencias de datos y mitigar el cuello de botella de von Neumann», dijo Le Gallo-Bourdeau. Sin embargo, la computación en memoria no es la única forma de evitar el cuello de botella de von Neumann.
El AIU NorthPole es un procesador que almacena memoria en SRAM digital y, si bien su memoria no está entrelazada con la computación de la misma manera que los chips analógicos, sus numerosos núcleos tienen acceso a la memoria local, lo que lo convierte en un ejemplo extremo de computación cercana a la memoria. Los experimentos ya han demostrado el poder y la promesa de esta arquitectura. En pruebas de inferencia recientes realizadas en un LLM de 3 mil millones de parámetros desarrollado a partir del modelo Granite-8B-Code-Base de IBM, NorthPole fue 47 veces más rápido que la siguiente GPU con mayor eficiencia energética y 73 veces más eficiente energéticamente que la siguiente GPU con menor latencia.
También es importante tener en cuenta que los modelos entrenados en hardware de von Neumann se pueden ejecutar en dispositivos que no sean de von Neumann. De hecho, para la computación analógica en memoria , es esencial. Los dispositivos PCM no son lo suficientemente duraderos como para que sus pesos cambien una y otra vez, por lo que se utilizan para implementar modelos que se han entrenado en GPU convencionales. La durabilidad es una ventaja comparativa de la memoria SRAM en la computación en memoria o cercana a la memoria, ya que se puede reescribir infinitamente.
Por qué la computación de von Neumann no desaparecerá
Si bien la arquitectura de von Neumann crea un cuello de botella para la computación de IA, para otras aplicaciones es perfecta. Claro, causa problemas en el entrenamiento y la inferencia de modelos, pero la arquitectura de von Neumann es perfecta para procesar gráficos de computadora u otros procesos que requieren un gran uso de recursos computacionales. Y cuando se requiere una precisión de punto flotante de 32 o 64 bits, la baja precisión de la computación en memoria no está a la altura de la tarea.
“Para la computación de propósito general, realmente no hay nada más poderoso que la arquitectura de von Neumann”, dijo Burr. En estas circunstancias, los bytes son operaciones u operandos que se mueven en un bus desde una memoria a un procesador. “Es como una tienda de delicatessen de usos múltiples donde alguien puede pedir un poco de salami o pepperoni o esto o aquello, pero puedes cambiar de uno a otro porque tienes los ingredientes correctos a mano, y puedes preparar fácilmente seis sándwiches seguidos”. La computación de propósito especial, por otro lado, puede implicar 5.000 sándwiches de atún para un solo pedido, como la computación de IA cuando transfiere pesos de modelos estáticos.
Incluso al construir sus chips AIU en memoria, los investigadores de IBM incluyen algún hardware convencional para las operaciones de alta precisión necesarias.
Mientras los científicos e ingenieros trabajan en nuevas formas de eliminar el cuello de botella de von Neumann, los expertos coinciden en que el futuro probablemente incluirá ambas arquitecturas de hardware, dijo Le Gallo-Bourdeau. “Lo que tiene sentido es una combinación de procesadores von Neumann y no von Neumann para que cada uno maneje las operaciones en las que es mejor”. IBM Blog. Traducido al español