Перейти к содержанию

Инференс 27B-моделей на модифицированных CMP 50HX в llama.cpp: бенчмарки и квантование KV-кэша

5.0/10

В бенчмарке энтузиаста исследовался запуск Qwen 3.8 27B и Ornith 1.5 35BA3B на бюджетном домашнем сервере (i7-4790K, 32 ГБ DDR3) с использованием двух видеокарт CMP 50HX (одна аппаратно модифицирована до 20 ГБ VRAM и 16 линий PCIe, вторая — стоковая на 10 ГБ и 4 линии) с суммарным объемом видеопамяти 30 ГБ. Применение кастомных патчей драйверов с разблокировкой вычислений и включением PCIe 2.0 удвоило базовую скорость генерации плотных моделей с 15–20 до 30–35 токенов/с при активном MTP, а скорость prompt processing составила 300–400 токенов/с при ограничении мощности 180 Вт на карту. При симметричном тензорном разбиении 1,1 для Q4_K_M (Unsloth) с MTP достигнута пропускная способность ~40 токенов/с, однако стоковая карта на 10 ГБ стала узким местом для аллокации KV-кэша.

Метод оптимизации

Для преодоления ограничений VRAM в llama-server применили асимметричное и симметричное квантование KV-кэша: связка K-кэша в Q8_0 и V-кэша в Q5_1 позволила развернуть квант Q6_K с контекстом 130k токенов, а конфигурация K/V в Q8_0 обеспечила удержание контекста вплоть до 256k токенов (ценой падения скорости генерации до 10–14 токенов/с и prompt processing до 40–50 токенов/с). На уровне окружения изоляция пресетов потребовала кастомного Python-лаунчера для динамического переключения флага GGML_CUDA_DISABLE_GRAPHS=1 (необходимого для 256k контекста, но замедляющего остальные профили на 1–2 токена/с) и принудительного сброса page cache ядра Linux, захватывавшего почти всю системную память при загрузке весов через mmap.

Экономическая и вычислительная эффективность

Суммарные затраты на GPU-подсистему объемом 30 ГБ VRAM составили 250 долларов, что позволило получить до 80–100 токенов/с на MoE-модели Ornith 1.5 35BA3B (Heretic-MTP-APEX-I-Balanced) и до 40 токенов/с на 27B-модели. Использование квантованного KV-кэша (Q8_0/Q5_1) позволило масштабировать контекстное окно плотной модели 27B до 256k токенов без выхода за пределы доступной видеопамяти.