Материалы / 11 минут
Подобрать runtime и параметры запуска, которые стабильно используют доступные CPU, GPU и память.
Формат и runtime образуют контракт
Runtime должен понимать архитектуру, tokenizer, metadata и конкретный тип квантизации. Факт загрузки файла ещё не доказывает корректность генерации.
Фиксируйте commit или release runtime рядом с моделью. Обновление движка может менять шаблон диалога, kernels и профиль памяти.
Backend выбирается измерением
CPU, CUDA, Metal, Vulkan и гибридный offload имеют разные накладные расходы. Максимальное число слоёв на GPU не всегда даёт лучший первый ответ.
Начните с консервативного контекста и одного потока запросов. Затем меняйте только один параметр: threads, batch, context или offload.
Стабильность важнее рекордного прогона
Проверьте десять последовательных запросов, длинный контекст и отмену генерации. Runtime должен освобождать состояние и возвращаться к одинаковому объёму памяти.
Для приложения используйте серверный режим с health endpoint и ограничением конкурентности, а не запускайте CLI-процесс для каждого запроса.
llama-server \
-m ./models/model-q4_k_m.gguf \
-c 4096 \
-t 8 \
-ngl 0 \
--host 127.0.0.1 \
--port 8081