TGViewer
The Layer The Layer @layercv · 853 subscribers
Post #167 1.1K
ToCa: Accelerating Diffusion Transformers with Token-wise Feature Caching, ICLR 2025

Ускорение диффузионных трансформеров в 2 раза! Есть код!

Для генерации одной картинки нужно десятки раз прогнать тяжеловесную нейросеть. Естественно, этот процесс хочется ускорить. Можно, например, уменьшить число шагов генерации, как сделали в https://t.me/layercv/122 с помощью дистилляции, а можно ускорить каждый шаг генерации.

Авторы решают задачу вторым способом. В диффузионных трансформерах входная информация представлена в виде токенов:
- и латентное или пиксельное представление исходного шума,
- и текстовый запрос,
- и изображение для обуславливания: например, карта глубин, семантическая сегментационной карты в задаче генерации изображения заданной структуры; фотография объекта или лица человека для генерации их в описанной сцене; исходной фотографии для её редактирования.

Чтобы не вычислять новые значения каждого токена в каждом блоке трансформера и на каждом шаге диффузии, авторы переиспользуют часть посчитанных значений.
Токены для кэширования выбирают по нескольким критериям:

1. Насколько токен влияет на другие токены. Чем сильнее влияет, тем важнее вычислить точное его значение, а не использовать заранее закэшированное.
2. Насколько токен зависим от входного сигнала. Чем сильнее он меняется от изменения входного сигнала, тем он важнее.
3. Когда токен был закеширован. Если давно (и с точки зрения слоёв трансформера, и с точки зрения шагов диффузии), то его значение лучше вычислить заново.
4. Лучший ли он кандидат среди в своём окружении. Среди соседних токенов выбирают тот, который по предыдущим трём критериям лучше других. Это нужно, чтобы закэшированные токены были равномерно распределены по всему изображению, иначе качество генерации ухудшится.

Влияние на другие токены смотрят в Self-Attention блоках, а зависимость от входного сигнала в Cross-Attention блоках. В экспериментах с PixArt-alpha это возможно, а с более современными моделями (Stable Diffusion 3, Flux.1) нужно будет придумывать что-то другое: там обуславливание делается уже через MM-DiT блоки без Cross Attention.
В новой версии статьи авторы добавили и результаты с Flux.1 (dev и schnell версиями), но без пояснений, видимо просто без второго критерия.

Качество и скорость замеряли на text-to-image генерации моделью PixArt-alpha, text-to-video OpenSora и генерацию изображения по названию категории DiT-XL/2.

На PixArt-alpha, OpenSora, DiT-XL/2 ускорение в ~2 раза с небольшим ухудшением качества генерации, на Flux.1 - в 1.5 раза.
arXiv.org Accelerating Diffusion Transformers with Token-wise Feature Caching Diffusion transformers have shown significant effectiveness in both image and video synthesis at the expense of huge computation costs. To address this problem, feature caching methods have been...
  • 🔥 9
  • 🤔 3
More from @layercv
  1. Aug 21, 2025✨Big Tech Night: не пропусти первую «Ночь музеев» в мире IT 12 сентября в Москве пройдёт B…
  2. Jul 22, 2025Ещё раз напомню, что доступно бесплатное демо нашего файнтюна Bagel-NHR-Edit на HuggingFac…
  3. Jul 22, 2025Абсолютно всё в этих примерах создано без участия человека, мы просто задали направление.…
  4. Jul 22, 2025NoHumansRequired: Autonomous High-Quality Image Editing Triplet Mining Вышел наш первый пр…
  5. Jul 8, 2025⚡Полная версия MiVOLO на HuggingFace! Наша молниеносная модель в 29 млн. параметров для оп…
  6. Jul 8, 2025Вакансия: Deep Learning Engineer, ASR 🎧 Ищем инженера-исследователя в ML команду распозна…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →