Перейти к содержимому

Пишем слой KV-кэша с нуля, ускоряющий LLM в 20 раз

Rahul Pandey

0:00 / 0:00

Пишем слой KV-кэша с нуля, ускоряющий LLM в 20 раз

488 просмотров · 2 недели назад
Rahul Pandey
311 подписчиков
488 просмотров · 2 недели назад
В каждом готовом LLM-проекте есть один приём, который позволяет пропустить 99% собственной работы. Почти никто не создавал его вручную. Поэтому я это сделал. Классический цикл генерации перезапускает всю модель на всей последовательности для каждого отдельного токена — и этот цикл является фикцией в обучении. Никто его не использует. Кэш ключ-значение — это невидимый стандартный механизм, лежащий в основе GPT, Llama, Claude и каждого сервера вывода, к которому вы когда-либо обращались. В этом видео я создаю GPT с нуля (подсчёт букв → внимание → работающий мини-GPT), затем прерываю его цикл генерации на секундомере, точно доказываю, где находятся излишки памяти, создаю кэш ключ-значение за 12 строк, доказываю, что он выдаёт идентичные по символам результаты, и оплачиваю счёт за память чеками: 512 КБ на токен в 7-битной модели и кэш, который превосходит весовые коэффициенты при ~27 000 токенов. Затем: как производство борется с этим счетом — внимание к групповым запросам (почему в Llama 3 8 голов KV), скользящие окна, FP8, PagedAttention и скидка на счет за API за кэширование подсказок. 🔗 Подпишитесь на канал, чтобы получать больше видеороликов о создании ИИ на основе фундаментальных принципов:    / @ipandeyrahul   Разделы: 00:00 Введение 00:55 Основы 11:40 Создание MiniGPT 17:00 Кэш KV 23:10 Анализ стоимости памяти 27:19 Заключение Что такое кэш KV? Это внимание к тензорам ключ/значение, уже вычисленное для каждого предыдущего токена, которое хранится в памяти, так что каждый новый токен подается отдельно, вместо повторного выполнения всей последовательности. Это объяснение работы кэша ключ-значение (KV-кэша) на примере его сборки — как работает KV-кэш в LLM-выводе, почему это первая оптимизация KV-кэша, применяемая каждым стеком обработки данных, и сколько памяти GPU он занимает. #KVCache #LLM #BuildFromScratch #Transformers #PyTorch #LLMInference #GPT