Скорость декодирования модели Transformer всегда была ключевым узким местом, ограничивающим ее применение. Недавно исследователи из Корейского института науки и технологий, LG и DeepMind совместно решили эту проблему. Они предложили новую архитектуру под названием Block Transformer, которая увеличила скорость декодирования в ошеломляющие 10–20 раз! Суть этой революционной разработки лежит в умном «нарезке» механизма внимания Transformer, который эффективно решает проблему низкой загрузки графического процессора в традиционном Transformer и значительно снижает нагрузку на память.
Хотя модель Transformer является мощной, ее эффективность при декодировании всегда была головной болью. Однако исследователи из Корейского института науки и технологий, компаний LG и DeepMind на этот раз преподнесли нам сюрприз — они предложили новую архитектуру Transformer под названием Block Transformer, которая напрямую увеличила скорость декодирования в 10–20 раз!
Как это делается? Получается, у Трансформера "разрубили" механизм внимания. Таким образом, неэффективный метод исходного Transformer доступа к глобальному кешу KV каждый раз при создании токена был полностью отменен.
Исследователи проанализировали недостатки оригинального Transformer: эффективное использование графического процессора составляло менее 1%, а оставшиеся 99% использовались для доступа к памяти. Это явно неразумно, поэтому они предложили Block Transformer. Эта новая архитектура использует разложение внимания на уровне блоков и внимания внутри блока, чтобы резко повысить производительность рассуждений модели.
В частности, рабочий процесс Block Transformer выглядит следующим образом: сначала разрежьте последовательность на блоки, а затем используйте Embedder для преобразования каждого блока в вектор внедрения. Декодер блоков отвечает за обработку векторов внедрения блоков и захват глобальных зависимостей между блоками. Декодер токенов отвечает за обработку локальных зависимостей между токенами и генерацию последовательностей токенов.
Этот метод не только повышает скорость вывода, но и значительно снижает затраты памяти. Некоторые пользователи сети сказали, что у них раньше была подобная идея, но производительность полученной модели была недостаточной. Теперь этот метод, похоже, эффективно уменьшил кэш KV.
Более того, точность Block Transformer при выполнении нескольких задач с нулевым выстрелом сравнима или даже немного выше, чем у оригинального Transformer того же размера, что доказывает, что он повышает эффективность без ущерба для качества.
На этом последствия этого исследования не заканчиваются. Это также снижает стоимость обучения модели, затраты на доступ к вторичной памяти глобального внимания сокращаются в 16 раз, а загрузка графического процессора также увеличивается с 1% до 44%.
Адрес статьи: https://arxiv.org/abs/2406.02657.
Появление Block Transformer расширило новые возможности применения моделей Transformer, а также открыло новое направление оптимизации эффективности крупномасштабных языковых моделей в будущем. Ожидается, что значительное улучшение скорости и эффективности будет способствовать дальнейшему развитию и применению технологий искусственного интеллекта.