Chiosa
Machine Learning

Cuándo puede un compilador mover escalas MXFP4

2 min
Actualizado

En palabras sencillas

MXFP4 guarda números pequeños en bloques con escalas compartidas. Un compilador puede aplicar las escalas de cada bloque a cada número antes de sumarlos, o sumar primero y aplicar las escalas después. En matemáticas ordinarias, ambos órdenes dan lo mismo, pero el redondeo y el desbordamiento de la aritmética informática pueden hacer que los resultados difieran.

El artículo da una condición para que un compilador pueda cambiar el orden sin alterar el resultado, con un árbol de sumas fijo. Una demostración establece la condición; las comprobaciones con un solver muestran que el límite es ajustado para los árboles y las longitudes de bloque probados.

La investigación

Si dos cálculos matemáticamente iguales pueden dar resultados binary32 distintos, ¿cuándo puede un compilador cambiar su orden sin alterar el producto escalar de un bloque?

La respuesta importa para optimizar la aritmética MXFP4: la transformación permitida depende de las escalas y del árbol usado para sumar los productos.

Los autores representan el redondeo binary32 mediante reglas enteras y demuestran una condición sobre los códigos de escala para que los compiladores puedan mover escalas MXFP4 de forma segura con un árbol de sumas fijo.

Para saber si un compilador puede mover escalas compartidas a través de una reducción de producto escalar en MXFP4, hay que tener en cuenta el redondeo binary32, el desbordamiento y el árbol de sumas elegido.

El artículo convierte la pregunta de equivalencia en un modelo entero de los dos cálculos y luego demuestra un rango suficiente para los códigos de escala y la suma de sus exponentes.

Con un árbol fijo, la demostración mantiene por debajo del desbordamiento las sumas parciales de la forma directa en cada nodo que no sea la raíz; así, ambos cálculos coinciden en la raíz, incluso si allí los dos se desbordan.

Las comprobaciones con un solver encontraron que el límite es ajustado en 26 configuraciones probadas: ninguna falló en el límite, pero todas tuvieron un contraejemplo al subir un paso de exponente.

La garantía se aplica a la aritmética binary32 indicada, al subdesbordamiento gradual y a un árbol de reducción certificado y fijo. Cubre la transformación local al bloque; una multiplicación de matrices completa también requiere el mismo orden y la misma aritmética en la acumulación externa.

Análisis

Detalles

Siguiente paperWhen whole-task audits misjudge component checkers