Samsung CXL-PNM y LPDDR-PIM: llega el procesamiento en memoria enfocado a la IA y ChatGPT

Durante el Hot Chips de 2023 Samsung ha vuelto a defender el concepto del procesamiento en memoria o PIM, el cual ya vimos presentado hace un par de años en forma de sus módulos HBM-PIM Aquabolt. Esta vez vuelven para hablar de las ventajas de este tipo de memorias en modelos tipo ChatGPT y presentar tanto la CXL-PIM como la LPDDR-PIM. Veamos, por tanto, cuál es la apuesta principal de la multinacional coreana.

A la fiesta de la IA no quiere perderse nadie su presencia, incluida Samsung. Sin embargo, su apuesta no es crear un chip que compita contra el resto, sino centrarse en la creación de chips de memoria con capacidades de procesamiento integradas. Un concepto para muchos poco conocido, pero que, de cara al mercado de las tarjetas gráficas, servidores e incluso teléfonos móviles puede suponer una serie de ventajas, sin embargo, Samsung en su presentación para el Hot Chips 2023 ha decidido centrarse en buscarle una salida al concepto PIM.

¿Por qué el procesamiento en memoria es tan importante para Samsung?

HBM-PIM Procesamiento Memoria Coste Desplaxamiento

El concepto de procesamiento en memoria o PIM es sencillo de entender, normalmente cuando queremos ejecutar un programa lo que hacemos es ir haciendo accesos a la memoria de forma continua por parte del procesador. Pues bien, ¿qué ocurre si para solucionar ciertos algoritmos dejamos que sea la propia RAM la que se encargue de ello? Suena ilógico, dado que la memoria solo almacena datos, aparte de enviarlos y recibirlos. Sin embargo, el concepto del que estamos hablando consiste en añadir un procesador muy sencillo que sea capaz de ejecutar ese pequeño algoritmo y ejecutarlo en la misma memoria para devolver la parte que le interesa al chip cliente, lo cual es el resultado.

Pues bien, según Samsung de cara al desarrollo de modelos de inteligencia artificial para lenguaje natural, lo que es el popular ChatGPT, resulta mucho más eficiente diseñar partes del algoritmo para que se ejecuten en la HBM-PIM en vez de hacerlo en la GPU. ¿El motivo? Reducir la cantidad de envíos desde la memoria y con ello tener un impacto menor en el consumo energético. Es más, una de las puntas de lanzas que esgrime Samsung es que el uso del procesamiento en memoria es mucho más ecológico y será clave para cuando los gobiernos por motivos ecologistas empiecen a poner barreras de consumo a la supercomputación.

HBM-PIM aplicada a ChatGPT

El caso de la HBM-PIM es particular, si bien fue anunciada por Samsung en el 2022 a bombo y platillo, ningún fabricante de chips la ha adoptado masivamente, en especial por la aparición de la HBM3 donde su mayor ancho de banda y capacidad ha opacado el uso de este tipo de memoria. Sin embargo, Samsung en el Hot Chips 2023 ha decidido ir por lo importante, y mostrar el uso y utilidad de su tecnología.

La gran ventaja del procesamiento en memoria es la capacidad de esta en comparación con los registros y cachés en un procesador convencional. Y es que el problema principal ya no es solo el coste energético de la transferencia de datos, sino también el hecho que en ciertas soluciones se requieren varios envíos de datos entre los componentes. Pues bien, Samsung ha decidido construir un superordenador con 96 tarjetas AMD Instinct MI100 a las que se les ha reemplazado su HBM2e por HBM-PIM del mismo ancho de banda y con ello han conseguido duplicar el rendimiento y triplicar la eficiencia en lo que al ancho de banda se refiere.

Para ello han usado el llamado Mixture of Experts, un algoritmo que consiste en dividir un problema de forma simétrica entre los diferentes participantes en el proceso, lo que ha permitido repartir el trabajo entre los diferentes módulos de memoria HBM. ¿La importancia de usarlo para medir el rendimiento del procesamiento en memoria de la HBM-PIM? El hecho que los sistemas de lenguaje natural como ChatGPT de OpenAI utilizan este modelo.

LPDDR-PIM, procesamiento en memoria para teléfonos móviles y portátiles

LPDDR-PIM Procesamiento en memoria Samsung

La LPDDR-PIM es una variación de la actual LPDDR5 con procesamiento en memoria. La idea consiste en integrar una unidad de procesamiento en cada uno de los bancos de memoria o cada dos. En concreto una unidad SIMD de 256 bits y sus registros correspondientes, que serían de 640 bytes por unidad PIM. Todo ello con la capacidad de poder soportar una serie de operaciones aritméticas a diferentes precisiones: FP32, FP16 e INT8. No olvidemos que la configuración en lo que a bancos de memoria de la LPDDR5 es variable, pero puede llegar hasta los 16 bancos por chip de memoria.

Todo ello da una capacidad de procesamiento, por chip LPDDR-PIM, de 102.4 GFLOPS en FP16, una cifra muy alejada de lo que se puede conseguir a través de las NPU y GPU de los diferentes SoC, pero con la ventaja de poder operar con una cantidad de memoria mucho mayor dentro del chip. Por lo que es ideal para modelos que no requieren mucha potencia de cálculo, pero sí una gran cantidad de memoria. En todo caso, no deja de ser por el momento un concepto y hemos de ver todavía si será adoptado por algún fabricante de teléfonos móviles o se tratará, de otro experimento de laboratorio como ocurrió con la HBM-PIM.

La idea detrás de ello es permitir que ciertos algoritmos o al menos una parte de los mismos, se puedan ejecutar directamente desde el procesamiento en memoria dentro de la LPDDR-PIM. Por lo que el objetivo no es otro que el de siempre: reducir al máximo la cantidad de envíos desde la RAM al procesador central y reducir con ello el consumo energético. Además, de dejar que el SoC del teléfono móvil no tenga que estar sin hacer nada esperando que le lleguen los datos correspondientes.

CXL-PNM

El Compute Express Link tiene la ventaja que permite unificar sin participación de la CPU, todo el espacio de memoria entre la RAM y los dispositivos PCI Express, lo cual ha permitido el lanzamiento de expansiones de memoria RAM a través de tarjetas PCI Express. ¿El problema con el que se enfrentan? Una mayor latencia que con la DDR convencional bajo zócalo DIMM. Por lo que Samsung ha decidido crear lo que se llama la CXL-PNM o Compute Express Link con procesamiento cercano a la memoria, un concepto muy parecido al PIM o procesamiento en memoria, pero con la diferencia de que el procesador no se encuentra en la misma RAM, pero sí mucho más cercano que la distancia convencional.

En concreto, la apuesta es la de colocar el array sistólico encargado de ejecutar los algoritmos de IA dentro del chip controlador del módulo de memoria CXL, el cual funciona de manera muy parecida a la del chip controlador flash de un SSD. No olvidemos que el IMC en las CPU está pensado para interactuar con los módulos DIMM, por lo que se hace necesario un controlador de memoria dentro de la tarjeta de expansión de memoria vía Compute Express Link. En concreto han conseguido crear una tarjeta CXL-PNM con 512 GB de capacidad y 1.1 TB/s de ancho de banda en total.