Комментарии 8
Четыре P102-100 Qwen3.8-27B-Q5 без -sm tensor было 15-20 ток. нагрузка на GPU была 50%. С -sm tensor стало 25-33 ток. и все GPU загружаются на 100%. Отлично - теперь llama.cpp работает с картами как и vllm. Спасибо.
У меня на 4x3060 12гб, при включении MTP сразу просадка до 6т/c на двух потоках. С выключенным 40-50т/c на двух потоках (суммарно).
А на одном потоке включенный MTP подымает примерно с 30 до 40т/c.
У меня на 2×3090 та же связка ведёт себя иначе: -sm layer + MTP + --parallel 2 даёт 36.3 + 36.3 ток/с, без всякого обвала. Так что MTP с несколькими слотами сам по себе не сломан — у вас что-то конкретное, и, судя по цифрам, это не деградация, а падение с обрыва. 8-кратный провал — почерк не «стало неэффективно», а «работа уехала туда, где её быть не должно». Если не жалко, покажите вывод nvidia-smi --query-gpu=pcie.link.width.current --format=csv.
Большое спасибо, Добрый человек. Половину из этого уже накопал, стала стабильно работать на трёх mi50 32g, вторую половину сейчас проверю. Особенно надежда на квантование кэша черновика и sm tensor
Не понял, вот это -c 524288 --parallel 2зачем?
Для обработки (генерации ответов) от 2-х параллельных запросов.
Дам подробный ответ. -c — это суммарный пул KV на весь сервер, а не длина одного запроса. llama.cpp делит его на слоты, поэтому -c 524288 --parallel 2 = два независимых слота по 262 144 токена, ровно родной контекст модели. Обратная сторона: если написать -c 262144 --parallel 2, каждый слот получит по 131 072, и длинные промпты начнёт обрезать — при том что в аргументах вроде бы стоит полный контекст модели. Проверяется по строке при старте:
srv load_model: initializing, n_slots = 2, n_ctx_slot = 262144, kv_unified = 'false'
Два слота нужны, чтобы второй запрос не ждал в очереди, пока идёт первый: агент и редактор ходят в один эндпоинт одновременно. Цена — скорость каждого: 47.4 + 50.3 ток/с при двух занятых слотах против 74.8 в одиночку, то есть суммарная пропускная способность растёт, а отдельный ответ идёт медленнее.
Я в работе использую связку из скилов и субагентов - и мне это важно. Обычно я ставлю 4 слота, т.е. контекст на 1М в 4 параллели - 4 слота по 256к. С одной стороны это мой кейс, и мой конфиг - для всех читателей это карта куда идти за результатом. С другой - конкретно эти параметры можно было бы более подробно описать. В этом комментарии и исправляюсь.

Qwen3.8. MTP и тензорный параллелизм в llama.cpp: 75 ток/сек на двух RTX 3090