Descubre cómo Token Merging (ToMe) optimiza los modelos Transformer y ViT. Descubre cómo reducir los FLOP, acelerar la inferencia en tiempo real y potenciar la velocidad de la IA generativa.
Token Merging (ToMe) es una técnica de vanguardia diseñada para optimizar el rendimiento y la eficiencia de las arquitecturas Transformer mediante la reducción del número de tokens procesados durante las pasadas hacia adelante. Desarrollado originalmente para acelerar los modelos Vision Transformer (ViT), ToMe funciona identificando y combinando sistemáticamente los tokens redundantes dentro de la red sin requerir ningún entrenamiento adicional. Dado que la complejidad computacional del mecanismo de autoatención escala cuadráticamente con el número de tokens, la fusión de tokens similares reduce drásticamente el total de operaciones de coma flotante (FLOP), lo que permite una inferencia en tiempo real significativamente más rápida.
ToMe difiere fundamentalmente de la tokenización, que es el paso inicial de preprocesamiento consistente en dividir una imagen o un texto en tokens individuales. Mientras que la tokenización crea los elementos discretos, la fusión de tokens actúa como un mecanismo dinámico de reducción de resolución durante la ejecución directa del modelo.
El algoritmo suele utilizar el emparejamiento bipartito para evaluar la similitud entre tokens, calculando a menudo la similitud coseno entre las claves de los tokens en las capas de atención. Los tokens que comparten información visual o semántica muy similar se fusionan, a menudo promediando sus características. Esto garantiza que se conserve la información espacial o contextual esencial mientras se elimina la carga computacional innecesaria, lo que permite que marcos como PyTorch procesar modelos de visión complejos mucho más rápido.
La fusión de tokens se ha convertido en una estrategia de optimización fundamental para implementar arquitecturas basadas en atención intensiva en entornos con limitaciones computacionales.
Aunque integrar ToMe en una arquitectura completa requiere modificar los bloques de atención, el concepto básico se basa en encontrar tokens similares. El siguiente PyTorch muestra cómo se puede calcular la similitud coseno entre un conjunto de tokens para identificar cuáles son candidatos a fusionarse.
import torch
import torch.nn.functional as F
# Simulate a batch of 4 image patches (tokens) with 64-dimensional features
tokens = torch.randn(1, 4, 64)
# Normalize the tokens to easily compute cosine similarity via dot product
normalized_tokens = F.normalize(tokens, p=2, dim=-1)
# Compute the similarity matrix between all tokens (1 x 4 x 4)
similarity_matrix = torch.matmul(normalized_tokens, normalized_tokens.transpose(1, 2))
# Tokens with high similarity scores (close to 1.0) off the diagonal
# are prime candidates for Token Merging.
print("Similarity Matrix:", similarity_matrix)
Los procesos modernos de aprendizaje automático requieren un delicado equilibrio entre precisión y velocidad. Tanto si utiliza la fusión de tokens para optimizar un ViT personalizado como si confía en la eficiencia de vanguardia de YOLO26, la gestión de estos complejos flujos de trabajo de datos se simplifica enormemente gracias a la Ultralytics . La plataforma ofrece un ecosistema intuitivo para la anotación automatizada de datos, el entrenamiento fluido en la nube y la implementación robusta de modelos en diversos entornos de hardware de computación periférica. Las organizaciones que amplían sus iniciativas de visión artificial confían en estas herramientas para llevar modelos de vanguardia a producción de forma fiable y eficiente.
Comience su viaje con el futuro del aprendizaje automático