QUANT_PRUNE_DISTILL Telegram 126
В Pytorch 2.1 завезли 2:4 semi-structured sparsity!

Напомню, что произвольный паттерн неструтурированного прунинга не поддерживается на GPU, но начиная с поколения Ampere реализована аппаратная и программная поддержка 2:4 паттерна, где на 2 позициях из 4 стоят ненулевые веса. В общем случае N:M sparsity N ненулевых весов из M.

До недавних пор, чтобы воспользоваться 2:4 sparsity нужно было напрямую использовать ядра из cuSparse или CUTLASS или пользоваться скомпилированной с --sparsity моделью в TensorRT. Но теперь semi-structured sparsity доступна почти всем желающим.

Примечание 😐.
2:4 sparsity работает только на Ampere / Hopper. Не ожидайте ускорения на колабовской T4.

Теоретическое ускорение и сжатие, которое дает такой паттерн, 16/9 для half precision и 16/10 для int8. Но на практике, увы не все так радужно. Реальное ускорение инференса в районе 10-30% (в хорошем сценарии).

Сжатие в 2:4 без дообучения обычно заметно просаживает качество (за исключением совсем больших моделей). Но его можно быстро восстановить, дообучая на целевой задаче.

В приведенном примере c BERT качество сжатой модели такое же как у и исходной после дообучения. При маленьких батчах инференс BERT c 2:4 sparsity работает медленее, чем dense матричные операции, но с ростом батча выигрыш от разреженности становится заметным и стабилизируется в районе 20-30%. Заметим, что в BERT сравнительно небольшие матрицы, и на условной Llama выигрыш будет наблюдаться уже на батче с 1-2 последовательностями.

Документация в торче
Туториал с прунингом BERT
Статья Nvidia про 2:4
🔥6



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

В Pytorch 2.1 завезли 2:4 semi-structured sparsity!

Напомню, что произвольный паттерн неструтурированного прунинга не поддерживается на GPU, но начиная с поколения Ampere реализована аппаратная и программная поддержка 2:4 паттерна, где на 2 позициях из 4 стоят ненулевые веса. В общем случае N:M sparsity N ненулевых весов из M.

До недавних пор, чтобы воспользоваться 2:4 sparsity нужно было напрямую использовать ядра из cuSparse или CUTLASS или пользоваться скомпилированной с --sparsity моделью в TensorRT. Но теперь semi-structured sparsity доступна почти всем желающим.

Примечание 😐.
2:4 sparsity работает только на Ampere / Hopper. Не ожидайте ускорения на колабовской T4.

Теоретическое ускорение и сжатие, которое дает такой паттерн, 16/9 для half precision и 16/10 для int8. Но на практике, увы не все так радужно. Реальное ускорение инференса в районе 10-30% (в хорошем сценарии).

Сжатие в 2:4 без дообучения обычно заметно просаживает качество (за исключением совсем больших моделей). Но его можно быстро восстановить, дообучая на целевой задаче.

В приведенном примере c BERT качество сжатой модели такое же как у и исходной после дообучения. При маленьких батчах инференс BERT c 2:4 sparsity работает медленее, чем dense матричные операции, но с ростом батча выигрыш от разреженности становится заметным и стабилизируется в районе 20-30%. Заметим, что в BERT сравнительно небольшие матрицы, и на условной Llama выигрыш будет наблюдаться уже на батче с 1-2 последовательностями.

Документация в торче
Туториал с прунингом BERT
Статья Nvidia про 2:4

BY КПД


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

View MORE
Open in Telegram


Telegram News

Date: |

With Bitcoin down 30% in the past week, some crypto traders have taken to Telegram to “voice” their feelings. 5Telegram Channel avatar size/dimensions Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. A vandalised bank during the 2019 protest. File photo: May James/HKFP. The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday.
from us


Telegram КПД
FROM American