BLOG_TOXA Telegram 464
Как инферятся LLMки под капотом?

Совершенно случайно наткнулся на блогпост про инференс LLMок. Речь именно про реализацию движка на C++ своими ручками, с использованием CUDA и без каких-либо других сторонних библиотек. Я прочитал пост залпом, объяснения очень понятные и глубокие 🤓.

Всё, конечно, же игрушечное: single batch, single gpu, completion only (без prefill).

В посте идёт повествование про следующие топики:
— Пишем наивную реализацию под CPU (и ускоряем за счёт SIMD);
— Переносим на CUDA;
— Думаем, как работает GPU и ускоряем matmul;
— Фьюзим операции и еще ускорения matmul;
— Профилируем attention и ускоряем его, включая длинные генерации;
— Квантование и какие грабли подкидывает нам nvcc.

Определённо полезно будет тем, кому интересны топик инференса. Мне понравилось то, как автор показывает, что можно использовать различные инструменты профилировки и какие выводы из них можно сделать 🔼. Кайфанул с того, как пришлось упороться, чтобы повторить анролинг для FP16 ядер, по аналогии, как это делает комплиятор для FP32 ядер автоматически (ох уж эта боль) 🏥.

Ссылочка на пост: https://andrewkchan.dev/posts/yalm.html
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥232👎1



tgoop.com/blog_toxa/464
Create:
Last Update:

Как инферятся LLMки под капотом?

Совершенно случайно наткнулся на блогпост про инференс LLMок. Речь именно про реализацию движка на C++ своими ручками, с использованием CUDA и без каких-либо других сторонних библиотек. Я прочитал пост залпом, объяснения очень понятные и глубокие 🤓.

Всё, конечно, же игрушечное: single batch, single gpu, completion only (без prefill).

В посте идёт повествование про следующие топики:
— Пишем наивную реализацию под CPU (и ускоряем за счёт SIMD);
— Переносим на CUDA;
— Думаем, как работает GPU и ускоряем matmul;
— Фьюзим операции и еще ускорения matmul;
— Профилируем attention и ускоряем его, включая длинные генерации;
— Квантование и какие грабли подкидывает нам nvcc.

Определённо полезно будет тем, кому интересны топик инференса. Мне понравилось то, как автор показывает, что можно использовать различные инструменты профилировки и какие выводы из них можно сделать 🔼. Кайфанул с того, как пришлось упороться, чтобы повторить анролинг для FP16 ядер, по аналогии, как это делает комплиятор для FP32 ядер автоматически (ох уж эта боль) 🏥.

Ссылочка на пост: https://andrewkchan.dev/posts/yalm.html

BY Дратути Антон


Share with your friend now:
tgoop.com/blog_toxa/464

View MORE
Open in Telegram


Telegram News

Date: |

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. Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” bank east asia october 20 kowloon
from us


Telegram Дратути Антон
FROM American