Saiba como a Token Merging (ToMe) otimiza os modelos Transformer e ViT. Descubra como reduzir os FLOPs, acelerar a inferência em tempo real e aumentar a velocidade da IA generativa.
A fusão de tokens (ToMe) é uma técnica de ponta concebida para otimizar o desempenho e a eficiência das arquiteturas Transformer, reduzindo o número de tokens processados durante as passagens de avanço. Originalmente desenvolvido para acelerar modelos Vision Transformer (ViT), o ToMe funciona identificando e combinando sistematicamente tokens redundantes dentro da rede, sem exigir qualquer treino adicional. Como a complexidade computacional do mecanismo de autoatenção varia quadraticamente com o número de tokens, a fusão de tokens semelhantes reduz drasticamente o total de operações de ponto flutuante (FLOPs), permitindo uma inferência em tempo real significativamente mais rápida.
O ToMe difere fundamentalmente da tokenização, que é a etapa inicial de pré-processamento que consiste em dividir uma imagem ou um texto em tokens individuais. Enquanto a tokenização cria os elementos discretos, a fusão de tokens funciona como um mecanismo dinâmico de redução de resolução durante a execução direta do modelo.
O algoritmo utiliza normalmente o emparelhamento bipartido para avaliar a semelhança entre tokens, calculando frequentemente a semelhança cosinusoidal entre as chaves dos tokens nas camadas de atenção. Os tokens que partilham informações visuais ou semânticas altamente semelhantes são fundidos — muitas vezes através da média das suas características. Isto garante que as informações espaciais ou contextuais essenciais sejam preservadas, ao mesmo tempo que se elimina a carga computacional desnecessária, permitindo que frameworks como PyTorch processem modelos de visão complexos muito mais rapidamente.
A fusão de tokens tornou-se uma estratégia de otimização fundamental para a implementação de arquiteturas pesadas baseadas em atenção em ambientes com recursos computacionais limitados.
Embora a integração do ToMe numa arquitetura completa exija a modificação dos blocos de atenção, o conceito central assenta na identificação de tokens semelhantes. O seguinte PyTorch demonstra como se pode calcular a similaridade cosinusoidal entre um conjunto de tokens para identificar quais são os candidatos à fusão.
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)
Os fluxos de trabalho modernos de aprendizagem automática exigem um equilíbrio cuidadoso entre precisão e velocidade. Quer esteja a utilizar a Token Merging para otimizar um ViT personalizado ou a recorrer às eficiências de ponta do YOLO26, a gestão destes complexos fluxos de trabalho de dados é consideravelmente simplificada pela Ultralytics . A Plataforma oferece um ecossistema intuitivo para a anotação automatizada de dados, formação na nuvem sem interrupções e implementação robusta de modelos em diversos ambientes de hardware de computação de perifeia. As organizações que estão a expandir as suas iniciativas de visão computacional contam com estas ferramentas para colocar modelos de ponta em produção de forma fiável e eficiente.
Comece sua jornada com o futuro do aprendizado de máquina