Коротко
Автор запустил Qwen3.6–35B-A3B на мини-ПК с Ryzen AI 9 365 через FastFlowLM и описал настройку, производительность и сбои под нагрузкой. Система выдаёт около 200 ток/с при обработке длинного промпта и 13–17 ток/с при генерации, но обслуживает запросы последовательно и требует аккуратной настройки памяти и очередей.
Контекст
Автор использует домашний сервер для сервисов с частыми локальными запросами — около 6 млн токенов в сутки, включая длинные промпты. Старый Ryzen 7 5800U без GPU/NPU тратил на чтение промпта 99% времени. Автор купил мини-ПК FIREBAT с Ryzen AI 9 365, NPU XDNA2, Radeon 880M и 64 ГБ DDR5-4800 примерно за 70 тыс. ₽ (~$825), чтобы ускорить локальный инференс и снизить зависимость от нестабильных бесплатных API и платных облачных моделей.
Главное
- Проверенная конфигурация: FIREBAT с Ryzen AI 9 365, NPU XDNA2, Radeon 880M и 64 ГБ DDR5-4800; память обошлась автору примерно в 40 тыс. ₽, весь мини-ПК — около 70 тыс. ₽ (~$825).
- Lemonade Server не дал ожидаемого гибрида для Qwen3.6–35B-A3B: гибридные ONNX-модели AMD ограничены подготовленным списком, в описанной версии — преимущественно моделями до 8B.
- FastFlowLM 1.0.5 запускает
qwen3.6-moe:35b-a3b— MoE-модель с примерно 3B активных параметров и поддержкой изображений; размер модели около 20 ГБ. - Уменьшение
UMA Frame Buffer Sizeв BIOS до минимума подняло видимую ОС память до 63,1 ГБ, а пул NPU — до 31,6 ГБ; модель занимала в нём 21,2 ГБ. - В Proxmox VE 9.2 (Debian 13) использовались ядро 7.0.2-6-pve, драйвер
amdxdna, прошивка 1.1.2.64 и XRT2.25.0-4; NPU работал на хосте, а не в VM. - FLM по умолчанию ставит запросы в FIFO-очередь (
--q-len, обычно 10), но обрабатывает только один запрос одновременно. При отмене активного запроса возможныdouble free or corruption (!prev)или SIGSEGV; проблема отмечена в issue #608. - В Open WebUI автор рекомендует ограничить
CHAT_RESPONSE_MAX_TOOL_CALL_ITERATIONSзначением 2–3: иначе повторяющиеся tool_calls могут вызвать цикл с повторной обработкой всего диалога. - Короткие запросы имеют фиксированную задержку prefill около 2,7 с; issue #710 связывает её примерно с 4900 последовательными вызовами NPU по экспертам.
- Для нескольких источников трафика автор поставил LiteLLM с
global_max_parallel_requests: 3.--q-len 1оказался хуже: зависший запрос блокировал единственный слот и приводил к ответам 503. - Эмбеддинг-модель
embed-gemma:300mчерез FLM могла вытеснить 35B-модель; автор перенёсembeddinggemma-300Mв GGUF Q8_0 на CPU через llama.cpp, получив 0,06–0,11 с на запрос.
Как сделано
Сначала автор проверил Windows и Lemonade Server от AMD, рассчитывая на гибрид NPU для prefill и iGPU для decode. Гибрид поддерживал только заранее подготовленные модели максимум до 8B, поэтому для Qwen3.6–35B-A3B он перешёл на FastFlowLM (FLM). После обновления драйвера NPU уменьшил в BIOS параметр UMA Frame Buffer Size до минимума: это увеличило видимую системе память с 47,6 до 63,1 ГБ, а доступный пул NPU — с 23,8 до 31,6 ГБ.
Затем автор установил Proxmox VE 9.2 на Debian 13 и запустил FLM непосредственно на хосте: пробросить NPU в виртуальную машину не удалось. Использовались ядро 7.0.2-6-pve с драйвером amdxdna и прошивкой NPU 1.1.2.64, XRT 2.25.0-4 из Debian sid и FastFlowLM 1.0.5. Модель qwen3.6-moe:35b-a3b занимает около 20–21 ГБ. Для постоянной работы автор создал systemd-сервис с flm serve qwen3.6-moe:35b-a3b --host 0.0.0.0 --port 52625 --ctx-len 131072 и Restart=on-failure.
Для нескольких клиентов перед FLM поставлен LiteLLM-прокси с global_max_parallel_requests: 3. Таймауты клиентов увеличили до минут (до 20 минут для тяжёлых задач), а очень длинные запросы около 38k токенов отправляют во внешнее API, поскольку они занимают NPU 6–7 минут. Эмбеддинги вынесли на CPU: embeddinggemma-300M в GGUF Q8_0 через llama.cpp, чтобы FLM не выгружал основную модель.
Результаты
На запросах с контекстом примерно 5–18 тыс. токенов автор измерил prefill около 200 ток/с и decode около 13–16 ток/с. Запрос с изображением показал 99,1 ток/с prefill и 16,9 ток/с decode (1 127 входных и 61 выходной токен). По сравнению со старым Ryzen 7 5800U prefill ускорился примерно в 6 раз, decode — примерно в 2 раза; среднее время вызова сократилось примерно с 513 до 78 секунд, хотя часть улучшения автор связывает с очередью. RTX 3090 на той же модели значительно быстрее: около 2 400–2 600 ток/с prefill и 60–75 ток/с decode. Эмбеддинги на CPU занимали 0,06–0,11 секунды на запрос. Расчёты автора для 6 млн токенов в сутки дают ориентировочную окупаемость покупки примерно за 1–2 года относительно самого дешёвого тарифа DeepSeek Flash и менее чем за два месяца относительно ряда дорогих облачных моделей; расчёт не учитывает кэширование и скидки.
Ограничения
NPU обрабатывает только один запрос за раз; очередь FLM не обеспечивает параллелизм, поэтому задержки растут с количеством клиентов. В FastFlowLM обнаружен сбой double free или SIGSEGV при отмене запроса во время prefill (issue #608), а короткие запросы имеют фиксированную задержку около 2,7 секунды. Отдельные длинные промпты могут занять NPU на несколько минут. Для размещения модели нужен большой запас памяти: автор считает 64 ГБ минимально практичным объёмом для этой конфигурации, причём модель и контекст должны помещаться в доступную NPU половину RAM после учёта резерва iGPU. Гибрид NPU+iGPU для нужной большой модели не заработал, а NPU не удалось пробросить в VM. Стоимость облака оценена без prompt caching и batch-скидок; сравнение производительности RTX 3090 дано как ориентир, а не как одинаково описанный контролируемый тест.
Что взять себе
- Перед покупкой проверяйте не только объём RAM, но и сколько памяти реально доступно NPU после BIOS-резерва под iGPU; для этой модели автору понадобились 64 ГБ.
- Для FLM на AMD NPU планируйте последовательное обслуживание запросов: общий прокси-лимит, длинные клиентские таймауты и автоматический перезапуск сервиса важнее попыток увеличить параллелизм.
- Не отправляйте очень длинные задачи и вспомогательные эмбеддинги в ту же NPU-очередь, что и основную LLM: вынесите их на облако или CPU-рантайм.
- NPU имеет смысл для тихой и энергоэффективной фоновой обработки, особенно с длинными входами и короткими ответами; для отзывчивого чата и высокой пропускной способности GPU заметно лучше.
- Проверьте поведение Open WebUI с tool calls и явно задайте лимит итераций, если модель склонна дублировать вызовы инструментов.
Читать оригинал, если…
Откройте оригинал, если нужны команды установки для Proxmox/Debian, конфигурации systemd и LiteLLM, полные таблицы замеров или ссылки на драйверы и открытые issues.