Block-sparse GPU kernels могут многократно ускорять нейросети за счёт разрежённых весов. Их применяют в анализе текстов и генерации контента.
Кратко:
- ●Используют разрежённые весы для ускорения
- ●Превосходят cuBLAS и cuSPARSE по скорости
- ●Улучшают результаты в анализе текстов и генерации
- ●Эволюционировали до современных методов
История и релиз OpenAI
6 декабря 2017 года OpenAI представила инновацию — block-sparse GPU kernels. Это высоко оптимизированные ядра, предназначенные для нейросетей с блок-спарсностью, предложенные Скоттом Греем, Алексом Радфордом и Дидериком Кингманом. Они поддерживали блоки размером 8×8, 16×16 и 32×32, что позволяло пропускать вычисления над нулями и существенно ускорять работу сетей.
Результаты: скорость и точность
Эксперименты на GPU NVIDIA Titan X Pascal показали, что с block-sparse ядрами ускорение по сравнению с cuBLAS и cuSPARSE было многократным. В задаче sentiment analysis на датасете IMDB ошибка уменьшилась до 5.01%, а в генеративном моделировании на CIFAR-10 bits-per-dimension уменьшился до 2.90, что стало новым рекордом.