Квантуемые трансформеры: устранение выбросов за счет помощи головкам внимания Не делать ничего
Quantizable Transformers: Removing Outliers by Helping Attention Heads Do Nothing
June 22, 2023
Авторы: Yelysei Bondarenko, Markus Nagel, Tijmen Blankevoort
cs.AI
Аннотация
Трансформерные модели получили широкое распространение в различных областях за последние годы, и особенно крупные языковые модели значительно продвинули область искусственного интеллекта. Благодаря своему размеру, возможности этих сетей значительно возросли, но это произошло за счет существенного увеличения необходимых вычислительных ресурсов. Квантование является одним из наиболее эффективных способов сокращения времени вычислений и потребления памяти в нейронных сетях. Однако многие исследования показали, что современные трансформерные модели склонны обучать сильные выбросы в своих активациях, что затрудняет их квантование. Для сохранения приемлемой производительности наличие этих выбросов требует использования активаций с большей разрядностью, применения различных числовых форматов, дополнительной тонкой настройки или других обходных решений. Мы показываем, что сильные выбросы связаны с очень специфическим поведением механизма внимания, где головы внимания пытаются обучиться "нулевой операции" или лишь частичному обновлению остатка. Для достижения точных нулей, необходимых в матрице внимания для отсутствия обновления, входные данные для функции softmax в процессе обучения становятся все больше, что вызывает выбросы в других частях сети. На основе этих наблюдений мы предлагаем два простых (независимых) изменения в механизме внимания — ограниченный softmax и управляемое внимание. Мы эмпирически показываем, что модели, предварительно обученные с использованием наших методов, обучают значительно меньшие выбросы, сохраняя, а иногда даже улучшая производительность на задачах с плавающей точкой. Это позволяет нам квантовать трансформеры до полного INT8 квантования активаций без каких-либо дополнительных усилий. Мы демонстрируем эффективность наших методов как на языковых моделях (BERT, OPT), так и на трансформерах для обработки изображений.
English
Transformer models have been widely adopted in various domains over the last
years, and especially large language models have advanced the field of AI
significantly. Due to their size, the capability of these networks has
increased tremendously, but this has come at the cost of a significant increase
in necessary compute. Quantization is one of the most effective ways to reduce
the computational time and memory consumption of neural networks. Many studies
have shown, however, that modern transformer models tend to learn strong
outliers in their activations, making them difficult to quantize. To retain
acceptable performance, the existence of these outliers requires activations to
be in higher bitwidth or the use of different numeric formats, extra
fine-tuning, or other workarounds. We show that strong outliers are related to
very specific behavior of attention heads that try to learn a "no-op" or just a
partial update of the residual. To achieve the exact zeros needed in the
attention matrix for a no-update, the input to the softmax is pushed to be
larger and larger during training, causing outliers in other parts of the
network. Based on these observations, we propose two simple (independent)
modifications to the attention mechanism - clipped softmax and gated attention.
We empirically show that models pre-trained using our methods learn
significantly smaller outliers while maintaining and sometimes even improving
the floating-point task performance. This enables us to quantize transformers
to full INT8 quantization of the activations without any additional effort. We
demonstrate the effectiveness of our methods on both language models (BERT,
OPT) and vision transformers.