
Большие языковые модели: процесс вывода и структура квэша KV
11 июня 2025 г.Таблица ссылок
Аннотация и 1 введение
2 фон
2.1 Модели больших языков
2.2 Фрагментация и Pagegataturation
3 проблемы с моделью Pagegatatturetion и 3.1 требуют переписывания ядра внимания
3.2 Добавляет избыточность в рамки порции и 3,3 накладных расходов
4 понимания систем обслуживания LLM
5 Vattument: проектирование системы и 5.1 Обзор дизайна
5.2 Использование поддержки CUDA низкого уровня
5.3 Служение LLMS с ваттенцией
6 -й ваттиция: оптимизация и 6,1 смягчения внутренней фрагментации
6.2 Скрытие задержки распределения памяти
7 Оценка
7.1 Портативность и производительность для предпочтений
7.2 Портативность и производительность для декодов
7.3 Эффективность распределения физической памяти
7.4 Анализ фрагментации памяти
8 Связанная работа
9 Заключение и ссылки
2.1 Модели больших языков
Учитывая входную последовательность, LLM предсказывает вероятность выходной последовательности, в которой последовательность представляет собой набор токенов [39]. Каждый запрос на вывод начинается с фазы предварительного заполнения, которая параллельно обрабатывает все свои приглашенные токены. Фаза предварительной заполнения создает первый выходной токен запроса. После этого фаза декодирования итеративно обрабатывает выходной токен, сгенерированный на предыдущем этапе, и создает следующий выходной токен в каждой итерации [26].
LLMs построены на одном из вариантов архитектуры трансформатора [44]. Блок трансформатора содержит два типа операторов: по позиции и последовательно. Первая категория включает в себя сеть подачи, нормализацию слоя, активацию, встраивание слоя, выходной выборки и остаточные соединения, тогда как внимание является оператором уровня последовательности. В этой статье мы в первую очередь сосредоточены на внимании, поскольку она является основным потребителем памяти графических процессоров при выводе LLM.
Структура кв-кэша и терминологии:LLM состоит из нескольких слоев блока трансформатора, и каждый слой поддерживает свой собственный кэш из ключей и значений. В этой статье мы называем кэш всех блоков трансформаторов коллективно как кв-кэш при использовании термина k-cache или v-cach для ключей и значений соответственно. В рамках глубокого обучения k-cache (или v-cache) на каждом слое обычно представлен как 4D тензор формы [𝐵, 𝐿, 𝐻, 𝐷], где 𝐵 относится к размеру партии и 𝐿 относится к максимально возможной длине контекста запроса. Мы ссылаемся на реализацию ядра, которая вычисляет оценки внимания по смежному сохранению K и V как ванильного ядра.
Эта статья естьДоступно на ArxivПод CC по лицензии 4.0.
[2] Исключением из этого является внимание скользящего окна, которое фиксирует верхнюю границу того, сколько из токенов используется для вычисления внимания.
Авторы:
(1) Рамья Прабху, Microsoft Research India;
(2) Аджай Наяк, Индийский институт науки и участвовал в этой работе в качестве стажера в Microsoft Research India;
(3) Джаяшри Мохан, Microsoft Research India;
(4) Рамачандран Рамджи, Microsoft Research India;
(5) Ашиш Панвар, Microsoft Research India.
Оригинал