AMD da un paso más hacia la IA en sus CPU: Zen 5 y Zen 6 soportarán nuevas instrucciones AVX512 como Intel
AMD va un paso por detrás de Intel en IA en todos los aspectos. De hecho, Intel lleva una delantera muy importante al unir sus CPU y GPU frente a las opciones de AMD, y son la principal baza para contrarrestar el empuje de NVIDIA. Gaudi2 es actualmente mejor en rendimiento/precio, mientras los Xeon campan a sus anchas por el mercado de los servidores para IA, y evidentemente, AMD no puede dejar que esto suceda. Por ello, las CPU Zen 5 y Zen 6 tendrán nuevos soportes de instrucciones AVX512 para cálculos complejos de inferencia, es decir, IA. Para ser concretos, Zen 5 soportar AVX512-VP2INTERSECT y Zen 6 AVX512-FP16.
Realmente la información es un poco más amplia y no se reduce exclusivamente a estas instrucciones, aunque solo hay pinceladas. Para sintetizar la idea, el objetivo de AMD es formar un ecosistema al estilo Intel, donde seguirá fallando en algo clave como la pila de software, pero en cuanto al hardware, parece que estará más cerca esta vez.
AMD Zen 5, soporte para cuatro nuevas instrucciones, entre ellas, AVX512-VP2INTERSECT
Hay que ser específicos a la hora de hablar de lo filtrado, y aunque no vamos a cubrir todas las instrucciones al completo porque daría para artículos independientes, sí que tocaremos brevemente algunas por encima: En concreto, las instrucciones que soportará Zen 5 como novedades son las siguientes:
- AVX-VNNI
- MOVDIRI/MOVDIR64B
- AVX512_VP2INTERSECT
- PREFETCHI
Posiblemente las más importantes son la primera y la tercera, las cuales ya tratamos en otras ocasiones y repasaremos. AVX-VNNI (Vector Neural Network Instructions) es una extensión de x86 siendo parte de AVX512 dentro de su rama Foundation.
Es una instrucción que está enfocada a acelerar algoritmos de redes neuronales convolucionales, y se divide en cuatro subinstrucciones. Intel comenta en sus datasheets que estas redes requieren la multiplicación requerida de dos valores de 16 bits o dos de 8 bits, y estas acumulan el resultado en uno de 32 bits. Admiten, no obstante, valores de 128 bits y 256 bits y entraron en funcionamiento en Cascade Lake allá en el 2019. Además, Zen 4 ya las soporta, por lo que ayudarán a estos cálculos y se verán apoyadas por AVX512-VP2INTERSECT.
Sabiendo que Zen 5 también les dará apoyo y soporte, AVX512-VP2INTERSECT resolverá otro problema añadido. Esta instrucción tiene una función simple de entender y compleja de ejecutar, puesto que va a calcular la intersección entre las DWORDS y las QUADWORDS, así como los registros de las máscaras.
WORDS y Opcode por instrucción
Ambas WORDS son básicamente unidades de datos complejas que son el doble de tamaño de una palabra (DWORDS) o cuatro veces el tamaño de la misma (QUADWORDS). Comprendido esto, seguro que sabemos lo que es una WORD como tal, pero para el que no lo sepa, está definida como una cadena de bits con un tamaño y longitud específica que, lógicamente, hace referencia al número de bits que contiene.
Sabiendo esto, Intel define la instrucción AVX512-VP2INTERSECT en sus datasheet de set de instrucciones como una instrucción propiamente dicha que escribe un par de registros de máscara par/impar. Así mismo, el destino del registro de máscara indicado en el campo MODRM.REG se utiliza para formar la base del par de registros. El bit bajo ese campo se enmascara (se pone a cero) para crear el primer registro del par, pero, EVEX.aaa y EVEX.z deben ser cero.
En definitiva, esta instrucción acelerará el cálculo de intersecciones entre DWORDS y QUADWORDS para acelerar tareas de inferencia complejas destinadas a DL e IA.
AMD Zen 6, el paso definitivo hacia el ecosistema CPU+GPU destinados a IA gracias a AVX512-FP16
Actualmente Zen 4 tiene soporte en los EPYC para BF16, pero no para FP16. Zen 5 parece que tampoco tendrá soporte, y es que Intel tiene una ventaja muy significativa aquí, y lo ha logrado en dos pasos muy curiosos. AVX512-FP16 debutó en 2020 con Cooper Lake, pero Intel dejó ahí el soporte para sus dos siguientes arquitecturas, puesto que no la incluyeron.
El mismo 2020 salió Tiger Lake, que evidentemente no ofrecía apoyo, y en 2021 Rocket Lake hizo exactamente lo mismo, principalmente porque en escritorio no era necesario ya que no había NPU como tal. Pero entonces, en 2021, llegó Alder Lake y volvió a darles soporte.
Ice Lake en servidores no lo recibió (curioso cuanto menos) y más tarde, con Sapphire Rapids el año pasado, se amplió a AMX-FP16, no solo AVX512-FP16. Con esto un servidor pretende dar a entender que Intel tampoco lo ha tenido fácil ni ha convencido de manera simple al mercado, puesto que al principio nadie apoyó esta instrucción.
Pero Zen 6 sí que dará soporte a esta AVX512-FP16, entendemos que en algún punto de 2025, seguramente finales del mismo si todo va como se espera, pero, ¿para qué las va usar AMD? Pues para lo mismo que las está usando Intel ahora, donde tiene una ventaja muy clara: acelerar la inferencia frente a FP32.
Hasta 2025 o 2026 no veremos competir totalmente a AMD con sus CPU en IA, ¿la solución transitoria? Una NPU más rápida
Aquí de nuevo tenemos que volver a los datasheet de Intel, donde explican cómo enfocan ellos las ventajas de AVX512-FP16:
Los formatos FP16 e INT8 son de peso comprimido en los que se comprimen los datos, valga la redundancia, para que sean de un tamaño más pequeño. El inconveniente de estas compresiones es la precisión del modelo, o también conocido como error de cuantificación.
Cuantos más bits se asignen para representar datos, mayor rango podrían representar y, potencialmente, mejor precisión del modelo. Sin embargo, los datos más grandes requieren un mayor espacio de memoria para su almacenamiento, un mayor ancho de banda de memoria necesario para transferirlo, y más recursos informáticos y tiempo que se utiliza.
Por tanto, con esta información filtrada, podemos concluir que AMD competirá en IA tanto en servidores como en PC y portátiles de manera mucho más potente ya este mismo año, pero sobre todo con las vistas puestas en 2025, ya que aquí va con un poco de retraso frente a Intel, de ahí que esté compensando gran parte del déficit con sus mejores NPU.