Энтузиаст написал движок LLM-инференса на C++ и CUDA с нуля и записал 6 часов видеоуроков
Hours of YouTube and 85 handtyped pages of notes on LLM Inference – Start here
Проект samir-vllm — это небольшой движок инференса LLM на C++17 и CUDA, который шаг за шагом проводит через весь путь от загрузки весов Llama 3.2 1B до генерации токена. Автор выложил более 6 часов YouTube-туториалов и 85 страниц рукописных заметок без использования AI, а также рабочий код с CUDA-ядрами, paged KV cache, непрерывным батчингом и онлайн-softmax.
Весь текст в этом PDF я написал сам, без какого-либо участия AI.
- ericreg92
Эти слайды, очевидно, сгенерированы LLM.
- samirswr
Я записал более 6 часов материала и вручную написал более 85 страниц заметок, чтобы обучить абсолютных новичков инференсу ИИ.
За последние 2 месяца, работая фултайм стажёром-разработчиком, я вкалывал после работы, чтобы создать этот видеосериал. Я учился программировать, помимо прочего, по YouTube-видео для новичков. Теперь, с ростом ИИ, такие видео появляются всё реже, поэтому я решил это изменить.
Вот это . В создание вложено много размышлений и обдумывания, и все мои заметки написаны мной. Для прозрачности: почти весь код тоже написан мной, за исключением мелких исправлений багов, обновлений readme и тому подобного. Есть также дополнительные заметки к каждому видео, сгенерированные ИИ, но основные заметки целиком мои.
Серия проводит вас через создание небольшого движка инференса Llama 3.2 1B на C++ и CUDA, начиная с того, что происходит, когда вы отправляете LLM промпт.
Я рассказываю о:
Как текст превращается в токены, а токены — в эмбеддинги.
Загрузке весов модели в память GPU.
Основах CUDA, написании собственных GPU-ядер и матричном умножении с cuBLAS.
Трансформере шаг за шагом: RMSNorm, RoPE, attention и feed-forward сеть SwiGLU.
Prefill и decode: обработке вашего промпта и генерации ответа по одному токену за раз.
KV-кэшировании и том, как оно экономит повторные вычисления.
Статическом и непрерывном батчинге для обработки нескольких запросов.
Paged KV-кэшировании и paged attention для управления кэшированными данными на GPU и их чтения.
Вот репозиторий на github […]
- samirswr
если вам нравится то, что видите, давайте свяжемся! : https://www.linkedin.com/in/samir-sarwar-swe/