Los modelos de inteligencia artificial (IA) basados en redes neuronales que se utilizan en aplicaciones como el procesamiento de imágenes médicas y el reconocimiento de voz realizan operaciones sobre estructuras de datos sumamente complejas que requieren una enorme cantidad de cálculos para su procesamiento y consumen mucha energía. Para mejorar la eficiencia de los modelos de IA, los investigadores del Instituto Tecnológico de Massachussets (MIT) crearon un sistema automatizado que permite a los desarrolladores de algoritmos de aprendizaje profundo aprovechar simultáneamente dos tipos de redundancia de datos. Esto reduce la cantidad de computación, ancho de banda y almacenamiento de memoria necesarios para las operaciones de aprendizaje automático.
![Inteligencia Artificial.](https://static.casadomo.com/media/2025/02/mit-sistema-automatizado-aprovechamiento-redundancia-datos-1.png)
En el aprendizaje automático, los datos suelen representarse y manipularse como matrices multidimensionales conocidas como tensores. Un tensor es como una matriz rectangular de valores dispuestos en dos ejes, filas y columnas. Pero a diferencia de una matriz bidimensional, un tensor puede tener muchas dimensiones o ejes, lo que hace que sea más difícil manipularlos.
Los modelos de aprendizaje profundo realizan operaciones sobre tensores mediante la multiplicación y la suma repetidas de matrices: este proceso es el que permite a las redes neuronales aprender patrones complejos en los datos. El gran volumen de cálculos que se deben realizar en estas estructuras de datos multidimensionales requiere una enorme cantidad de computación y energía.
Tipos de redundancia de los algoritmos de aprendizaje automático
Pero debido a la forma en que se organizan los datos en los tensores, los ingenieros a menudo pueden aumentar la velocidad de una red neuronal eliminando cálculos redundantes. Además, a veces un tensor es simétrico, lo que significa que la mitad superior y la mitad inferior de la estructura de datos son iguales. En este caso, el modelo solo necesita operar en una mitad, lo que reduce la cantidad de cálculos. Este tipo de redundancia de datos se denomina simetría.
Los investigadores del MIT crearon un nuevo compilador, que es un programa informático que traduce código complejo a un lenguaje más simple que puede ser procesado por una máquina. Su compilador, llamado SySTeC, puede optimizar los cálculos aprovechando automáticamente tanto la escasez como la simetría de los tensores.
Comenzaron el proceso de construcción de SySTeC identificando tres optimizaciones clave que pueden realizar utilizando simetría. En primer lugar, si el tensor de salida del algoritmo es simétrico, entonces solo necesita calcular la mitad de él. En segundo lugar, si el tensor de entrada es simétrico, entonces el algoritmo solo necesita leer la mitad de él. Por último, si los resultados intermedios de las operaciones con tensores son simétricos, el algoritmo puede omitir los cálculos redundantes.
Generar algoritmos desde cero
Para utilizar SySTeC, un desarrollador introduce su programa y el sistema optimiza automáticamente su código para los tres tipos de simetría. Luego, la segunda fase de SySTeC realiza transformaciones adicionales para almacenar únicamente valores de datos distintos de cero, optimizando el programa para lograr una mayor escasez. Al final, SySTeC genera código listo para usar.
Los investigadores demostraron aceleraciones de casi un factor de 30 con el código generado automáticamente por SySTeC. Debido a que el sistema está automatizado, podría ser especialmente útil en situaciones en las que un científico desea procesar datos utilizando un algoritmo que está escribiendo desde cero.
En el futuro, los investigadores quieren integrar SySTeC en los sistemas de compilación de tensores dispersos existentes para crear una interfaz óptima para los usuarios.