📄

Домашний инференс — достижимо?

01.04.2026 LLM

В настоящее время использование LLM для генерации кода, как на работе, так и в пет проектах становится нормой. LLM перестают быть простыми игрушками и становятся прекрасным инструментом для многих профессий.

Новости о том, что доступ к моделям могут ограничить подтолкнули упреждающим действиям по обеспечению себя вычислительными мощностями для локального инференса нейросетей для вайбкодинга.  Для российского программиста наличие «своего железа» (локального сервера или мощной рабочей станции) может превратиться из хобби в стратегическую необходимость.

В целом, открытые модели уже сейчас неплохо справляются с рабочими задачами. Было решено отобрать три лучшие модели с открытыми весами из имеющихся на момент начала написания статьи. Ими оказались Qwen3-coder-next 80B, Kimi-Dev-72B и GLM-4.7-Flash. Это представители разных архитектурных подходов к построению нейросетей, поэтому сравнить их результаты особенно интересно. Соответственно, железо подбиралось для инференса данных нейронных сетей.

Подробнее о моделях.

Основные характеристики и даты выхода

Модель РазработчикДата выходаАрхитектураКонтекст
Kimi-dev-72BMoonshot AIИюнь 202572B Dense (Плотная)131K токенов
Qwen3-Coder-NextAlibaba CloudФевраль 202680B MoE (3B активных)128K–262K
GLM-4.7-flashZhipu AIЯнварь 202631B MoE (3B активных)200K токенов

Ниже представлена общая информация о моделях:

  • Qwen3-Coder-Next:
    • SWE-bench Verified: 70.6% (с использованием агентов), что делает её лидером среди моделей своего класса.
    • Особенности: Благодаря архитектуре MoE (всего 3 млрд активных параметров) работает крайне быстро, сохраняя точность уровня гигантских моделей.
  • Kimi-dev-72B:
    • SWE-bench Verified: 60.4%. На момент выхода это был лучший результат среди открытых моделей.
    • Особенности: Обучена методом масштабного обучения с подкреплением (RL). Модель «штрафуют», если код не проходит тесты в Docker-контейнере, что минимизирует галлюцинации.
  • GLM-4.7-flash:
    • SWE-bench Verified: 73.8% (в составе флагманской линейки GLM-4.7).
    • LiveCodeBench V6: 84.9 (SOTA для открытых моделей на начало 2026 года).
    • Особенности: Позиционируется как самая быстрая модель («Flash») для интерактивного кодинга.

Но не стоит доверять «старым» тестам. Как показывает SWE-rebench (картинка кликабельна), Qwen3-coder-next 80B набирает внушительные, для открытой модели без Reasoninig, 40%. Kimi-dev-72B, как и GLM-4.7-flash нет в данном бенчмарке, но об их производительности можно судить виртуально, опираясь на сравнительную производительность относительно флагманских моделей.

Qwen3-Coder-Next, как и GLM-4.7-flash демонстрирует исключительную эффективность благодаря архитектуре MoE (Mixture of Experts), что позволяет им работать быстрее конкурентов при сопоставимом качестве кода. Теоретическим преимуществом Kimi-Dev-72B может являться большая точность за счет специфичного метода обучения.

Сравнительные тесты производительности и субъективные тесты автора на качество работы выбранных LLM будут в следующей статье. В этой же, мы рассмотрим как настроить Qwen3-coder-next 80B на подобранном железе.

А по железу вот что. Как показал поиск на Hugging Face, квантованные варианты данных моделей (в 6 битном исполнении) занимают следующее пространство в RAM/VRAM:

Учитывая еще и размер KV-кеша, с трудом, но GLM-4.7-flash может поместиться потребительскую видеокарту, но цена такой карты (5090) заоблачная. Можно рассмотреть покупку старой профессиональной карты, но у них могут быть проблемы с оптимизациями под инфересн нейросетей, не каждая квантованная модель на них сможет запуститься, а также может иметь место темное фермерское прошлое. Тем не менее, если вам хватает средств на 5090, можно задуматься о применении GLM-4.7-flash. Вот расчетные показатели ее производительности:

ПараметрЗначение (ориентировочно)
Вес модели (Q6_K)~25 ГБ
Чтение (Prefill)450–600 т/сек
Запись (Decoding)70–90 т/сек

Если сравнивать с Cursor (250 т/сек чтение и только бог знает сколько на чтение), то получается не так уж и плохо. Учитывая, что это свое, родное.

Но какие же есть конкуренты у 5090? И как же запустить другие модели на домашнем железе? Можно рассмотреть пару 3090 связанных NVLink, но найти это железо в настоящий момент сложно. Казалось бы все, мечта о домашнем инференсе моделей с результатом сравными с облачными решениями не сбыточна, но тут мы обращаемся вот к этому источнику.


Как показывает автор, королем домашнего инференса нейросетей выступают Мини-ПК/Ноутбуки на базе APU AMD Strix Halo (Ryzen AI MAX+ 395, 128 Gb RAM). В половину дешевле 5090 (на момент написания статьи), могут выделять до 96 Gb VRAM из унифицированной памяти, что идеально для Qwen3-coder-Next и Kimi-Dev-73B. Имеют встройку 8060S сравнимую по производительности с мобильной 4070. Многообещающе. Чтож, берем!

Настройка окружения

На рисунке выше представлен результат теста данного железа в инференсе Qwen3-coder-next 80B, квантование модели Q5_k_m и квантовании кеша Q4_0. Стоит отметить, что такой уровень производительности отмечается на старте инференса и снижается по мере заполнения контекста модели. Производительность уменьшается линейно. При контексте близком к 261к было получено около 15 т/с на запись и 50 т/сек на чтение. Если Вам кажется, что это мало, то далше можете не читать.

Инструкция ниже актуальна для машин (повторюсь) на APU Strix Halo (Ryzen AI MAX+ 395, 128 Gb RAM). Действия выполнены на Fedora 43 Server. Движком для инференса выбран llama.cpp. Тесты на предустановленной Windows 11 и Ollama показали, что этот движок по умолчанию загружает данные сначала в пространство RAM, а только потом в VRAM. Быстро решить данную проблему не удалось, поэтому было принято решение перейти на Fedora 43 Server и llama.cpp. Мы же энтузиасты, в конце то концов.

1. Установка системных зависимостей

Обновите систему и установите необходимые пакеты для разработки и Vulkan:

sudo dnf update
sudo dnf groupinstall "Development Tools"
sudo dnf install git cmake gcc-c++ make
sudo dnf install vulkan-headers vulkan-loader-devel vulkan-tools \
                 mesa-vulkan-drivers vulkan-validation-layers-devel \
                 glslang spirv-tools

Собрать под ROCm получилось, но вот выделить llama.cpp единое пространство в VRAM размером более 30 GB так и не смог. Поэтому Vulkan.

Далее, проверьте, что Vulkan корректно определяет ваше устройство:

vulkaninfo | grep "deviceName"

Результатом должно быть: gfx1151. Это идентификатор архитектуры, который соответствует RDNA 3.5

2. Клонирование репозитория llama.cpp

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp

3. Сборка с поддержкой Vulkan

Очистите предыдущие сборки (если есть) и выполните конфигурацию CMake:

rm -rf build
mkdir build && cd build
cmake .. -DGGML_VULKAN=ON -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)

4. Запуск сервера

Рабочая команда с оптимальными параметрами:

export HSA_MAX_MEMORY_ALLOC_PERCENT=100
export HSA_OVERRIDE_GFX_VERSION=11.5.1
./build/bin/llama-server \
  -m /<путь до хранилища моделей>/models/qwen3-coder-q5/Q5_K_M/Qwen3-Coder-Next-Q5_K_M-00001-of-00003.gguf \
  --host 0.0.0.0 \
  --port <port> \
  -ngl 49 \
  --flash-attn on \
  -c 261144 \ # можно снизить. это экстремальное значение
  -np 49 \
  --mmap \
  --kv-offload \
  --api-key "<your-api-key>"

Дожидаемся загрузки модели в оперативную память (примерно 3 минуты) и все готово! Теперь вы можете подключиться к своей модели через Roo Code и использовать ее на полную.

Последние статьи