Введение в динамическую разреженность памяти (DMS)
С увеличением спроса на задачи, требующие глубокого анализа, большие языковые модели (LLMs) должны генерировать более длинные последовательности или параллельные цепочки рассуждений. Однако производительность на этапе вывода значительно страдает из-за объема памяти, занимаемой кэшом ключей и значений (KV), а не только из-за количества производимых токенов. Недавние исследования, проведенные учеными из NVIDIA и Эдинбургского университета, представили Dynamic Memory Sparsification (DMS) — метод, который эффективно сжимает кэши KV и позволяет масштабировать вывод без потери точности модели.
Проблема: Кэш KV в выводе трансформеров
Модели на основе трансформеров, такие как GPT и LLaMA, используют кэши KV для хранения представлений предыдущих токенов при автогенерации. Этот кэш увеличивается линейно с длиной последовательности и количеством потоков, что приводит к значительному потреблению памяти GPU и замедляет вывод из-за частого доступа к памяти.
Существующие методы оптимизации кэша KV либо полагаются на эвристики без обучения, такие как удаление токенов на основе весов внимания, либо требуют обширных доработок после обучения, как, например, динамическая компрессия памяти (DMC). Оба подхода имеют значительные недостатки: первый может негативно сказаться на точности, а второй требует больших вычислительных ресурсов.
DMS: Компрессия без компромиссов
DMS решает эти проблемы с помощью гибридного подхода: он разрежает кэш KV аналогично традиционным методам обрезки, но делает это с минимальными затратами на обучение (около 1000 шагов) и отложенным удалением, позволяя токенам временно сохраняться даже после пометки на удаление. Этот подход сохраняет важную контекстную информацию и предотвращает резкие падения точности.
Ключевая идея заключается в том, чтобы сделать решения о удалении дифференцируемыми во время обучения с использованием механизма выборки на основе Гамбель-сигмоида. Токены, которые предсказываются для будущего удаления, остаются доступными в течение определенного времени, прежде чем быть удаленными, что позволяет модели эффективно использовать их информационную ценность.
Эффективная доработка с минимальными данными
В отличие от DMC, который требует тысячи шагов обучения и сложной градиентной оптимизации, DMS не вводит дополнительных параметров для каждого слоя внимания. Он использует небольшую часть механизма внимания (один нейрон) для предсказания удалений, что делает DMS подходящим для доработки существующих моделей без изменения их архитектуры.
Эмпирические результаты показывают, что с использованием всего 1000 шагов обучения DMS может достичь 8-кратной компрессии кэша KV, сохраняя или даже улучшая производительность модели в задачах рассуждения.
Результаты бенчмарков: Масштабирование производительности без увеличения затрат
Исследовательская группа оценила DMS на бенчмарках, требующих глубокого анализа, таких как:
- AIME 2024 (продвинутая математика)
- MATH 500 (решение математических задач)
- GPQA Diamond (сложные научные вопросы)
- LiveCodeBench (генерация кода)
На различных размерах моделей — Qwen-R1 1.5B, 7B и 32B — DMS улучшил точность совпадений на 9.1 пункта на AIME, 7.6 на GPQA и 9.6 на LiveCodeBench, при этом сохранив те же бюджеты по памяти и вычислениям.
По сравнению с ведущими базовыми моделями, такими как Quest и TOVA, DMS последовательно превосходил их как по эффективности чтения кэша KV, так и по пиковому использованию памяти, достигая улучшенных фронтиров Парето.
Универсальность применения
DMS также демонстрирует эффективность в задачах, не связанных с рассуждением. На бенчмарках с коротким контекстом, таких как MMLU, GSM8K и HellaSwag, DMS сохранял производительность при коэффициентах сжатия до 4× с минимальным ухудшением (~3.5 пункта). Для задач с длинным контекстом, таких как Needle-in-a-Haystack и Variable Tracking, DMS даже превзошел производительность обычных моделей, что указывает на его потенциал в решении проблем, связанных с избыточным сжатием информации в длинных последовательностях.
Заключение
В заключение, динамическая разреженность памяти (DMS) предлагает практическое и масштабируемое решение для повышения эффективности вывода трансформеров. Умно сжимая кэш KV с минимальным переобучением, DMS позволяет моделям рассуждать над более длинными последовательностями или параллельно, не увеличивая затраты времени или памяти. Его постоянные улучшения в различных задачах рассуждения и общего назначения подчеркивают его универсальность и эффективность. В условиях ограниченных ресурсов DMS предоставляет убедительный путь вперед, балансируя компрессию, точность и простоту интеграции для реальных рабочих нагрузок вывода.