DeVIT: Low-Power Vision Transformer Acceleration Using Delta Computation
Este artículo presenta DeVIT, un método de aceleración de bajo consumo para Vision Transformers que aprovecha la localidad de valores en modelos cuantizados para permitir la multiplicación de matrices sin multiplicadores mediante computación diferencial.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que estás intentando enseñarle a un robot superinteligente a reconocer imágenes, como detectar un gato en un árbol o un coche en una calle. Para hacer esto, usamos programas informáticos especiales que funcionan como el cerebro, llamados "Vision Transformers". Estos programas son increíblemente potentes, pero también son bestias masivas y hambrientas. Necesitan realizar miles de millones de cálculos matemáticos diminutos cada vez que miran una foto, y devoran enormes cantidades de memoria y batería. Debido a esto, es muy difícil ponerlos en dispositivos pequeños como teléfonos o drones sin que se sobrecalienten o se queden sin energía.
Para domar a estas bestias hambrientas, los científicos han intentado simplificar las matemáticas. Un truco popular es la "cuantización", que es como redondear los números que el robot utiliza. En lugar de usar decimales precisos, el robot solo usa un conjunto limitado de números enteros, como 0, 1, 2, hasta 255. Esto ahorra espacio, pero no evita que el robot realice miles de millones de multiplicaciones. Sin embargo, hay un beneficio oculto a este redondeo: debido a que el robot se ve obligado a usar solo unos pocos números específicos, termina usando los mismos números una y otra vez. Es como si un chef solo tuviera cinco ingredientes; usaría el mismo frasco de especias repetidamente. La gran pregunta es: ¿podemos construir un robot que note cuando está a punto de usar la misma especia de nuevo y se salte el trabajo, ahorrando energía en el proceso?
Esto es exactamente lo que los investigadores detrás de DeVIT (Delta-coded Vision Transformer) se propusieron resolver. Se dieron cuenta de que, debido a que estos "Vision Transformers" están obligados a usar un conjunto limitado de números, los pesos (los números que le dicen al robot qué buscar) a menudo se encuentran justo uno al lado del otro en valor. Por ejemplo, si el robot necesita multiplicar un número por 5, luego por 6, luego por 7, no necesita hacer tres cálculos separados y difíciles. Puede simplemente hacer el primero, luego sumar un poquito para el siguiente, y sumar un poquito más para el que sigue.
El equipo de DeVIT inventó una forma ingeniosa de organizar estos números para que el robot pueda hacer este truco de "sumar un poquito" en lugar de hacer multiplicaciones completas y pesadas. Ordenan los números en una línea de menor a mayor y almacenan solo la diferencia entre ellos (el "delta"). Si la diferencia es pequeña, el robot puede simplemente "desplazar" el número (que es como multiplicar por 2 o 4) y sumarlo, en lugar de hacer una multiplicación compleja. Si la diferencia es cero (lo que significa que el número es el mismo que el anterior), el robot no tiene que hacer nada en absoluto: simplemente reutiliza la respuesta anterior.
Al utilizar este método, los investigadores demostraron que podían reducir la cantidad de matemáticas que el robot necesita hacer a solo 0.53 de lo que necesitaría una versión no optimizada. Eso significa que el robot hace menos de la mitad del trabajo. En sus pruebas, este nuevo diseño utilizó 159.57 nJ (nanojulios) de energía para un único paso de cálculo importante. Esto es aproximadamente un 5.5% menos de energía que los mejores métodos existentes de "desplazamiento y suma" con los que lo compararon.
Sin embargo, hay un inconveniente. Para que esto funcione, los investigadores tuvieron que ordenar los números y almacenar información adicional sobre dónde pertenecen, lo que ocupa un poco de espacio de memoria extra. Además, debido a que están aproximando las diferencias, hay un pequeño compromiso en la precisión. En sus experimentos con diferentes modelos, la precisión cayó una pequeña cantidad: a veces hasta 3.11 puntos porcentuales para la clasificación de imágenes o 2.53 puntos mAP para la detección de objetos. Aunque este es un precio pequeño a pagar por un ahorro de energía tan grande, significa que el método aún no es perfecto para todas las situaciones.
En resumen, DeVIT es como darle al robot una hoja de referencia. En lugar de recalcular los mismos problemas matemáticos desde cero cada vez, mira su lista de números ordenados, ve que el siguiente está solo a un pequeño paso de distancia y toma un atajo. Esto hace que el robot sea más rápido y mucho más eficiente energéticamente, acercándonos un paso más a tener una IA potente que pueda funcionar en dispositivos cotidianos sin agotar la batería.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.