AdaTape Modelo base con cálculo adaptativo y lectura y escritura dinámicas
AdaTape modelo adaptativo con lectura y escritura dinámicas
Publicado por Fuzhao Xue, Investigador Interno, y Mostafa Dehghani, Científico Investigador, Google
La computación adaptativa se refiere a la capacidad de un sistema de aprendizaje automático para ajustar su comportamiento en respuesta a los cambios en el entorno. Mientras que las redes neuronales convencionales tienen una función fija y una capacidad de cálculo, es decir, gastan la misma cantidad de FLOPs para procesar diferentes entradas, un modelo con cálculo adaptable y dinámico modula el presupuesto de cálculo que dedica a procesar cada entrada, dependiendo de la complejidad de la entrada.
La computación adaptativa en redes neuronales es atractiva por dos razones clave. Primero, el mecanismo que introduce adaptabilidad proporciona un sesgo inductivo que puede desempeñar un papel clave en la resolución de algunas tareas desafiantes. Por ejemplo, permitir diferentes números de pasos de cálculo para diferentes entradas puede ser crucial para resolver problemas aritméticos que requieren modelar jerarquías de diferentes niveles. Segundo, brinda a los profesionales la capacidad de ajustar el costo de la inferencia a través de una mayor flexibilidad ofrecida por el cálculo dinámico, ya que estos modelos se pueden ajustar para gastar más FLOPs procesando una nueva entrada.
Las redes neuronales pueden volverse adaptables utilizando diferentes funciones o presupuestos de cálculo para varias entradas. Una red neuronal profunda se puede considerar como una función que produce un resultado basado tanto en la entrada como en sus parámetros. Para implementar tipos de funciones adaptativas, se activa selectivamente un subconjunto de parámetros en función de la entrada, un proceso conocido como cálculo condicional. La adaptabilidad basada en el tipo de función se ha explorado en estudios sobre mezcla de expertos, donde los parámetros activados de forma dispersa para cada muestra de entrada se determinan a través del enrutamiento.
Otra área de investigación en computación adaptable implica presupuestos de cálculo dinámicos. A diferencia de las redes neuronales estándar, como T5, GPT-3, PaLM y ViT, cuyo presupuesto de cálculo es fijo para diferentes muestras, investigaciones recientes han demostrado que los presupuestos de cálculo adaptables pueden mejorar el rendimiento en tareas en las que los transformadores tienen limitaciones. Muchos de estos trabajos logran adaptabilidad mediante el uso de profundidad dinámica para asignar el presupuesto de cálculo. Por ejemplo, se propuso el algoritmo Adaptive Computation Time (ACT) para proporcionar un presupuesto de cálculo adaptable para redes neuronales recurrentes. El Universal Transformer extiende el algoritmo ACT a los transformadores al hacer que el presupuesto de cálculo dependa del número de capas de transformador utilizadas para cada ejemplo de entrada o token. Estudios recientes, como PonderNet, siguen un enfoque similar mientras mejoran los mecanismos de detención dinámica.
- Revelado ciberataque a los registros electorales del Reino Unido
- Flaw en ‘Downfall’ expone datos valiosos en generacione...
- Cómo la IA generativa afectará a los equipos de ingeniería de produ...
En el artículo “Adaptive Computation with Elastic Input Sequence”, presentamos un nuevo modelo que utiliza computación adaptable, llamado AdaTape. Este modelo es una arquitectura basada en Transformer que utiliza un conjunto dinámico de tokens para crear secuencias de entrada elásticas, proporcionando una perspectiva única sobre la adaptabilidad en comparación con trabajos anteriores. AdaTape utiliza un mecanismo de lectura de cinta adaptable para determinar un número variable de tokens de cinta que se agregan a cada entrada en función de la complejidad de la entrada. AdaTape es muy simple de implementar, proporciona una perilla efectiva para aumentar la precisión cuando sea necesario, pero también es mucho más eficiente en comparación con otras bases adaptables porque inyecta directamente adaptabilidad en la secuencia de entrada en lugar de en la profundidad del modelo. Por último, Adatape ofrece un mejor rendimiento en tareas estándar, como la clasificación de imágenes, así como en tareas algorítmicas, al tiempo que mantiene una relación favorable entre calidad y costo.
Transformador de computación adaptable con secuencia de entrada elástica
AdaTape utiliza tanto los tipos de función adaptativos como un presupuesto de cálculo dinámico. Específicamente, para un lote de secuencias de entrada después de la tokenización (por ejemplo, una proyección lineal de parches no superpuestos de una imagen en el transformador de visión), AdaTape utiliza un vector que representa cada entrada para seleccionar dinámicamente una secuencia de tokens de cinta de tamaño variable.
AdaTape utiliza un banco de tokens, llamado “banco de cinta”, para almacenar todos los tokens de cinta candidatos que interactúan con el modelo a través del mecanismo de lectura de cinta adaptable. Exploramos dos métodos diferentes para crear el banco de cinta: un banco impulsado por la entrada y un banco aprendible.
La idea general del banco impulsado por la entrada es extraer un banco de tokens de la entrada mientras se emplea un enfoque diferente al tokenizador del modelo original para mapear la entrada sin procesar a una secuencia de tokens de entrada. Esto permite un acceso dinámico, a pedido, a la información de la entrada que se obtiene utilizando un punto de vista diferente, por ejemplo, una resolución de imagen diferente o un nivel de abstracción diferente.
En algunos casos, la tokenización en un nivel de abstracción diferente no es posible, por lo que un banco de cinta impulsado por la entrada no es factible, como cuando es difícil dividir aún más cada nodo en un transformador gráfico. Para abordar este problema, AdaTape ofrece un enfoque más general para generar el banco de cinta mediante el uso de un conjunto de vectores entrenables como tokens de cinta. Este enfoque se denomina banco aprendible y se puede ver como una capa de incrustación donde el modelo puede recuperar dinámicamente tokens en función de la complejidad del ejemplo de entrada. El banco aprendible permite a AdaTape generar un banco de cinta más flexible, lo que le proporciona la capacidad de ajustar dinámicamente su presupuesto de cálculo en función de la complejidad de cada ejemplo de entrada, por ejemplo, ejemplos más complejos recuperan más tokens del banco, lo que permite que el modelo no solo use el conocimiento almacenado en el banco, sino que también gaste más FLOPs procesándolo, ya que la entrada ahora es más grande.
Finalmente, los tokens de cinta seleccionados se agregan a la entrada original y se alimentan a las capas de transformador siguientes. Para cada capa de transformador, se utiliza la misma atención multi-cabeza en todos los tokens de entrada y de cinta. Sin embargo, se utilizan dos redes feed-forward (FFN) diferentes: una para todos los tokens de la entrada original y otra para todos los tokens de la cinta. Observamos una calidad ligeramente mejor al utilizar redes feed-forward separadas para los tokens de entrada y de cinta.
![]() |
Una visión general de AdaTape. Para diferentes muestras, seleccionamos un número variable de tokens diferentes del banco de cintas. El banco de cintas puede ser impulsado desde la entrada, por ejemplo, extrayendo información adicional de granularidad fina o puede ser un conjunto de vectores entrenables. La lectura de cintas adaptativa se utiliza para seleccionar de forma recursiva diferentes secuencias de tokens de cinta, con longitudes variables, para diferentes entradas. Estos tokens se agregan simplemente a las entradas y se alimentan al codificador del transformador. |
AdaTape proporciona un sesgo inductivo útil
Evaluamos AdaTape en paridad, una tarea muy desafiante para el Transformador estándar, para estudiar el efecto de los sesgos inductivos en AdaTape. Con la tarea de paridad, dada una secuencia de 1s, 0s y -1s, el modelo tiene que predecir si la cantidad de 1s en la secuencia es par o impar. La paridad es el lenguaje regular más simple que no es libre de contador ni periódico, pero sorprendentemente, la tarea no se puede resolver con el Transformador estándar.
![]() |
Evaluación en la tarea de paridad. El Transformador estándar y el Transformador Universal no pudieron realizar esta tarea, mostrando un rendimiento al nivel de un nivel de adivinanza aleatoria. |
A pesar de ser evaluados en secuencias cortas y simples, tanto el Transformador estándar como los Transformadores Universales no pudieron realizar la tarea de paridad, ya que no pueden mantener un contador dentro del modelo. Sin embargo, AdaTape supera a todos los baselines, ya que incorpora una recurrencia liviana dentro de su mecanismo de selección de entrada, proporcionando un sesgo inductivo que permite el mantenimiento implícito de un contador, lo cual no es posible en los Transformadores estándar.
Evaluación en clasificación de imágenes
También evaluamos AdaTape en la tarea de clasificación de imágenes. Para ello, entrenamos AdaTape en ImageNet-1K desde cero. La figura a continuación muestra la precisión de AdaTape y los métodos baselines, incluyendo A-ViT, y el Transformador Universal ViT (UViT y U2T) en función de su velocidad (medida como el número de imágenes procesadas por segundo). En términos de calidad y costo, AdaTape funciona mucho mejor que los baselines adaptativos alternativos. En términos de eficiencia, los modelos más grandes de AdaTape (en términos de cantidad de parámetros) son más rápidos que los baselines más pequeños. Estos resultados son consistentes con los hallazgos de trabajos anteriores que muestran que las arquitecturas de profundidad de modelos adaptativos no son adecuadas para muchos aceleradores, como el TPU.
![]() |
Evaluamos AdaTape entrenando en ImageNet desde cero. Para A-ViT, no solo informamos sus resultados del artículo, sino que también volvemos a implementar A-ViT entrenando desde cero, es decir, A-ViT (Nuestro). |
Un estudio del comportamiento de AdaTape
Además de su rendimiento en la tarea de paridad e ImageNet-1K, también evaluamos el comportamiento de selección de tokens de AdaTape con un banco impulsado por la entrada en el conjunto de validación de JFT-300M. Para comprender mejor el comportamiento del modelo, visualizamos los resultados de selección de tokens en el banco impulsado por la entrada como mapas de calor, donde los colores más claros indican que esa posición se selecciona con más frecuencia. Los mapas de calor revelan que AdaTape elige con mayor frecuencia los parches centrales. Esto coincide con nuestro conocimiento previo, ya que los parches centrales suelen ser más informativos, especialmente en el contexto de conjuntos de datos con imágenes naturales, donde el objeto principal se encuentra en el centro de la imagen. Este resultado destaca la inteligencia de AdaTape, ya que puede identificar y priorizar de manera efectiva los parches más informativos para mejorar su rendimiento.
![]() |
Visualizamos el mapa de calor de selección de tokens de la cinta de AdaTape-B/32 (izquierda) y AdaTape-B/16 (derecha). El color más caliente/claro significa que el parche en esta posición se selecciona con más frecuencia. |
Conclusión
AdaTape se caracteriza por longitudes de secuencia elásticas generadas por el mecanismo de lectura de cinta adaptable. Esto también introduce un nuevo sesgo inductivo que permite que AdaTape tenga el potencial de resolver tareas que son desafiantes tanto para los transformadores estándar como para los transformadores adaptativos existentes. Mediante la realización de experimentos exhaustivos en puntos de referencia de reconocimiento de imágenes, demostramos que AdaTape supera a los transformadores estándar y a los transformadores de arquitectura adaptativa cuando se mantiene constante la computación.
Agradecimientos
Uno de los autores de esta publicación, Mostafa Dehghani, ahora está en Google DeepMind.