Пишем слой 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