Los investigadores presentan un algoritmo basado en el aprendizaje automático para aproximar eficientemente multiplicaciones de matrices

Estás leyendo la publicación: Los investigadores presentan un algoritmo basado en el aprendizaje automático para aproximar eficientemente multiplicaciones de matrices

Uno de los procesos más importantes y exigentes desde el punto de vista computacional en el aprendizaje automático es la multiplicación de matrices. Como resultado, se ha investigado mucho sobre los multiplicadores de matrices que se pueden aproximar bien. Los investigadores intentan desarrollar un sistema basado en el aprendizaje que funcione mucho mejor que los enfoques actuales de este estudio. Funciona 100 veces más rápido que los productos matriciales reales y diez veces más rápido que los algoritmos aproximados más populares, según experimentos que utilizan cientos de matrices de varios campos. El enfoque también tiene la intrigante virtud de requerir cero multiplicaciones cuando se conoce una matriz de antemano, lo cual es un escenario típico.

Estos hallazgos apuntan a una base más prometedora para el aprendizaje automático que los productos matriciales cuantificados escalares, factorizados y dispersos que últimamente han sido objeto de estudios intensivos e inversión en hardware: una combinación de hash, promedio y barajado de bytes. La principal dificultad es minimizar la cantidad de tiempo de cálculo necesario para aproximar procesos lineales con un cierto nivel de precisión. Cuando uno obtiene una matriz de datos A cuyas filas son muestras y quiere aplicar un operador lineal B a estas muestras, esta situación ocurre naturalmente en el aprendizaje automático y la minería de datos. B podría ser, entre otras cosas, un clasificador lineal, un regresor lineal o una matriz de incrustación.

Como ilustración práctica, tome el trabajo de aproximar un clasificador softmax entrenado para predecir etiquetas de imágenes utilizando incrustaciones obtenidas de una red neuronal. Aquí, las columnas de B son los vectores de peso para cada clase, mientras que las filas de A son las incrustaciones de cada imagen. Al calcular el producto AB y obtener el argmax dentro de cada fila de resultados, se logra la clasificación. En los conjuntos de datos CIFAR-10 y CIFAR-100, nuestra técnica superó a sus principales competidores. Los resultados se muestran en la siguiente figura.

🔥 Recomendado:  Meta para permitir que los usuarios de Horizon vendan artículos virtuales
Fuente: https://arxiv.org/pdf/2106.10860v1.pdf

En su lugar, MADDNESS1 aplica una función de preprocesamiento no lineal y simplifica el problema a las búsquedas en tablas. Además, cuando B se conoce con anticipación, como cuando se aplica un modelo lineal entrenado a nuevos datos, MADDNESS no requiere ninguna operación de suma y multiplicación. El enfoque está más estrechamente relacionado con los métodos de búsqueda de similitud de vectores. En lugar de utilizar una función de cuantización costosa con sumas múltiples múltiples, se ha presentado una familia de funciones de cuantificación sin sumas múltiples.

Las contribuciones del documento se pueden resumir de la siguiente manera:

  1. Una familia rápida de algoritmos de cuantificación de vectores de aprendizaje capaz de codificar más de 100 GB de datos por segundo en un solo hilo de CPU.
  2. Una técnica de suma de enteros de bajo ancho de banda que evita el upcasting, la saturación y el desbordamiento.
  3. Un método para la multiplicación aproximada de matrices basado en estas funciones. Los experimentos en cientos de matrices diferentes muestran que nuestro enfoque supera sustancialmente las opciones existentes. También incluye garantías de calidad teóricas.

La conclusión empírica crítica es que el enfoque MADDNESS propuesto ofrece aceleraciones de orden de magnitud sobre los métodos AMM existentes y aceleraciones de hasta dos órdenes de magnitud sobre la línea de base empaquetada. Hasta tres órdenes de magnitud también pueden comprimir matrices. Estos resultados se calculan en una CPU y solo están disponibles cuando existe un conjunto de entrenamiento para una matriz. Los investigadores afirman un mayor rendimiento solo cuando una matriz es más grande que la otra y ambas matrices son altas. Este es el régimen en el que la función de codificación de alta velocidad (pero menos precisa) es ventajosa.

🔥 Recomendado:  El modelo de negocio de los blogs: ¿qué es y cómo funciona?

Cuando la matriz más extensa se conoce de antemano, el enfoque pierde utilidad; esta suposición es frecuente en la búsqueda de similitud y elimina el requisito de una función de codificación rápida. La suma aproximada de enteros y las búsquedas en tablas fusionadas probablemente se puedan usar incluso sin ninguna de estas suposiciones, pero establecer esto es una tarea para el futuro. El código fuente de MADDNESS está disponible gratuitamente en GitHub.

Este artículo está escrito como un artículo resumido por el personal de Marktechpost basado en el documento ‘Multiplicar matrices sin multiplicar‘. Todo el crédito de esta investigación es para los investigadores de este proyecto. Revisar la papel, github.

Por favor, no olvides unirte a nuestro Subreddit de aprendizaje automático

Echa un vistazo a https://aitoolsclub.com para encontrar 100 de Cool AI Tools