Token Merging (ToMe)
Узнай, как Token Merging (ToMe) оптимизирует модели Transformer и ViT. Изучи, как уменьшить FLOPs, ускорить инференс в реальном времени и повысить скорость генеративного ИИ.
Объединение токенов (ToMe) — это передовой метод, предназначенный для оптимизации производительности и эффективности архитектур Transformer за счёт сокращения количества токенов, обрабатываемых во время прямых проходов. Изначально разработанный для ускорения моделей Vision Transformer (ViT), ToMe систематически выявляет и объединяет избыточные токены внутри сети без дополнительного обучения. Поскольку вычислительная сложность механизма self-attention квадратично зависит от количества токенов, объединение похожих токенов значительно сокращает общее число операций с плавающей запятой (FLOPs), обеспечивая существенно более быстрый вывод в реальном времени.
Как работает процесс объединения токенов#
ToMe принципиально отличается от токенизации, которая представляет собой начальный этап предварительной обработки, на котором изображение или текст разбивается на отдельные токены. Токенизация создаёт дискретные элементы, тогда как объединение токенов действует как механизм динамического уменьшения разрешения во время прямого выполнения модели.
В алгоритме обычно используется двудольное сопоставление для оценки сходства токенов, часто на основе вычисления косинусного сходства между ключами токенов в слоях внимания. Токены, содержащие очень похожую визуальную или семантическую информацию, объединяются — зачастую путём усреднения их признаков. Это позволяет сохранить важную пространственную или контекстную информацию и исключить ненужную вычислительную нагрузку, благодаря чему такие фреймворки, как PyTorch, могут значительно быстрее обрабатывать сложные модели компьютерного зрения.
Практическое применение объединения токенов#
Объединение токенов стало важной стратегией оптимизации для развёртывания тяжёлых архитектур на основе внимания в средах с ограниченными вычислительными ресурсами.
-
Генеративный ИИ и синтез изображений: в популярных диффузионных моделях преобразования текста в изображение ToMe часто используется для ускорения генерации изображений. Объединяя токены фона или областей с низкой детализацией, этот процесс требует меньшего количества шагов, существенно экономит ресурсы GPU и сокращает задержку для конечных пользователей генеративных моделей. Подробнее о диффузионных процессах можно узнать из фундаментальных исследований на arXiv.
-
Развёртывание ИИ на периферийных устройствах: развёртывание больших моделей, таких как Модель сегментации всего (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. Platform предоставляет интуитивно понятную экосистему для автоматической разметки данных, удобного облачного обучения и надёжного развёртывания моделей на разнообразном оборудовании для периферийных вычислений. Организации, развивающие проекты в области компьютерного зрения, используют эти инструменты, чтобы надёжно и эффективно внедрять передовые модели в производственные системы.






