QUANT_PRUNE_DISTILL Telegram 179
Marlin
[Статьи нет, обычно наоборот][Код]

Marlin, Mixed Auto-Regressive Linear kernel - новое быстрое ядро FP16xINT4 для инференса LLM с большими батчами.

Как известно, вычисления на современных GPU для современных GPU обычно memory bound, и можно получить заметное ускорение даже с fp умножением за счет одной лишь подгрузки весов в кэши. И идеальное ускорение, которое дает INT4 - 4x. Однако с увеличением размера батча, мы начинаем выходить на compute-bound и выигрыш от имеющихся ядер (не использующих tensor cores) исчезает, то есть они становятся медленее fp16 native матричных операций.

В этом репозитории выложена реализация нового ядра, оптимизирующего работу с кэшами и позволяющего иметь значительное ускорение по сравнению с fp16 даже на больших батчах. Основные фичи следующие:

1️⃣ префетчинг
2️⃣ использование активаций в вычислениях несколько раз до загрузки / сгрузки
3️⃣ асинхронная загрузка весов модели
4️⃣ тонкая настройка порядка операций квантования / деквантования и матричных умножений с tensor cores для максимальной утилизации железа
5️⃣ оптимизация конфигурации варпов (групп потоков на GPU)

В итоге удается достичь почти идеального speedup - 4x по сравнению с fp16 на батчах до 32, и иметь ускорение даже на больших (64-128), в то время как безйлайны из bitsandbytes, exllamav2, AWQ становятся в ~2x медленее fp16 с батчей >=16.

Ускорение имеет место на нескольких GPU поколения Ampere - A10, A6000, RTX 3090 и сохраняется даже на пониженных частотах.

На поколении Hopper пока нет реализации.
🔥6



tgoop.com/quant_prune_distill/179
Create:
Last Update:

Marlin
[Статьи нет, обычно наоборот][Код]

Marlin, Mixed Auto-Regressive Linear kernel - новое быстрое ядро FP16xINT4 для инференса LLM с большими батчами.

Как известно, вычисления на современных GPU для современных GPU обычно memory bound, и можно получить заметное ускорение даже с fp умножением за счет одной лишь подгрузки весов в кэши. И идеальное ускорение, которое дает INT4 - 4x. Однако с увеличением размера батча, мы начинаем выходить на compute-bound и выигрыш от имеющихся ядер (не использующих tensor cores) исчезает, то есть они становятся медленее fp16 native матричных операций.

В этом репозитории выложена реализация нового ядра, оптимизирующего работу с кэшами и позволяющего иметь значительное ускорение по сравнению с fp16 даже на больших батчах. Основные фичи следующие:

1️⃣ префетчинг
2️⃣ использование активаций в вычислениях несколько раз до загрузки / сгрузки
3️⃣ асинхронная загрузка весов модели
4️⃣ тонкая настройка порядка операций квантования / деквантования и матричных умножений с tensor cores для максимальной утилизации железа
5️⃣ оптимизация конфигурации варпов (групп потоков на GPU)

В итоге удается достичь почти идеального speedup - 4x по сравнению с fp16 на батчах до 32, и иметь ускорение даже на больших (64-128), в то время как безйлайны из bitsandbytes, exllamav2, AWQ становятся в ~2x медленее fp16 с батчей >=16.

Ускорение имеет место на нескольких GPU поколения Ampere - A10, A6000, RTX 3090 и сохраняется даже на пониженных частотах.

На поколении Hopper пока нет реализации.

BY КПД


Share with your friend now:
tgoop.com/quant_prune_distill/179

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? Hashtags are a fast way to find the correct information on social media. To put your content out there, be sure to add hashtags to each post. We have two intelligent tips to give you: Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.!
from us


Telegram КПД
FROM American