21 октября 2026 г.
--moe-cache-mib в llama.cpp: GPU-кэш экспертов ускорил MoE-модель в 2,2 раза на RTX 5090
В llama.cpp с 7 октября есть GPU-кэш экспертов: Qwen3.8-Flash-Next в Q4_0 весом 93,7 ГиБ выдаёт 67,8 токена в секунду на RTX 5090 вместо 30,8. Кэш держит часто вызываемых экспертов в видеопамяти, а редкие догружаются по PCIe.

Раньше, без кэша, RTX 5090 давала 30,8 токена в секунду, с кэшем стало 67,8. Идея опирается на локальность обращений: следующий токен чаще берёт тех же экспертов, что и предыдущий, поэтому частых экспертов держат в видеопамяти как LRU-кэш. Попадание считается прямо из VRAM без копирования. Промах копирует один эксперт (около 2,6 МиБ при 4 битах) и вытесняет самого давно не использованного.
Почему 5090 выигрывает сильнее. PCIe 5.0 вдвое дешевле каждый промах, а 32 ГБ видеопамяти дают больший кэш и меньше промахов. Попадание: 77% на RTX 4090 (ускорение 1,62x), 89% на RTX 5090 и 94,6% на AMD R9700 с 32 ГБ, которую проверял ревьюер PR.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
Как включить. Флаг --moe-cache-mib задаёт размер кэша в МиБ, та же настройка идёт через переменную LLAMA_ARG_MOE_CACHE_MIB. Автор PR советует около 10% от объёма экспертов: для модели с 65,4 ГиБ экспертов это 6544 МиБ. Эксперты при этом остаются в оперативной памяти через --cpu-moe. Процент попаданий печатается в логе при выходе. Все замеры сделаны на одной модели, Qwen3.8-Flash-Next в Q4_0, на других моделях в источнике цифр нет.
SGLang повторил тот же приём под названием paged experts: PR #42557 вошёл в основную ветку через 12 дней после llama.cpp.
Первоисточник