Тихий взрыв: как мини-ПК научили заменять кластер
Встречайте Beelink GTR9 Pro — маленькую коробку, которая не влезает в стандартное представление о "домашнем сервере". Внутри — AMD Strix Halo с 128 ГБ unified memory, 40 вычислительными блоками RDNA 3.5 и Zen 5c ядрами. Звучит знакомо? Да, это тот самый чип, который год назад считался компромиссом между ноутбуком и рабочей станцией. Но только если вы не видели, что он делает под управлением Docker и ROCm.
Сразу к делу: на Beelink GTR9 Pro мы запустили 34 Docker-контейнера с разными AI-сервисами. Одновременно. И это не синтетика — в каждом контейнере крутилась своя модель: от мелких embedders до полноценного Qwen3.6 (72B в Q4_K_M). Главный сюрприз — скорость инференса: 70 токенов в секунду на той самой семидесятидвухмиллиардной модели. Как? Через ROCm, конечно.
1 Железо и софт: без танцев с бубном не обошлось
Beelink GTR9 Pro поставляется с предустановленной Windows, но для AI-инфраструктуры мы сразу снесли её и поставили Ubuntu 24.04 LTS с ядром 6.11. ROCm 6.2 ставится через стандартный пакет — спасибо AMD, что наконец-то упростили процесс. Но есть нюанс: для Strix Halo нужна поддержка iGPU в ROCm, которая появилась только в версии 6.1.1. Без этого никакого ускорения на GPU не будет.
# Проверяем, видит ли система GPU
rocm-smi --showproductname
# Убеждаемся, что в списке есть "AMD Radeon 8060S"
# Устанавливаем Docker с поддержкой ROCm
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -fsSL https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-docker-keyring.gpg
# Для ROCm используем amdgpu-docker
Ключевой момент: для работы с unified memory в Docker нужно пробросить устройства /dev/dri и /dev/kfd. Без этого контейнеры увидят только CPU.
Предупреждение: если вы решите использовать Vulkan вместо ROCm — будет медленнее. Мы сравнивали в предыдущем тесте MiniMax-M2.1 — ROCm выигрывает 15-20% на больших моделях.
2 34 контейнера: что внутри?
| Тип сервиса | Количество | Модели |
|---|---|---|
| LLM инференс (llama.cpp) | 8 | Qwen3.6 72B, Qwen2.5 32B, Llama 4 8B и др. |
| Embeddings / RAG | 6 | BGE-M3, bge-small, jina-embeddings-v3 |
| Image generation | 4 | Stable Diffusion XL, Flux.1-schnell |
| TTS / STT | 3 | Whisper-tiny, Coqui TTS |
| Прокси/мониторинг | 3 | Nginx, Prometheus, Grafana |
Итоговое потребление памяти — 112 ГБ из 128. Остальное зарезервировано под систему и кэш. Docker использовал сеть macvlan для изоляции, каждый контейнер получал свой IP. Никакой оркестрации вроде Kubernetes — только docker-compose.
3 70 tok/s на Qwen3.6: как мы это получили
Qwen3.6 (72B, Q4_K_M) — модель, которая на обычном датасете весит 46 ГБ. На Strix Halo с 128 ГБ можно запустить её с контекстом до 32К токенов. Мы использовали llama.cpp версии 0.13.0 с флагом --gpurocm и включённым MTP (multi-token prediction). Именно MTP даёт прирост до 111%, как мы тестировали ранее.
# Правильный запуск для максимальной производительности
./llama-server -m Qwen3.6-72B-Q4_K_M.gguf \
--gpurocm --no-mmap -c 32768 -b 512 \
--numa -ngl 999 --flash-attn \
--mlock --no-kv-offload -t 16 \
--cont-batching --batch-size 512
Ключевые флаги:
--no-mmap — стабильность на больших моделях (без него падает с OOM при смене контекста).
--flash-attn — ускоряет attention на длинных последовательностях.
--cont-batching — позволяет обрабатывать несколько запросов одновременно, что критично при 34 контейнерах.
Без MTP скорость была 42 tok/s. С MTP (4 токена за шаг) — 70 tok/s. Да, это измерено на одном потоке запросов. При параллельной нагрузке от 8 LLM-контейнеров средняя скорость на модель падает до 12-15 tok/s, но суммарная пропускная способность системы — 110 tok/s на все LLM.
Альтернативы: кто ещё пытается
| Параметр | Beelink GTR9 Pro (Strix Halo) | Mac Studio M3 Ultra 192GB | Gorgon Halo (ожидается) |
|---|---|---|---|
| Пропускная способность | 256 ГБ/с | 800 ГБ/с | 480 ГБ/с (LPDDR6) |
| Макс. память | 128 ГБ | 192 ГБ | 128 ГБ |
| Цена | $2500 | $7500 | ~$3000 (оценка) |
| Скорость Qwen3.6 70B | 70 tok/s | ~90 tok/s | ~140 tok/s (ожидание) |
Mac Studio M3 Ultra быстрее, но стоит в три раза дороже и не имеет официальной поддержки ROCm (приходится использовать ollama с Metal, что даёт ~60 tok/s на той же модели). Gorgon Halo — следующий кандидат, мы уже разбирали его перспективы, но пока он не появился в продаже (ожидаемый запуск — Q4 2026).
Практический пример: AI-помощник на 34 сервисах
Мы настроили полноценного агента: один контейнер принимает голосовой запрос (Whisper), второй генерирует ответ (Qwen3.6), третий синтезирует речь (Coqui). Ещё четыре контейнера крутят RAG-пайплайны с разными базами знаний. Всё это работает одновременно. Задержка от запроса до ответа — 2.3 секунды. Да, это не real-time как у GPT-4o, но для локального homelab — фантастика.
Кстати, о RAG: мы использовали бедный BGE-M3 на CPU (это всего 2 ГБ), остальные ресурсы — под тяжёлые LLM. Распределение задач между контейнерами — чисто через docker-compose с лимитами памяти и CPU.
Кому это нужно (и зачем)
Beelink GTR9 Pro с Strix Halo — идеальный вариант для:
- Инди-разработчиков, которым нужно тестировать несколько моделей одновременно.
- Homelab-энтузиастов, строящих свою AI-инфраструктуру без облаков.
- Тех, кто хочет запускать 70B модели локально, не тратя $5000+ на GPU-сервер.
Но не подойдёт, если вам нужна одна огромная модель с контекстом 128K — памяти 128 ГБ хватает, но пропускная способность 256 ГБ/с становится узким местом. В этом случае лучше подождать Gorgon Halo или взять Mac Studio.
Мы уже тестировали 19 моделей на Strix Halo в отдельном обзоре — там видно, как разные квантования влияют на скорость. Q3_K_XL на Qwen3.6 даёт 80 tok/s, но с заметной потерей качества. Для продакшена лучше Q4_K_M.
Лично я предсказываю: к концу 2026 года мини-ПК с unified memory станут стандартом для локального AI. Strix Halo уже сейчас позволяет делать вещи, которые раньше требовали целого стоечного сервера. А когда выйдет Gorgon Halo с 480 ГБ/с — мы увидим 140 tok/s на 70B модели в коробке размером с книгу. И это будет переворот.