Inteligencia Artificial
EfficientViT: Transformador de visión con memoria eficiente para visión por computadora de alta resolución

Debido a su alta capacidad de modelo, los modelos Vision Transformer han disfrutado de un gran éxito en los últimos tiempos. A pesar de su rendimiento, los modelos de transformadores de visión tienen un defecto importante: su notable destreza computacional tiene altos costos de cálculo, y es la razón por la cual 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 funciones de elementos y remodelación de tensores en MHSA o red Multi-Head Self Attention. Para abordar estas operaciones de memoria ineficientes, los desarrolladores de EfficientViT han trabajado en un nuevo bloque de construcción utilizando un diseño tipo sándwich, es decir, el modelo EfficientViT utiliza una única red de atención automática de múltiples cabezales vinculada a la memoria entre capas FFN eficientes que ayuda a mejorar la eficiencia de la memoria. mejorando también la comunicación general del canal. Además, el modelo también descubre que los mapas de atención a menudo tienen altas similitudes entre cabezas, lo que conduce a una redundancia computacional. Para abordar el problema de la redundancia, el modelo EfficientViT presenta un módulo de atención grupal en cascada que alimenta a las cabezas de atención con diferentes divisiones de la función completa. El método no sólo ayuda a ahorrar costes computacionales, sino que también mejora la diversidad de atención del modelo.
Experimentos exhaustivos realizados con el modelo EfficientViT en diferentes escenarios indican que EfficientViT supera a los modelos eficientes existentes para visión de computadora al mismo tiempo que logra un buen equilibrio entre precisión y velocidad. Así que profundicemos y exploremos el modelo EfficientViT con un poco más de profundidad.
Introducción a los transformadores de visión y EfficientViT
Vision Transformers sigue siendo uno de los marcos más populares en la industria de la visión por computadora porque ofrece un rendimiento superior y altas capacidades computacionales. 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 que se sabe que brindan un rendimiento de última generación en conjuntos de datos de ImageNet como SwinV2 y V-MoE utilizan parámetros 3B y 14.7B respectivamente. El gran tamaño de estos modelos, junto con los costos y requisitos computacionales, los hacen prácticamente inadecuados para dispositivos y aplicaciones en tiempo real.
El modelo EfficientNet tiene como objetivo explorar cómo impulsar el rendimiento de modelos de transformadores de visióny encontrar los principios involucrados detrás del diseño de arquitecturas marco basadas en transformadores eficientes y efectivas. 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, incluida la redundancia de cálculo, 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á ligada a la memoria, lo que significa que la utilización total de la potencia informática en las CPU/GPU está prohibida o restringida por el retraso en el acceso a la memoria, lo que tiene como resultado un impacto negativo en la velocidad de ejecución de los transformadores. . Las funciones de elementos y la remodelación de tensores en MHSA o la red Multi-Head Self Attention son las operaciones más ineficientes en memoria. El modelo observa además que ajustar de manera óptima la relación entre FFN (red de retroalimentación) y MHSA puede ayudar a reducir significativamente el tiempo de acceso a la memoria sin afectar el rendimiento. Sin embargo, el modelo también observa cierta redundancia en los mapas de atención como resultado de la tendencia de la cabeza de atención a aprender proyecciones lineales similares.
El modelo es un cultivo final de los resultados obtenidos durante el trabajo de investigación para EfficientViT. El modelo presenta un nuevo negro con un diseño tipo sándwich que aplica una única capa MHSA vinculada a la memoria entre las capas Feed Forward Network o FFN. El enfoque no solo reduce el tiempo que lleva ejecutar operaciones vinculadas a la memoria en MHSA, sino que también hace que todo el proceso sea más eficiente en memoria al permitir más capas FFN para facilitar la comunicación entre diferentes canales. El modelo también hace uso de un nuevo módulo CGA o Atención de grupo en cascada que tiene como objetivo hacer que los cálculos sean más efectivos al reducir la redundancia computacional no solo en los cabezales de atención, sino que también aumenta la profundidad de la red, lo que da como resultado una capacidad elevada del modelo. Finalmente, el modelo expande el ancho del canal de los componentes esenciales de la red, incluidas las proyecciones de valor, al tiempo que reduce los componentes de la red con bajo valor, como dimensiones ocultas en las redes de retroalimentación para redistribuir los parámetros en el marco.

Como se puede ver en la imagen de arriba, el marco EfficientViT funciona mejor que los modelos CNN y ViT de última generación en términos de precisión y velocidad. Pero, ¿cómo logró el marco EfficientViT superar a algunos de los marcos de última generación actuales? Averigüemos eso.
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 utilizando tres perspectivas,
- Redundancia computacional.
- Acceso a la memoria.
- Uso de parámetros.
El modelo tiene como objetivo descubrir cómo los parámetros anteriores afectan la eficiencia de los modelos de transformadores de visión y cómo resolverlos para lograr mejores resultados con mayor eficiencia. Hablemos de ellos un poco más en profundidad.
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 o MAO. Como se puede ver en la imagen a continuación, varios operadores en el transformador, incluida la suma de elementos, la normalización y la remodelación frecuente, son operaciones ineficientes en memoria, porque requieren acceso a diferentes unidades de memoria, lo cual es un proceso que requiere mucho tiempo.

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

Eficiencia informática
Las capas MHSA tienden a incrustar la secuencia de entrada en múltiples subespacios o cabezas y calcula los mapas de atención individualmente, un enfoque que se sabe que mejora el rendimiento. Sin embargo, los mapas de atención no son computacionalmente baratos y, para explorar los costos computacionales, el modelo EfficientViT explora cómo reducir la atención redundante en modelos ViT más pequeños. El modelo mide la similitud máxima del coseno de cada cabeza y las cabezas restantes dentro de cada bloque entrenando los modelos DeiT-T y Swim-T reducidos en ancho con una aceleración de inferencia de 1.25 ×. Como se puede observar en la imagen a continuación, existe una gran cantidad de similitudes entre las cabezas de atención, lo que sugiere que el modelo incurre en redundancia de cálculo porque numerosas cabezas tienden a aprender proyecciones similares de la característica completa exacta.

Para alentar a las cabezas a aprender diferentes patrones, el modelo aplica explícitamente una solución intuitiva en la que cada cabeza recibe solo una parte de la característica completa, una técnica que se asemeja a la idea de convolución grupal. El modelo entrena diferentes aspectos de los modelos reducidos que presentan capas MHSA modificadas.
Eficiencia de parámetros
Los modelos ViT promedio heredan sus estrategias de diseño, como usar un ancho equivalente para las proyecciones, establecer la relación de expansión en 4 en FFN y aumentar las alturas sobre las etapas de los transformadores NLP. Las configuraciones de estos componentes deben rediseñarse cuidadosamente para módulos livianos. El modelo EfficientViT implementa la poda estructurada de Taylor para encontrar automáticamente los componentes esenciales en las capas Swim-T y DeiT-T, y explora más a fondo los principios de asignación de parámetros subyacentes. Bajo ciertas limitaciones de recursos, los métodos de poda eliminan los canales sin importancia y mantienen los críticos para garantizar la mayor precisión posible. La siguiente figura compara la proporción de canales con las incrustaciones de entrada antes y después de la poda en el marco Swin-T. Se observó que: Precisión basal: 79.1%; Precisión de poda: 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. Podría 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 últimos bloques.
Transformador de visión eficiente: arquitectura
Sobre la base de los aprendizajes 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 ViT eficiente modelo. Echemos un vistazo detallado a la estructura del marco EfficientViT. La siguiente figura le da una idea genérica del marco EfficientViT.
Componentes básicos del marco EfficientViT
En la siguiente figura se ilustra el componente básico de una red de transformadores de visión más eficiente.

El marco consta de un módulo de atención grupal en cascada, un diseño tipo sándwich con eficiencia 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. Hablemos de ellos con mayor detalle.
Diseño tipo sándwich
El modelo utiliza un nuevo diseño tipo sándwich para construir un bloque de memoria más efectivo y eficiente para el marco. El diseño tipo sándwich utiliza menos capas de autoatención ligadas a la memoria y utiliza redes de alimentación directa más eficientes en memoria para la comunicación del canal. Para ser más específico, el modelo aplica una única capa de autoatención para la mezcla espacial que se intercala entre las capas FFN. El diseño no solo ayuda a reducir el consumo de tiempo de memoria debido a las capas de autoatención, sino que también permite una comunicación efectiva entre diferentes canales dentro de la red gracias al uso de capas FFN. El modelo también aplica una capa de token de interacción adicional antes de cada capa de red de retroalimentación utilizando un DWConv o Convolución engañosa, y mejora la capacidad del modelo al introducir un sesgo inductivo de la información estructural local.
Atención grupal en cascada
Uno de los principales problemas de las capas MHSA es la redundancia en los cabezales de atención, lo que hace que los cálculos sean más ineficientes. Para resolver el problema, el modelo propone CGA o Cascaded Group Attention para transformadores de visión, un nuevo módulo de atención que se inspira en las convoluciones grupales en CNN eficientes. En este enfoque, el modelo alimenta cabezas individuales con divisiones de las características completas y, por lo tanto, descompone el cálculo de la atención explícitamente entre cabezas. Dividir las características en lugar de alimentar características completas a cada cabezal ahorra cálculo y hace que el proceso sea más eficiente, y el modelo continúa trabajando para mejorar aún más la precisión y su capacidad al alentar a las capas a aprender proyecciones sobre características que tienen 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 expandiendo el ancho del canal de los módulos críticos mientras reduce el ancho del canal de los módulos no tan importantes. Basado en el análisis de Taylor, el modelo establece dimensiones de canal pequeñas para las proyecciones en cada cabezal durante cada etapa o el modelo permite que las proyecciones tengan la misma dimensión que la entrada. El índice de expansión de la red de avance también se reduce de 2 a 4 para ayudar con la redundancia de parámetros. La estrategia de reasignación propuesta que implementa el marco EfficientViT asigna más canales a módulos importantes para permitirles aprender mejor representaciones en un espacio de alta dimensión que minimice la pérdida de información de características. Además, para acelerar el proceso de interferencia y mejorar aún más la eficiencia del modelo, el modelo elimina automáticamente los parámetros redundantes en módulos sin importancia.

La descripción general del marco EfficientViT se puede explicar en la imagen de arriba donde las partes,
- Arquitectura de EfficientViT,
- bloque de diseño sándwich,
- Atención grupal en cascada.
EfficientViT: Arquitecturas de red

La imagen de arriba resume la arquitectura de red del marco EfficientViT. El modelo introduce una incrustación de parches superpuestos [20,80] que incorpora parches de 16 × 16 en tokens de dimensión C1 que mejoran la capacidad del modelo para funcionar mejor en el aprendizaje de representación visual de bajo nivel. La arquitectura del modelo consta de tres etapas donde cada etapa apila los bloques de construcción propuestos del marco EfficientViT, y la cantidad de tokens en cada capa de submuestreo (2 veces el submuestreo de la resolución) se reduce en 4 veces. Para hacer que el submuestreo sea más eficiente, el modelo propone un bloque de submuestra que también tiene el diseño sándwich propuesto, con la excepción de que un bloque residual invertido reemplaza la capa de atención para reducir la pérdida de información durante el muestreo. Además, en lugar del LayerNorm (LN) convencional, el modelo utiliza BatchNorm (BN) porque BN se puede plegar en las capas lineales o convolucionales anteriores, lo que le otorga una ventaja de tiempo de ejecución sobre LN.
Familia de modelos EfficientViT
La familia de modelos EfficientViT consta de 6 modelos con diferentes escalas de profundidad y ancho, y se asigna un número determinado de cabezales 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 MobileNetV3 porque el proceso de procesamiento en las primeras etapas con resoluciones más grandes lleva mucho tiempo. El ancho aumenta a lo largo de las etapas con un pequeño factor para reducir la redundancia en las etapas posteriores. La tabla adjunta a continuación proporciona los detalles arquitectónicos de la familia de modelos EfficientViT, donde C, L y H se refieren al ancho, la profundidad y la cantidad de cabezales en una etapa en particular.

EfficientViT: implementación del modelo y resultados
El modelo EfficientViT tiene un tamaño de lote total de 2,048, está construido con Timm & PyTorch, está entrenado desde cero durante 300 épocas utilizando 8 GPU Nvidia V100, utiliza un programador de tasa de aprendizaje de coseno, un optimizador AdamW y lleva a cabo su experimento de clasificación de imágenes en ImageNet. -1K. Las imágenes de entrada se recortan y cambian de tamaño aleatoriamente a una resolución de 224×224. Para los experimentos que involucran la clasificación de imágenes posteriores, el marco EfficientViT ajusta el modelo para 300 épocas y usa el optimizador AdamW con un tamaño de lote de 256. El modelo usa RetineNet para la detección de objetos en COCO y continúa entrenando los modelos durante 12 más. épocas 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 presentan en la siguiente figura. Como puede verse, la familia de modelos EfficientViT supera a los marcos actuales en la mayoría de los casos y logra lograr un equilibrio ideal entre velocidad y precisión.

Comparación con CNN eficientes y ViT eficientes
El modelo primero compara su desempeño con CNN eficientes como EfficientNet y marcos de CNN básicos como MobileNets. Como se puede ver, en comparación con los marcos MobileNet, los modelos EfficientViT obtienen una mejor puntuación de precisión superior, mientras se ejecutan 1 veces y 3.0 veces más rápido en la CPU Intel y la GPU V2.5, respectivamente.

La figura anterior compara el rendimiento del modelo EfficientViT con los modelos ViT a gran escala de última generación que se ejecutan en el conjunto de datos ImageNet-1K.
Clasificación de imágenes posteriores
El modelo EfficientViT se aplica en diversas tareas posteriores para estudiar su capacidad de aprendizaje por transferencia. La siguiente imagen resume los resultados del experimento. Como se puede observar, el modelo EfficientViT-M5 logra resultados mejores o similares en todos los conjuntos de datos, manteniendo un rendimiento mucho mayor. La única excepción es el conjunto de datos de automóviles, donde el modelo EfficientViT no alcanza la precisión necesaria.

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

Conclusión
En este artículo, hemos hablado de EfficientViT, una familia de modelos de transformadores de visión rápida que utilizan atención grupal en cascada y proporcionan operaciones con memoria eficiente. Amplios experimentos realizados para analizar el rendimiento de EfficientViT han mostrado resultados prometedores, ya que el modelo EfficientViT supera a los modelos actuales de CNN y transformadores de visión en la mayoría de los casos. También hemos intentado proporcionar un análisis sobre los factores que influyen en la velocidad de interferencia de los transformadores de visión.




