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%.
13🔥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: |

Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members. 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. How to build a private or public channel on Telegram? How to Create a Private or Public Channel on Telegram? As the broader market downturn continues, yelling online has become the crypto trader’s latest coping mechanism after the rise of Goblintown Ethereum NFTs at the end of May and beginning of June, where holders made incoherent groaning sounds and role-played as urine-loving goblin creatures in late-night Twitter Spaces.
from us


Telegram КПД
FROM American