Modelos y plataformas de IA
EfficientViT: Transformador de Visión Eficiente con Memoria para Visión Computacional de Alta Resolución

Debido a su alta capacidad de modelo, los modelos de Transformador de Visión han tenido un gran éxito en tiempos recientes. A pesar de su rendimiento, los modelos de transformadores de visión tienen un defecto importante: su notable capacidad de cálculo conlleva altos costos de cálculo, y es la razón por la que los transformadores de visión no son la primera opción para aplicaciones en tiempo real. Para abordar este problema, un grupo de desarrolladores lanzó EfficientViT, una familia de transformadores de visión de alta velocidad.
Al trabajar en EfficientViT, los desarrolladores observaron que la velocidad de los modelos de transformadores actuales a menudo está limitada por operaciones de memoria ineficientes, especialmente las funciones elementales y el cambio de forma de tensor en la red de autoatención multi-cabeza (MHSA). Para abordar estas operaciones de memoria ineficientes, los desarrolladores de EfficientViT han trabajado en un nuevo bloque de construcción que utiliza un diseño de sandwich, es decir, el modelo EfficientViT utiliza una sola capa de autoatención multi-cabeza entre capas de red neuronal feed-forward (FFN) eficientes que ayuda a mejorar la eficiencia de la memoria y también a mejorar la comunicación entre canales. Además, el modelo también descubre que los mapas de atención a menudo tienen similitudes altas entre cabezas, lo que conduce a redundancia computacional. Para abordar la redundancia, el modelo EfficientViT presenta un módulo de atención en cascada que alimenta las cabezas de atención con diferentes divisiones de la característica completa. El método no solo ayuda a ahorrar costos computacionales, sino que también mejora la diversidad de atención del modelo.
Experimentos exhaustivos realizados en el modelo EfficientViT en diferentes escenarios indican que EfficientViT supera a los modelos eficientes existentes para la visión computacional mientras logra un buen equilibrio entre precisión y velocidad. Así que profundicemos un poco más y exploremos el modelo EfficientViT con más detalle.
Introducción a los Transformadores de Visión y EfficientViT
Los Transformadores de Visión siguen siendo uno de los marcos más populares en la industria de la visión computacional porque ofrecen un rendimiento superior y capacidades computacionales altas. Sin embargo, con la mejora constante de la precisión y el rendimiento de los modelos de transformadores de visión, los costos operativos y la sobrecarga computacional también aumentan. Por ejemplo, los modelos actuales conocidos por ofrecer un rendimiento de estado del arte en conjuntos de datos de ImageNet como SwinV2 y V-MoE utilizan 3B y 14,7B parámetros, respectivamente. El tamaño de estos modelos, combinado con los costos computacionales y los requisitos, los hace prácticamente inadecuados para dispositivos y aplicaciones en tiempo real.
El modelo EfficientNet tiene como objetivo explorar cómo mejorar el rendimiento de los modelos de transformadores de visión y encontrar los principios involucrados en el diseño de arquitecturas de marcos de transformadores eficientes y efectivos. El modelo EfficientViT se basa en marcos de transformadores de visión existentes como Swim y DeiT, y analiza tres factores esenciales que afectan las velocidades de interferencia de los modelos, incluyendo la redundancia computacional, el acceso a la memoria y el uso de parámetros. Además, el modelo observa que la velocidad de los modelos de transformadores de visión está limitada por la memoria, lo que significa que la utilización completa de la potencia de cálculo en CPUs/GPUs está prohibida o restringida por la demora en el acceso a la memoria, lo que tiene un impacto negativo en la velocidad de ejecución de los transformadores. Las funciones elementales y el cambio de forma de tensor en la red de autoatención multi-cabeza (MHSA) son las operaciones más ineficientes en términos de memoria. El modelo también observa que ajustar óptimamente la relación entre la red neuronal feed-forward (FFN) y la MHSA puede ayudar a reducir significativamente el tiempo de acceso a la memoria sin afectar el rendimiento. Sin embargo, el modelo también observa alguna redundancia en los mapas de atención como resultado de la tendencia de las cabezas de atención a aprender proyecciones lineales similares.
El modelo es el resultado final de los hallazgos durante el trabajo de investigación para EfficientViT. El modelo presenta un nuevo bloque con un diseño de sandwich que aplica una sola capa de autoatención multi-cabeza entre las capas de red neuronal feed-forward (FFN). El enfoque no solo reduce el tiempo que se tarda en ejecutar operaciones de memoria ineficientes en MHSA, sino que también hace que todo el proceso sea más eficiente en términos de memoria al permitir que más capas de FFN faciliten la comunicación entre diferentes canales. El modelo también utiliza un nuevo módulo de atención en cascada que busca hacer que los cálculos sean más efectivos al reducir la redundancia computacional no solo en las cabezas de atención, sino que también aumenta la profundidad de la red, lo que resulta en una mayor capacidad del modelo. Finalmente, el modelo amplía el ancho del canal de los componentes de red esenciales, incluyendo proyecciones de valor, mientras que reduce el ancho del canal de los componentes de red con poco valor, como las dimensiones ocultas en las redes neuronales feed-forward, para redistribuir los parámetros en el marco.

Como se puede ver en la imagen de arriba, el marco de EfficientViT funciona mejor que los modelos actuales de CNN y ViT en términos de precisión y velocidad. Pero, ¿cómo logró el marco de EfficientViT superar a algunos de los marcos actuales de estado del arte? Veamos.
EfficientViT: Mejorando la Eficiencia de los Transformadores de Visión
El modelo EfficientViT tiene como objetivo mejorar la eficiencia de los modelos de transformadores de visión existentes desde tres perspectivas,
- Redundancia computacional.
- Acceso a la memoria.
- Uso de parámetros.
El modelo busca descubrir cómo afectan los parámetros anteriores la eficiencia de los modelos de transformadores de visión y cómo solucionarlos para lograr mejores resultados con mayor eficiencia. Veamos cada uno de ellos con más detalle.
Acceso a la Memoria y Eficiencia
Uno de los factores esenciales que afectan la velocidad de un modelo es la sobrecarga de acceso a la memoria (MAO). Como se puede ver en la imagen de abajo, varios operadores en el transformador, incluyendo la suma elemental, la normalización y el cambio de forma frecuente, son operaciones ineficientes en términos de memoria, ya que requieren acceso a diferentes unidades de memoria, lo que es un proceso que consume tiempo.

Aunque existen algunos métodos que pueden simplificar los cálculos de autoatención estándar, como la aproximación de bajo rango y la atención dispersa, a menudo ofrecen una aceleración limitada y degradan la precisión.
Por otro lado, el marco de EfficientViT busca reducir el costo de acceso a la memoria al reducir la cantidad de capas ineficientes en términos de memoria en el marco. El modelo reduce la escala de DeiT-T y Swin-T a subredes pequeñas con una mayor velocidad de interferencia de 1,25X y 1,5X, y compara el rendimiento de estas subredes con las proporciones de las capas de MHSA. Como se puede ver en la imagen de abajo, cuando se implementa, el enfoque mejora la precisión de las capas de MHSA en un 20-40%.

Eficiencia Computacional
Las capas de MHSA tienden a incrustar la secuencia de entrada en múltiples subespacios o cabezas y calculan los mapas de atención individualmente, un enfoque que se sabe que mejora el rendimiento. Sin embargo, los mapas de atención no son baratos en términos computacionales, y para explorar los costos computacionales, el modelo EfficientViT explora cómo reducir la redundancia de atención en modelos de ViT más pequeños. El modelo mide la similitud de coseno máxima de cada cabeza y las cabezas restantes dentro de cada bloque al entrenar los modelos de DeiT-T y Swim-T con una reducción de la velocidad de inferencia de 1,25 veces. Como se puede observar en la imagen de abajo, hay una gran similitud entre las cabezas de atención, lo que sugiere que el modelo incurre en redundancia computacional porque muchas cabezas tienden a aprender proyecciones similares de la característica completa.

Para fomentar que las cabezas aprendan patrones diferentes, el modelo aplica una solución intuitiva en la que cada cabeza se alimenta solo con una parte de la característica completa, una técnica que se asemeja a la idea de la convolución en grupo. El modelo entrena diferentes aspectos de los modelos reducidos que presentan capas de MHSA modificadas.
Eficiencia de Parámetros
Los modelos de ViT promedio heredan sus estrategias de diseño, como utilizar un ancho equivalente para las proyecciones, establecer la relación de expansión en 4 en la red neuronal feed-forward (FFN) y aumentar las cabezas en las etapas desde NLP. Las configuraciones de estos componentes necesitan ser rediseñadas cuidadosamente para módulos ligeros. El modelo EfficientViT despliega la poda estructurada de Taylor para encontrar los componentes esenciales en las capas de Swim-T y DeiT-T automáticamente y explora los principios subyacentes de la asignación de parámetros. Bajo ciertas restricciones de recursos, los métodos de poda eliminan los canales no importantes y mantienen los críticos para garantizar la mayor precisión posible. La figura de abajo compara la relación de canales con las incrustaciones de entrada antes y después de la poda en el marco de Swin-T. Se observó que: Precisión base: 79,1%; precisión podada: 76,5%.

La imagen de arriba indica que las dos primeras etapas del marco conservan más dimensiones, mientras que las dos últimas etapas conservan muchas menos dimensiones. Puede significar que una configuración de canal típica que duplica el canal después de cada etapa o utiliza canales equivalentes para todos los bloques puede resultar en una redundancia sustancial en los bloques finales.
Transformador de Visión Eficiente: Arquitectura
En base a los conocimientos obtenidos durante el análisis anterior, los desarrolladores trabajaron en la creación de un nuevo modelo jerárquico que ofrece velocidades de interferencia rápidas, el modelo EfficientViT. Veamos con más detalle la estructura del marco de EfficientViT. La figura de abajo nos da una idea general del marco de EfficientViT.
Bloques de Construcción del Marco de EfficientViT
El bloque de construcción para la red de transformador de visión más eficiente se ilustra en la figura de abajo.

El marco consiste en un módulo de atención en cascada, un diseño de sandwich eficiente en términos de memoria y una estrategia de reasignación de parámetros que se centran en mejorar la eficiencia del modelo en términos de cálculo, memoria y parámetros, respectivamente. Veamos cada uno de ellos con más detalle.
Diseño de Sandwich
El modelo utiliza un nuevo diseño de sandwich para construir un bloque de memoria más eficiente y eficaz para el marco. El diseño de sandwich utiliza menos capas de autoatención limitadas por la memoria y hace uso de redes neuronales feed-forward más eficientes en términos de memoria para la comunicación entre canales. Para ser más específicos, el modelo aplica una sola capa de autoatención para la mezcla espacial que se encuentra entre las capas de FFN. El diseño no solo ayuda a reducir el tiempo de consumo de memoria debido a las capas de autoatención, sino que también permite una comunicación efectiva entre los diferentes canales dentro de la red gracias al uso de las capas de FFN. El modelo también aplica una capa de token de interacción adicional antes de cada capa de red neuronal feed-forward utilizando una convolución engañosa (DWConv) y mejora la capacidad del modelo al introducir un sesgo inductivo de la información estructural local.
Atención en Cascada
Uno de los problemas principales con las capas de MHSA es la redundancia en las cabezas de atención, lo que hace que los cálculos sean menos eficientes. Para solucionar este problema, el modelo propone la atención en cascada (CGA) para los transformadores de visión, un nuevo módulo de atención que se inspira en las convoluciones en grupo de las redes neuronales convolucionales (CNN) eficientes. En este enfoque, el modelo alimenta las cabezas de atención individuales con divisiones de la característica completa y, por lo tanto, descompone el cálculo de atención explícitamente entre las cabezas. Dividir las características en lugar de alimentar las cabezas de atención con la característica completa ahorra cálculos y hace que el proceso sea más eficiente, y el modelo continúa trabajando para mejorar la precisión y la capacidad del modelo al fomentar que las capas aprendan proyecciones en características que tengan información más rica.

Reasignación de Parámetros
Para mejorar la eficiencia de los parámetros, el modelo reasigna los parámetros en la red al ampliar el ancho del canal de los módulos críticos mientras reduce el ancho del canal de los módulos no tan importantes. En base al análisis de Taylor, el modelo establece dimensiones de canal pequeñas para las proyecciones en cada cabeza durante cada etapa o permite que las proyecciones tengan la misma dimensión que la entrada. La relación de expansión de la red neuronal feed-forward se reduce a 2 desde 4 para ayudar con la redundancia de parámetros. La estrategia de reasignación propuesta que implementa el marco de EfficientViT asigna más canales a los módulos importantes para permitir que aprendan representaciones en un espacio de alta dimensión mejor, lo que minimiza la pérdida de información de características. Además, para acelerar el proceso de interferencia y mejorar la eficiencia del modelo aún más, el modelo elimina automáticamente los parámetros redundantes en los módulos no importantes.

La visión general del marco de EfficientViT se puede explicar en la imagen de arriba, donde las partes,
- Arquitectura de EfficientViT,
- Diseño de sandwich,
- Atención en cascada.
EfficientViT: Arquitecturas de Red

La imagen de arriba resume la arquitectura de red del marco de EfficientViT. El modelo introduce una incrustación de parches superpuesta [20,80] que incrusta parches de 16×16 en tokens de dimensión C1, lo que mejora la capacidad del modelo para aprender representaciones visuales de bajo nivel. La arquitectura del modelo consta de tres etapas, donde cada etapa apila los bloques de construcción propuestos del marco de EfficientViT, y el número de tokens en cada capa de subsampleo (2× subsampleo de la resolución) se reduce en 4 veces. Para hacer que el subsampleo sea más eficiente, el modelo propone un bloque de subsampleo que también tiene el diseño de sandwich propuesto, con la excepción de que un bloque de residuo invertido reemplaza la capa de atención para reducir la pérdida de información durante el sampleo. Además, en lugar de la normalización de capa convencional (LN), el modelo utiliza la normalización por lotes (BN) porque la BN se puede combinar con las capas lineales o convolucionales anteriores, lo que le da una ventaja en tiempo de ejecución sobre la LN.
Familia de Modelos de EfficientViT
La familia de modelos de EfficientViT consta de 6 modelos con diferentes escalas de profundidad y ancho, y se asigna un número fijo de cabezas para cada etapa. Los modelos utilizan menos bloques en las etapas iniciales en comparación con las etapas finales, un proceso similar al seguido por el marco de MobileNetV3, porque el proceso de procesamiento de etapas tempranas con resoluciones más grandes es costoso en términos de tiempo. El ancho se aumenta en las etapas con un factor pequeño para reducir la redundancia en las etapas finales. La tabla adjunta proporciona los detalles arquitectónicos de la familia de modelos de EfficientViT, donde C, L y H se refieren al ancho, profundidad y número de cabezas en la etapa particular.

EfficientViT: Implementación del Modelo y Resultados
El modelo EfficientViT tiene un tamaño de lote total de 2.048, se construye con Timm y PyTorch, se entrena desde cero durante 300 épocas utilizando 8 GPUs Nvidia (NVDA ) V100, utiliza un programador de aprendizaje de coseno, un optimizador AdamW y realiza su experimento de clasificación de imágenes en ImageNet-1K. Las imágenes de entrada se recortan y se redimensionan aleatoriamente a una resolución de 224×224. Para los experimentos que involucran la clasificación de imágenes descendentes, el marco de EfficientViT ajusta el modelo durante 300 épocas y utiliza un optimizador AdamW con un tamaño de lote de 256. El modelo utiliza RetineNet para la detección de objetos en COCO y procede a entrenar los modelos durante 12 épocas adicionales con la misma configuración.
Resultados en ImageNet
Para analizar el rendimiento de EfficientViT, se compara con los modelos actuales de ViT y CNN en el conjunto de datos de ImageNet. Los resultados de la comparación se informan en la figura siguiente. Como se puede ver, la familia de modelos de EfficientViT supera a los marcos actuales en la mayoría de los casos y logra un equilibrio ideal entre velocidad y precisión.

Comparación con CNN Eficientes y ViT Eficientes
El modelo se compara primero con CNN eficientes como EfficientNet y marcos de CNN vanilla como MobileNets. Como se puede ver, cuando se compara con los marcos de MobileNet, los modelos de EfficientViT obtienen una mejor puntuación de precisión superior, mientras que ejecutan 3,0 veces y 2,5 veces más rápido en CPU de Intel (INTC ) y GPU V100, respectivamente.

La figura de arriba compara el rendimiento del modelo EfficientViT con los modelos de ViT de gran escala que se ejecutan en el conjunto de datos de ImageNet-1K.
Clasificación de Imágenes Descendentes
El modelo EfficientViT se aplica a varias tareas descendentes para estudiar las capacidades de aprendizaje de transferencia del modelo, y la imagen de abajo resume los resultados del experimento. Como se puede observar, el modelo EfficientViT-M5 logra resultados mejores o similares en todos los conjuntos de datos mientras mantiene un rendimiento mucho mayor. La única excepción es el conjunto de datos de Cars, donde el modelo EfficientViT no logra entregar en términos de precisión.

Detección de Objetos
Para analizar la capacidad del modelo EfficientViT para detectar objetos, se compara con modelos eficientes en la tarea de detección de objetos de COCO, y la imagen de abajo resume los resultados de la comparación.

Pensamientos Finales
En este artículo, hemos hablado sobre EfficientViT, una familia de modelos de transformadores de visión rápidos que utilizan la atención en cascada y ofrecen operaciones de memoria eficientes. Experimentos exhaustivos realizados para analizar el rendimiento de EfficientViT han mostrado resultados prometedores, ya que el modelo EfficientViT supera a los modelos actuales de CNN y ViT en la mayoría de los casos. También hemos intentado proporcionar un análisis de los factores que afectan la velocidad de interferencia de los transformadores de visión.












