Узнайте, как технология Token Merging (ToMe) оптимизирует модели Transformer и ViT. Узнайте, как сократить количество операций FLOP, ускорить инференцию в реальном времени и повысить скорость работы генеративного ИИ.
Token Merging (ToMe) — это передовой метод, разработанный для оптимизации производительности и эффективности архитектур Transformer за счет сокращения количества токенов, обрабатываемых во время прямых проходов. Первоначально разработанная для ускорения моделей Vision Transformer (ViT), технология ToMe работает путем систематического выявления и объединения избыточных токенов внутри сети без необходимости дополнительного обучения. Поскольку вычислительная сложность механизма самовнимания растет квадратично с количеством токенов, объединение похожих токенов резко сокращает общее количество операций с плавающей запятой (FLOP), что позволяет значительно ускорить инференцию в реальном времени.
ToMe принципиально отличается от токенизации, которая представляет собой начальный этап предварительной обработки, заключающийся в разбиении изображения или текста на отдельные токены. В то время как токенизация создаёт дискретные элементы, объединение токенов действует как механизм динамического понижения разрешения во время прямого прохождения модели.
Алгоритм обычно использует бипартитное сопоставление для оценки схожести токенов, зачастую вычисляя косинусную схожесть между ключами токенов в слоях внимания. Токены, обладающие очень схожей визуальной или семантической информацией, объединяются — чаще всего путем усреднения их признаков. Это гарантирует сохранение важной пространственной или контекстуальной информации при одновременном сокращении ненужной вычислительной нагрузки, что позволяет таким фреймворкам, как PyTorch гораздо быстрее обрабатывать сложные модели машинного зрения.
Объединение токенов стало ключевой стратегией оптимизации при развертывании ресурсоемких архитектур, основанных на механизме внимания, в условиях ограниченных вычислительных ресурсов.
Хотя для интеграции 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)
Современные конвейеры машинного обучения требуют тщательного баланса между точностью и скоростью. Независимо от того, используете ли вы Token Merging для оптимизации собственной модели ViT или полагаетесь на передовые возможности YOLO26, управление этими сложными рабочими процессами с данными значительно упрощается благодаря Ultralytics . Платформа предоставляет интуитивно понятную экосистему для автоматизированной аннотации данных, беспроблемного обучения в облаке и надежного развертывания моделей в различных аппаратных средах периферийных вычислений. Организации, расширяющие свои инициативы в области компьютерного зрения, полагаются на эти инструменты, чтобы надежно и эффективно внедрять передовые модели в производственную среду.
Начните свой путь в будущее машинного обучения