Ошибки в калькуляторах VRAM для LLM

При анализе калькуляторов VRAM для LLM выявили несколько ключевых расхождений. Например, ни один из топ-калькуляторов не учитывает, что движок резервирует почти всю память под пул заранее, а не распределяет её по мере запросов KV. 🧐

Кроме того, стандартные формулы могут сильно завышать требования. На DeepSeek-V2-Lite обычная формула может завышать память почти на порядок (в 7–11 раз) из-за геометрии KV. 🤯

В отличие от этого, vLLM при старте резервирует большой кусок VRAM под пул и пейджит KV внутрь него, используя флаг `gpu_memory_utilization` (дефолт 0.92). Для расчета емкости пула KV используется формула: KV-пул = util · VRAM − веса − overhead. 📊

Для более точных расчетов можно использовать инструменты вроде ridgepoint, который может считать локально, используя только `config.json` и индекс `safetensors`, не требуя загрузки GPU. Этот инструмент также может автоматически определять архитектуру модели (GQA, MLA, MoE). 💻

Более детальные расчеты для DeepSeek-V2-Lite с использованием MLA дают потребность в памяти в 31 104 Б/токен. 💡

(Код инструмента ridgepoint доступен по адресу github.com/Isk4R1oT/ridgepoint.)

#Технологии #Программирование #Искусственный_интеллект

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *