Track
Qwen3.8-27B быстро становится одной из самых популярных моделей для локального ИИ. Несмотря на всего 27 миллиардов параметров, она демонстрирует производительность, сопоставимую с намного более крупными моделями в задачах по коду, рассуждению, агентным сценариям и общему назначению. По ряду направлений она уже приближается к таким моделям, как GLM-5.2, что сделало её особенно популярной среди тех, кто экспериментирует с мощным локальным железом.
RTX 5090 особенно хорошо подходит для Qwen3.8-27B, потому что её архитектура Blackwell поддерживает NVFP4, что позволяет модели работать на очень высоких скоростях при сохранении высокого качества вывода. В сочетании со спекулятивным декодированием через multi-token prediction (MTP), оптимизированной сборкой llama.cpp и подходящей моделью GGUF, Qwen3.8-27B может выдавать намного более 100 токенов в секунду на одной RTX 5090.
В этом руководстве мы настроим, на мой взгляд, один из самых простых способов получить оптимальный баланс скорости, точности и поддержки длинного контекста на RTX 5090 или другом GPU Blackwell. Мы скомпилируем llama.cpp с нативной поддержкой Blackwell, скачаем Qwen3.8-27B NVFP4-MTP GGUF, запустим её с ускорением на GPU и спекулятивным декодированием MTP, проверим совместимый с OpenAI API и встроенный веб-интерфейс и, наконец, подключим её к Pi, чтобы использовать Qwen3.8-27B как полностью локального кодового агента.
1. Настройка llama.cpp для GPU Blackwell
Сначала убедимся, что GPU корректно определяется, и проверим версию драйвера NVIDIA и CUDA.
nvidia-smi
Вы должны увидеть свою RTX 5090, версию драйвера, версию CUDA, объём памяти GPU и текущую загрузку GPU.
Примечание: эта настройка предназначена специально для GPU NVIDIA Blackwell, таких как RTX 5090. Приведённая ниже сборка нацелена на SM120, то есть вычислительную архитектуру, используемую в RTX 5090.
Далее скачаем и скомпилируем последнюю версию llama.cpp с поддержкой CUDA.
cd /workspace
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build \
-DGGML_CUDA=ON \
-DCMAKE_CUDA_ARCHITECTURES=120
cmake --build build --config Release -j$(nproc)

Здесь важен параметр -DCMAKE_CUDA_ARCHITECTURES=120. Он говорит llama.cpp собираться специально под архитектуру Blackwell, используемую в RTX 5090.
После завершения сборки сделаем llama-server доступным глобально, чтобы можно было запускать его из любой папки:
sudo ln -sf "$(realpath ./build/bin/llama-server)" /usr/local/bin/llama-server
Теперь проверьте, что всё работает:
llama-server --version
Вы должны получить вывод, похожий на:
version: 0.1.1-dev (build 10479, commit 0021a77de)
built with GNU 13.3.0 for Linux x86_64
Готово. У нас есть сборка llama.cpp с поддержкой CUDA, которая может использовать RTX 5090 и её нативную поддержку NVFP4 в Blackwell.
2. Скачайте модель Qwen3.8-27B NVFP4-MTP
Теперь скачаем модель Qwen3.8-27B.
Сначала установите Hugging Face CLI:
pip install -U huggingface_hub
Создайте папку для модели:
mkdir -p /workspace/models/qwen38
Затем скачайте NVFP4-MTP GGUF:
hf download felippeburk/Qwen3.8-27B-NVFP4-MTP-GGUF \
--local-dir /workspace/models/qwen38

Это нужная нам версия для этой конфигурации, поскольку она использует NVFP4 и включает поддержку MTP, что и даёт основную прибавку скорости на RTX 5090.
3. Запуск сервера Qwen3.8-27B
Теперь самое интересное. Запустим Qwen3.8-27B полностью на GPU с Flash Attention, контекстным окном на 131K и спекулятивным декодированием MTP для ускоренной генерации.
Выполните:
cd /workspace/llama.cpp
llama-server \
-m /workspace/models/qwen38/qwen3.8-27b-text-nvfp4-mtp.gguf \
--alias qwen3.8-27b \
--host 0.0.0.0 \
--port 8910 \
--ctx-size 131072 \
--n-gpu-layers all \
--flash-attn on \
--cache-type-k q8_0 \
--cache-type-v q8_0 \
--parallel 1 \
--spec-type draft-mtp \
--spec-draft-n-max 4 \
--spec-draft-p-min 0.75 \
--spec-draft-ngl all \
--spec-draft-type-k q8_0 \
--spec-draft-type-v q8_0 \
--reasoning-effort medium \
--jinja
Параметров много, но большинство из них нужны лишь для максимальной производительности на 5090.
Ключевые параметры:
-
--ctx-size 131072даёт приблизительно 131K контекста. -
--n-gpu-layers allдержит модель на GPU. -
--flash-attn onвключает Flash Attention. -
--cache-type-k q8_0и--cache-type-v q8_0помогают снизить использование памяти под KV-кэш. -
--spec-type draft-mtpвключает спекулятивное декодирование MTP в Qwen3.8. -
--spec-draft-n-max 4управляет числом спекулятивных токенов, которые MTP может предлагать за раз.
В этой конфигурации мы используем n-max 4 как отправную точку для RTX 5090. Можно поэкспериментировать со значениями 2 (которое рекомендует карточка модели для этого GGUF) или 3 позднее, поскольку самая быстрая настройка может немного зависеть от вашей системы.
После того как llama-server завершит загрузку модели, Qwen3.8 будет доступна локально по адресу http://127.0.0.1:8910.

Теперь у нас локально запущена Qwen3.8-27B. Далее протестируем модель через API и встроенный интерфейс в браузере.
4. Тест скорости и качества кода Qwen3.8-27B
При запущенном сервере откройте другой терминал и отправьте тестовый запрос в API, совместимый с OpenAI:
curl http://127.0.0.1:8910/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-27b",
"messages": [
{
"role": "user",
"content": "Write a Python FastAPI application that monitors GPU usage."
}
],
"max_tokens": 2000
}'

В этом тесте Qwen3.8-27B сгенерировала 2 000 токенов со скоростью 122 ток/с с впечатляющей долей принятия MTP 84,9%.
В llama.cpp также есть интерфейс в браузере, так что вы можете протестировать модель без использования API.
Откройте http://127.0.0.1:8910 в браузере, чтобы увидеть интерфейс.

Для более сложного теста я использовал такой промпт:
Create a stunning single-file animated HTML website with a dark futuristic
theme, smooth scrolling, glowing gradients, floating particles, animated cards,
hover effects, and responsive design using only HTML, CSS, and JavaScript.

На моей RTX 5090 средняя скорость была около 142 токенов в секунду, а иногда генерация достигала примерно 170 токенов в секунду — это чрезвычайно быстро для локально запущенной модели на 27B.

Qwen3.8-27B сгенерировала аккуратный, полностью рабочий сайт, который запустился сразу «из коробки». Это хороший способ быстро проверить и способности модели к написанию кода, и скорость локальной конфигурации.
5. Используйте Qwen3.8-27B с Pi
В этом разделе мы подключим Qwen3.8-27B к Pi и используем её как полностью локального кодового агента.
Pi — это лёгкий терминальный кодовый агент, который помогает собирать, редактировать, тестировать и отлаживать проекты прямо из командной строки.
Установите Pi командой:
curl -fsSL https://pi.dev/install.sh | sh
Установщик требует Node.js и npm. Он устанавливает Pi в глобальный префикс npm. Если Node ещё нет, сначала установите его через nvm или ваш менеджер пакетов.
После завершения установки перезапустите терминал.
Далее установите расширение pi-llama и укажите Pi наш локальный сервер llama.cpp:
pi install git:github.com/huggingface/pi-llama
export LLAMA_BASE_URL=http://127.0.0.1:8910/v1
Создайте новый проект и запустите Pi:
mkdir new-project
cd new-project
Pi

Внутри Pi выполните /model, найдите llama-cpp и выберите Qwen3.8-27B.
Для теста я дал такой промпт:
Build a polished personal finance dashboard from scratch that imports CSV
bank statements, categorizes spending, shows monthly trends and charts, and
detects unusual expenses; also generate a realistic sample CSV, import it,
test the full app end-to-end, and fix any errors automatically.

Он собрал весь проект за несколько минут.

Затем я попросил запустить сервер и протестировать как фронтенд, так и логику приложения. Он потратил больше времени на отладку и тесты, чтобы убедиться, что всё работает корректно.

Когда я протестировал дашборд сам, приложение работало хорошо, графики выглядели отлично, а общий опыт был плавным.

Основной слабой стороной оказались точные изменения в интерфейсе. После нескольких последующих промптов он начал вносить несвязанные изменения вместо того, чтобы понять, чего именно я хотел, поэтому на этом я остановился.
Заключение
Qwen3.8-27B всё ещё очень нова, и сообщество активно подбирает лучшую комбинацию квантования и спекулятивного декодирования. MTP работает чрезвычайно хорошо, но также тестируются новые подходы, такие как DFlash 2 и DSpark, и некоторые пользователи сообщают о ещё более высоких скоростях в зависимости от аппаратуры и нагрузки.
Unsloth также недавно выпустил Dynamic v3.0 GGUF для Qwen3.8-27B, заявляя примерно на 10% более высокую точность при том же размере модели по сравнению с предыдущими квантациями. Это делает Unsloth ещё одним очень интересным вариантом, если вы хотите лучшее качество, сохранив примерно ту же локальную схему инференса.
На данный момент, я считаю, что NVFP4 + MTP + llama.cpp — один из самых простых и быстрых вариантов для RTX 5090. Получать около 140 токенов в секунду от модели на 27B, при этом сохраняя большое контекстное окно и достаточные возможности для запуска реального кодового агента, — впечатляет. Вероятно, эта конфигурация станет ещё быстрее по мере улучшения llama.cpp, Unsloth, DFlash 2 и DSpark.
Частые вопросы по локальному запуску Qwen3.8-27B
Нужна ли RTX 5090, чтобы запустить Qwen3.8-27B локально?
Нет. Стандартные 4-битные кванты GGUF Qwen3.8-27B занимают порядка 16–19 ГБ VRAM, так что RTX 5080, 4090 или Mac с 24 ГБ запустят модель. RTX 5090 важна для этой конкретной конфигурации, потому что NVFP4 требует тензорные ядра Blackwell. На более старых видеокартах файлы NVFP4 запустятся, но дадут лишь экономию памяти, а не ускорение.
Сколько VRAM фактически использует эта конфигурация?
NVFP4-MTP GGUF занимает около 19 ГБ на диске, а общий объём потребления растёт по мере увеличения контекста из‑за KV-кэша. С K/V-квантацией q8_0 при очень длинном контексте опубликованные прогоны на RTX 5090 укладываются в середину диапазона 20+ ГБ, так что с картой на 32 ГБ комфортно. На 24 ГБ придётся заметно снизить --ctx-size относительно 131072.
Что делает спекулятивное декодирование MTP и является ли оно без потерь?
Qwen3.8 поставляется со слоями multi-token prediction, встроенными в GGUF, которые работают как встроенная черновая модель — без второго файла. Черновая голова предлагает сразу несколько токенов, а полная модель их проверяет, так что принятые черновики стоят лишь долю обычного прохода вперёд. Качество вывода не страдает, потому что каждый принятый основною моделью токен — это тот, который она бы и так выдала.
Стоит ли использовать NVFP4 или обычный квант Q4_K_M?
Выбирайте NVFP4, если у вас GPU Blackwell и важна максимальная скорость; выбирайте стандартный GGUF вроде Q4_K_M или UD-Q4_K_XL от Unsloth, если у вас Ampere или Ada, либо если вы больше заботитесь о качестве вывода на гигабайт. Поддержка NVFP4 в llama.cpp также новее, чем путь с K-квантами, так что ожидайте больше шероховатостей вокруг конверсии и инструментов.
Справится ли эта конфигурация с изображениями, раз Qwen3.8-27B — визуальная модель?
Qwen3.8-27B — нативная мультимодальная модель (текст+визуальное), но конверсии GGUF только для текста убирают vision-tower. Чтобы работать с изображениями, нужно передать мультимодальный проектор вместе с моделью через --mmproj, обычно это файл mmproj, опубликованный в том же репозитории или в репозитории GGUF от Unsloth.
