Технический отчет SageAttention2: Точное внимание на 4 бита для ускорения вывода "включи и играй".SageAttention2 Technical Report: Accurate 4 Bit Attention for
Plug-and-play Inference Acceleration
Хотя квантование для линейных слоев широко используется, его применение для ускорения процесса внимания остается ограниченным. SageAttention использует умножение матриц 8-битным способом, умножение матриц 16 бит с 16-битным аккумулятором и методы увеличения точности, реализуя точное и ускоренное ядро в 2 раза по сравнению с FlashAttention2. Для дальнейшего увеличения эффективности вычислений внимания при сохранении точности мы предлагаем SageAttention2, который использует значительно более быстрое умножение матриц 4 бит (Matmul) вместе с дополнительными методами увеличения точности. Во-первых, мы предлагаем квантовать матрицы (Q, K) в INT4 с гранулярностью на уровне warp и квантовать матрицы (widetilde P, V) в FP8. Во-вторых, мы предлагаем метод сглаживания Q и V, улучшая точность внимания с INT4 QK и FP8 PV. В-третьих, мы анализируем точность квантования по временным шагам и слоям, затем предлагаем адаптивный метод квантования для обеспечения метрик от начала до конца по различным моделям. Операции в секунду (OPS) SageAttention2 превосходят FlashAttention2 и xformers примерно в 3 и 5 раз соответственно на RTX4090. Обширные эксперименты подтверждают, что наш подход вызывает незначительные потери метрик от начала до конца по различным моделям, включая модели для обработки больших объемов языковых данных, генерации изображений и видео. Коды доступны по адресу https://github.com/thu-ml/SageAttention.