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: |

It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): While the character limit is 255, try to fit into 200 characters. This way, users will be able to take in your text fast and efficiently. Reveal the essence of your channel and provide contact information. For example, you can add a bot name, link to your pricing plans, etc. Unlimited number of subscribers per channel Those being doxxed include outgoing Chief Executive Carrie Lam Cheng Yuet-ngor, Chung and police assistant commissioner Joe Chan Tung, who heads police's cyber security and technology crime bureau. “[The defendant] could not shift his criminal liability,” Hui said.
from us


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