QUANT_PRUNE_DISTILL Telegram 489
Look Ma, No Bubbles! Designing a Low-Latency Megakernel for Llama-1B
[Блогпост]

Прямой (да и обратный) проход через современную LLM, подразумевает запуск нескольких сотен кернелов (attention, mlp, нормализаций).

Команда из Стэнфорда обнаруживает, что скорость инференса маленьких LLM (1-3B параметров) упирается не в вычисления/память, а во время запуска кернелов. Эффективные движки для инференса (vLLM/SGLang) позволяют только на 50% использовать пропускную способность новых видеокарт (H100/GB200). Там некоторые операции уже слиты в один вызов кернела, но самих вызовов все еще остается много.

И авторы предлагают реализовать весь forward pass в виде одного Megakernel 😱!

Из нюансов реализации стоит выделить следующее:

1️⃣ Управление памятью. Так как за shared memory борются сразу несколько процессов, надо эффективно распределить ее и раздавать по запросу. Для это используется некий вариант paging.
2️⃣ Синхронизация. Теперь у нас много операций работающих асинхронно и требуется внутри кернела регулировать то, чтобы процесс не начал работать, пока не будут готовы все необходимые входы (т.е attention не запустился, пока не готовы Q, K, V).

В результате удается добиться ускорения на Llama-1B при инференсе с батчом 1:
🏃‍♂️ 2.5x против vLLM, 1.5x против SGLang на H100
🏃‍♂️ 3.5x против vLLM, 2.5x против SGLang на GB200

Утилизация ширины памяти для H100 достигает 78%.
14🔥4👍3



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

Look Ma, No Bubbles! Designing a Low-Latency Megakernel for Llama-1B
[Блогпост]

Прямой (да и обратный) проход через современную LLM, подразумевает запуск нескольких сотен кернелов (attention, mlp, нормализаций).

Команда из Стэнфорда обнаруживает, что скорость инференса маленьких LLM (1-3B параметров) упирается не в вычисления/память, а во время запуска кернелов. Эффективные движки для инференса (vLLM/SGLang) позволяют только на 50% использовать пропускную способность новых видеокарт (H100/GB200). Там некоторые операции уже слиты в один вызов кернела, но самих вызовов все еще остается много.

И авторы предлагают реализовать весь forward pass в виде одного Megakernel 😱!

Из нюансов реализации стоит выделить следующее:

1️⃣ Управление памятью. Так как за shared memory борются сразу несколько процессов, надо эффективно распределить ее и раздавать по запросу. Для это используется некий вариант paging.
2️⃣ Синхронизация. Теперь у нас много операций работающих асинхронно и требуется внутри кернела регулировать то, чтобы процесс не начал работать, пока не будут готовы все необходимые входы (т.е attention не запустился, пока не готовы Q, K, V).

В результате удается добиться ускорения на Llama-1B при инференсе с батчом 1:
🏃‍♂️ 2.5x против vLLM, 1.5x против SGLang на H100
🏃‍♂️ 3.5x против vLLM, 2.5x против SGLang на GB200

Утилизация ширины памяти для H100 достигает 78%.

BY КПД


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

View MORE
Open in Telegram


Telegram News

Date: |

It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator. Add up to 50 administrators The imprisonment came as Telegram said it was "surprised" by claims that privacy commissioner Ada Chung Lai-ling is seeking to block the messaging app due to doxxing content targeting police and politicians. Polls
from us


Telegram КПД
FROM American