GPU, ускорители и инфраструктура LLM · проверено по источникам

Бюджет памяти GPU для LLM

Бюджет памяти GPU — проверяемая оценка размещения весов, KV-кэша и прочих выделений на каждом устройстве при заданной модели и нагрузке. Он учитывает пиковое состояние, распределение по GPU и запас для работы runtime, а не только размер файла весов.

Также ищут: GPU memory budget · бюджет VRAM модели · LLM memory capacity planning

Практический смысл

Почему это важно

Модель, которая загрузилась в пустой GPU, может исчерпать память после нескольких длинных диалогов. И сумма памяти нескольких карт не описывает свободное место на каждой из них. Расчёт даёт исходную границу, а приёмка подтверждает её на разрешённых длинах и конкурентности.

Доказательная часть

Что подтверждено

  1. Размер размещённых весов покрывает только одну часть расхода памяти. Во время генерации нужны KV-кэш, промежуточные данные и рабочие буферы исполняемого пути; успешная загрузка весов не доказывает возможность принять целевую нагрузку.

    Граница применимости: Вывод из размещения данных CUDA и анализа памяти serving в PagedAttention; конкретный состав выделений определяется движком и моделью.

  2. В decoder-only модели с одинаковыми слоями и полным self-attention несжатый KV оценивают как 2 × L × Hkv × D × b × сумму S: массивы K/V, L слоёв, Hkv KV-голов, D элементов в голове, b байт на элемент и S хранимых токенов каждой активной последовательности. Накладные расходы размещения добавляют отдельно.

    Граница применимости: Вывод для одного логического экземпляра KV с одинаковыми размерами и dtype K/V, без shared prefix, sliding window, offload и метаданных квантования; физическое распределение по GPU считают отдельно.

  3. В grouped-query attention несколько query-голов используют одну группу key/value-голов. В оценку KV входит число KV-голов, а не автоматически число query-голов; при прочих равных меньшее Hkv уменьшает полезный объём кэша.

    Граница применимости: Архитектура GQA из первичной публикации; реальные Hkv, число слоёв и размер головы берутся из конфигурации конкретной модели.

  4. Четырёхбитные веса сами по себе не означают четырёхбитный KV-кэш. Разрядность весов и формат хранимых K/V — отдельные решения; в расчёте нужны реальные dtype кэша и дополнительные данные его представления, если используется квантование.

    Граница применимости: Вывод из weight-only подхода AWQ и структуры KV; поддержка конкретного сочетания weight/KV dtype текущим движком не предполагается.

  5. У каждого GPU собственные ограничения размещения и выделения памяти. Сумма VRAM нескольких устройств не превращает их в одно место для любой модели: при выбранном разбиении переполненная карта может остановить запуск, даже если на соседней остаётся запас.

    Граница применимости: Вывод для обычного распределённого размещения CUDA/Megatron; Unified Memory, удалённый доступ и offload не объявляются безусловной общей VRAM и требуют отдельного договора.

  6. Расчёт полезных байтов нужно дополнить пиковыми временными выделениями и устройством аллокатора. Фрагментация и рабочие буферы могут ограничить размещение раньше арифметической суммы весов и KV; универсальный процент запаса из этой формулы не следует.

    Граница применимости: Вывод из управления GPU-памятью CUDA и мотивации PagedAttention; бюджет резервов определяют измерением выбранного runtime и его нагрузки.

  7. Граница приёма запросов должна выдержать сочетание допустимых входных длин, продолжения генерации и числа активных последовательностей. Тест одной короткой последовательности не подтверждает этот предел; отмена и завершение также должны возвращать занятое состояние в доступный пул.

    Граница применимости: Эксплуатационный вывод из допуска Orca и жизненного цикла KV в PagedAttention; проверяется заданный максимум, а не неограниченный рост контекста.

Граница терминов

Не путать

Память графического процессора

VRAM описывает память устройства, бюджет — её размещение и пиковый расход конкретной нагрузки. Паспортная ёмкость сама по себе не сообщает, сколько памяти останется для KV после загрузки модели.

Квантование модели

Квантование может уменьшить представление весов, но бюджет охватывает ещё KV и runtime. Нельзя переносить коэффициент сжатия файла весов на весь расход GPU-памяти.

Тензорный параллелизм

Tensor parallelism меняет распределение вычислений и некоторых тензоров между GPU. Бюджет после такого разбиения считают по устройствам: не все буферы обязаны делиться на число участников одинаково.

Перед спецификацией

Что проверить

  1. Запишите число параметров, реальное представление весов и служебные данные квантования.
  2. Возьмите L, Hkv и D из конфигурации модели, не заменяя KV-головы query-головами.
  3. Оцените KV по хранимым входным и выходным токенам всех активных последовательностей.
  4. Проверьте dtype KV независимо от разрядности весов.
  5. Составьте размещение весов, KV и рабочих буферов отдельно для каждого GPU.
  6. Измерьте пиковые выделения при разрешённых длинах и конкурентности; обоснуйте запас.
  7. Испытайте завершение, отмену и повторный допуск запросов без накопления потерянного KV.
Открытые основания

Первоисточники

  • Официальная документация

    CUDA C++ Programming Guide

    NVIDIA · CUDA C++ Programming Guide, CUDA 12.6, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Открыть первоисточник
  • Первичная публикация

    Efficient Memory Management for Large Language Model Serving with PagedAttention

    Woosuk Kwon и соавторы · arXiv:2309.06180, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Открыть первоисточник
  • Первичная публикация

    Attention Is All You Need

    Ashish Vaswani и соавторы · arXiv:1706.03762, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Открыть первоисточник
  • Первичная публикация

    GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints

    Joshua Ainslie и соавторы · arXiv:2305.13245, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Открыть первоисточник
  • Первичная публикация

    AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration

    Ji Lin и соавторы · arXiv:2306.00978, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен.

    Открыть первоисточник
  • Первичная публикация

    Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism

    Shoeybi et al.; NVIDIA · arXiv:1909.08053, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Первичная схема tensor parallelism при обучении; поддержка современного serving здесь не подтверждается.

    Открыть первоисточник
  • Первичная публикация

    Orca: A Distributed Serving System for Transformer-Based Generative Models

    USENIX · USENIX OSDI 2022, страница открыта 7 сентября 2026 года

    Открыт редактором 7 сентября 2026 года, заголовок документа сверен. Iteration-level scheduling и selective batching; результат статьи не переносится на любой движок.

    Открыть первоисточник
Сообщить об ошибке

Опишите проблему — постараемся исправить как можно скорее.

Спасибо!

Получили ваше сообщение.
Подтвердите действие