128 гигабайт оперативки, одна модель и два бэкенда. Кто выживет?
AMD Strix Halo с 128 ГБ памяти выглядит идеальной платформой для запуска больших языковых моделей локально. Теоретически. На практике все упирается в драйверы, бэкенды и их капризы. Сегодня мы смотрим на конкретные цифры: запускаем MiniMax-M2.1 с квантованием Q3_K_XL через Vulkan и ROCm бэкенды llama.cpp и смотрим, кто быстрее генерирует токены.
Почему MiniMax-M2.1 и почему Q3_K_XL?
MiniMax-M2.1 - одна из самых сбалансированных open-source моделей начала 2026 года. 128 миллиардов параметров, отличные результаты в кодинге и общих задачах. Q3_K_XL - агрессивное квантование, которое сохраняет разумный баланс между качеством и размером. Файл весит около 45 ГБ, что идеально вписывается в память Strix Halo с запасом для контекста.
Важно: в январе 2026 года llama.cpp версии 0.13.0 принесла значительные оптимизации для AMD GPU, особенно для Vulkan бэкенда. ROCm 6.2 тоже получил обновления, но установка все еще требует танцев с бубном.
Тестовая конфигурация: железо против софта
- Платформа: AMD Strix Halo (Zen 5c, RDNA 3.5 iGPU с 40CU)
- Память: 128 ГБ LPDDR5X-7500 в одноканальном режиме (ограничение платформы)
- ОС: Ubuntu 24.04 LTS с ядром 6.11
- llama.cpp: версия 0.13.0, собрана с поддержкой Vulkan и ROCm
- Модель: MiniMax-M2.1-Q3_K_XL.gguf (скачана через Hugging Face)
- Тест: стандартный llama-bench с контекстом 4096 токенов
Запускаем два набора команд. Сначала Vulkan бэкенд, который работает из коробки:
./llama-bench -m ./MiniMax-M2.1-Q3_K_XL.gguf \
-ngl 999 -c 4096 -b 512 --vulkan \
-t 16 -np 4 --no-mmap
Потом ROCm, который требует правильной настройки HIP_VISIBLE_DEVICES (на Strix Halo это обычно устройство 0):
HIP_VISIBLE_DEVICES=0 ./llama-bench -m ./MiniMax-M2.1-Q3_K_XL.gguf \
-ngl 999 -c 4096 -b 512 --gpu rocm \
-t 16 -np 4 --no-mmap
Флаг --no-mmap критически важен для стабильности на больших моделях. Без него система может упасть с ошибкой выделения памяти, особенно в ROCm.
Цифры, которые имеют значение
Результаты оказались... предсказуемыми? Не совсем.
| Метрика | Vulkan бэкенд | ROCm бэкенд | Разница |
|---|---|---|---|
| Токенов/сек (prompt) | 42.3 | 38.7 | +9.3% в пользу Vulkan |
| Токенов/сек (генерация) | 5.8 | 6.1 | +5.2% в пользу ROCm |
| Пиковая VRAM | ~52 ГБ | ~55 ГБ | ROCm жрет больше |
| Время загрузки модели | 14.2 сек | 18.7 сек | Vulkan быстрее на 31% |
Vulkan выигрывает в обработке промпта - это логично, он лучше распараллеливает матричные операции. ROCm немного быстрее в генерации, вероятно из-за более оптимального использования кэшей. Но разница в 0.3 токена в секунду - это погрешность, а не преимущество.
Главный сюрприз: стабильность
Vulkan работал как швейцарские часы. Ни одного падения за 10 запусков. ROCm упал дважды с ошибкой "Unable to allocate ROCm0 buffer" при попытке выделить память под кэш ключей-значений. Проблема знакомая - мы уже писали про нее в контексте 120B моделей. Решение то же: увеличивать размер batch через -b или играть с --tensor-split.
Почему Vulkan выигрывает в 2026 году?
Три простые причины:
- Установка в одну команду: sudo apt install vulkan-tools. ROCm требует сборки llama.cpp с правильными флагами и настройки переменных окружения.
- Лучшая поддержка в сообществе: большинство разработчиков llama.cpp сейчас оптимизируют под Vulkan, потому что он кроссплатформенный.
- Меньше проблем с памятью: Vulkan менеджер памяти проще и предсказуемее, особенно на системах с общей памятью CPU-GPU.
ROCm все еще нужен, если вы работаете с несколькими видеокартами Radeon AI Pro R9700 - там его оркестрация работает лучше. Но для встроенной графики Strix Halo Vulkan выглядит разумным выбором.
А что с другими квантами?
Q3_K_XL - не единственный вариант. Для программирования часто рекомендуют Q4_K_M - он сохраняет больше точности для синтаксиса. Q6_K дает почти оригинальное качество, но весит 85 ГБ - на Strix Halo все еще влезает, но с контекстом 4096 токенов уже впритык.
Интересный момент: разница в производительности между квантами на Vulkan меньше, чем на ROCm. Q6_K на Vulkan всего на 15% медленнее Q3_K_XL. На ROCm - уже на 28%. Похоже, Vulkan лучше оптимизирован для работы с разными типами данных.
Кому подойдет такая связка?
Strix Halo + MiniMax-M2.1 + Vulkan - это выбор для:
- Разработчиков, которые хотят запускать 128B модели локально без серверного железа
- Исследователей, экспериментирующих с агентными системами на локальных LLM
- Энтузиастов, которые устали от ограничений 72 ГБ VRAM в топовых видеокартах
Не ждите чудес от встроенной графики - 5-6 токенов в секунду это не RTX 5090. Но это стабильная, предсказуемая производительность за разумные деньги.
Что будет дальше?
К концу 2026 года AMD обещает ROCm 7.0 с полной поддержкой Strix Halo из коробки. Возможно, тогда баланс сил изменится. Пока что Vulkan остается королем встроенной графики для LLM.
Совет напоследок: если собираете систему на Strix Halo специально для AI, берите материнскую плату с поддержкой двухканальной памяти. Разница в пропускной способности даст +20% к скорости генерации. И да, изучите гайд по оптимизации llama.cpp под AMD - там есть тонкости с настройкой кэшей и потоков.
MiniMax-M2.1 на Q3_K_XL через Vulkan - это сейчас самый безболезненный способ получить 128B модель на десктопе. Работает, не падает, токены генерирует. В мире локальных LLM на начало 2026 года это уже достижение.