Новый пулреквест в репозитории ggml-org/llama.cpp решает одну из самых острых проблем локального инференса — грубую выгрузку слоев целиком на процессор. Предложенный разработчиком под ником John-194 в PR #26622 флаг `--n-cpu-ffn` позволяет инфраструктурным инженерам выборочно переносить полносвязные блоки (Feed-Forward Network, FFN) в оперативную память, избегая резкого падения пропускной способности, которое раньше вызывала стандартная выгрузка через `--ngl`.
Инженерная логика повторяет уже существующую в проекте маршрутизацию `--n-cpu-moe`. Вместо того чтобы целиком блокировать работу блоков трансформера в более медленной памяти, операторы могут направить точное число ресурсоемких FFN-блоков, начиная с нулевого индекса, напрямую на ядра центрального процессора. Такое точечное разделение сохраняет драгоценную видеопамять (VRAM) для массивного кэша внимания и состояния последовательности, не вызывая простоев в вычислительном конвейере.
Судя по бенчмаркам, опубликованным автором на GitHub, архитектурный выигрыш оказался весьма ощутимым. На стандартном потребительском тестовом стенде — видеокарте RTX 4070 Ti Super (16 ГБ VRAM), процессоре Intel Core i5-13600KF и 32 ГБ DDR5 под управлением Ubuntu 24.04 LTS — гибридный пайплайн удерживал скорость от 15 до 25 токенов в секунду на квантованной модели Q4_K_M при активном контексте, превышающем 90 000 токенов.
Для руководителей корпоративной инфраструктуры разделение на уровне подслоев в корне меняет экономику оборудования. Вместо закупки дефицитных и дорогих серверных ускорителей исключительно под раздутые буферы контекста, компании получают возможность запускать корпоративные сценарии с длинным контекстом на уже имеющихся узлах с мощными CPU. Как отметил разработчик в плане дальнейшего развития, следующие итерации с приоритетной выгрузкой самых крупных блоков FFN только увеличат этот выигрыш в эффективности.