YOLO Vision 2026:
返回 Ultralytics 术语表

Token Merging (ToMe)

了解 Token Merging (ToMe) 如何优化 Transformer 和 ViT 模型。探索如何减少 FLOPs、加速实时推理并提升生成式 AI 的速度。

令牌合并 (ToMe) 是一种先进技术,旨在通过减少前向传递期间处理的令牌数量,优化 Transformer 架构的性能和效率。ToMe 最初用于加速 视觉 Transformer (ViT) 模型,通过系统地识别并合并网络中的冗余令牌来实现这一目标,而无需额外训练。由于 自注意力 机制的计算复杂度会随令牌数量呈二次方增长,合并相似令牌可以大幅减少浮点运算量 (FLOPs),从而显著加快 实时推理

了解令牌合并过程#

ToMe 与 令牌化 有着根本区别,后者是将图像或文本拆分为独立 令牌 的初始预处理步骤。令牌化会创建离散元素,而令牌合并则在模型前向执行期间充当动态下采样机制。

该算法通常使用二分图匹配来评估令牌相似度,常见做法是在注意力层中计算令牌键之间的余弦相似度。具有高度相似视觉或语义信息的令牌会被融合,通常是通过对其特征求平均来实现。这可以确保保留必要的空间或上下文信息,同时丢弃不必要的计算负载,使 PyTorch 等框架能够更快地处理复杂视觉模型。

令牌合并的实际应用#

令牌合并已成为在计算资源受限环境中部署大型注意力架构的关键优化策略。

  1. 生成式 AI 与图像合成:在常见的文本到图像扩散模型中,ToMe 经常用于加速图像生成。通过合并背景令牌或低细节令牌,生成过程所需的步骤更少,从而节省大量 GPU 资源,并降低依赖生成式模型的终端用户的延迟。你可以在 arXiv 上的基础研究中进一步了解扩散过程。

  2. 边缘 AI 部署:由于内存限制,将 分割一切模型 (SAM) 等大型模型部署到移动设备上一直非常困难。ToMe 可以动态缩小内存占用,使复杂的 图像分割 任务能够在边缘硬件上运行。对于纯粹追求速度至关重要的场景,工程师通常会转向原生优化、无注意力的架构,例如 Ultralytics YOLO26,以实现更快的端到端边缘推理。

Python 示例:令牌相似度计算#

要将 ToMe 集成到完整架构中,需要修改注意力模块,但其核心概念依赖于查找相似令牌。以下 PyTorch 代码片段演示了如何计算一组令牌之间的余弦相似度,以识别适合合并的令牌。

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)

现代机器学习流水线需要在准确率和速度之间进行谨慎平衡。无论你是使用令牌合并来优化自定义 ViT,还是依靠 YOLO26 的前沿效率,Ultralytics Platform 都能大幅简化这些复杂的数据工作流。该平台提供直观的生态系统,支持自动化 数据标注、无缝云端训练,以及在各种 边缘计算 硬件环境中进行可靠的模型部署。扩展 计算机视觉 业务的组织依靠这些工具,将先进模型可靠高效地投入生产。

Explore solutions

让我们共同构建 AI 的未来!

开启你的机器学习未来之旅