LLM модели для AMD Strix Halo 128GB: FP4, MXFP4, MoE и квантования | AiManual
AiManual Logo Ai / Manual.
23 Фев 2026 Гайд

Гайд по выбору моделей и квантований для AMD Strix Halo 128GB: оптимизация под APU и GPU-режим

Полный гайд по выбору языковых моделей и квантований под AMD Strix Halo 128GB. Оптимизация для APU и GPU-режима, сравнение форматов, реальные скорости и ошибки.

128 гигабайтов памяти и одна большая проблема: что с ними делать

AMD Strix Halo с его 128 ГБ единой памяти — это не железо. Это провокация. В теории у вас в руках полноценная станция для инференса моделей, которая по объемам памяти конкурирует с серверными картами. В реальности вы сталкиваетесь с выбором: запустить одну огромную модель в полном формате или десять мелких, но агрессивно квантованных. И каждый выбор будет неправильным, пока не разберешься в деталях.

Статья основана на тестировании на Strix Halo с ROCm 7.2.1 и Vulkan-бэкендом llama.cpp 0.13.2 (февраль 2026). Если у вас более старые драйверы — обновитесь. Большинство проблем с производительностью решаются именно этим.

Архитектурный нюанс, который все ломает

Strix Halo — это APU, а не CPU + отдельный GPU. Память общая. Пропускная способность LPDDR5X-7500 — около 120 ГБ/с. Для сравнения: у RTX 5080 (память GDDR7) — свыше 1.5 ТБ/с. Разница в 12 раз. Это ключевой момент.

Когда модель работает в GPU-режиме (все слои на GPU через -ngl 999), данные постоянно перемещаются между блоками шейдеров и этой относительно медленной памятью. При 70B-модели в Q4_K_M каждый слой генерирует десятки гигабайт трафика. Система упрется в пропускную способность раньше, чем в вычислительную мощность.

💡
В тестах Strix Halo против MiniMax-M2.1 мы увидели, что Vulkan иногда обходит ROCm именно из-за более эффективной работы с памятью, а не из-за чистого FLOPS.

Режимы работы: APU против GPU. Зачем это деление?

Правило простое, но его постоянно нарушают:

  • GPU-режим (-ngl 999): все слои модели загружаются в память GPU и там же выполняются. Требует, чтобы модель целиком помещалась в доступную VRAM (128 ГБ минус системные нужды).
  • APU-режим (гибридный): часть слоев на GPU, часть — на CPU. Например, -ngl 40 для 70B-модели. Данные постоянно копируются между разными частями одной и той же физической памяти (но с разными правами доступа).

В теории APU-режим должен быть медленнее из-за накладных расходов на копирование. На практике для моделей больше 120B это единственный способ запустить их вообще. А для моделей 30B-70B разница может быть всего 15-20%, если правильно подобрать количество слоев на GPU.

1 Выбираем модель под задачу, а не под железо

Начните не с модели, а с ответа на вопрос: «Что я буду делать?» Потому что Strix Halo позволяет запускать почти всё, но не всё стоит запускать.

Задача Рекомендуемый размер Конкретные модели (2026) Режим работы
Кодирование, рефакторинг 30B-70B Qwen3-Coder-Next 72B, MiniMax M2.5 32B GPU-режим (все слои)
Длинные диалоги, анализ документов 48B-120B Kimi Linear 48B, MiniMax M2.5 128B APU-режим (40-70 слоев на GPU)
Мультимодальность, описание изображений 12B-34B MiniCPM-V 2.5 34B, LLaVA-Next 34B GPU-режим
Агентные сценарии, планирование 8B-20B (несколько экземпляров) DeepSeek-V3 8B, Gemma 3 12B Несколько моделей в памяти одновременно

MoE-модели (Mixture of Experts) — отдельная история. Strix Halo теоретически идеален для них: 128 ГБ позволяют загрузить 120B MoE полностью. Практически — спекулятивный декодинг становится необходимостью, потому что обычный инференс упирается в пропускную способность памяти при переключении экспертов.

2 Квантование — не просто сжатие, а ключ к производительности

На Strix Halo разница между Q4_K_M и Q3_K_L может быть 40% в скорости. И дело не только в размере файла, а в том, как эти форматы работают с RDNA 3.5 архитектурой.

Форматы, которые реально работают на RDNA 3.5 (2026)

Формат Бит на вес Качество (относительно FP16) Скорость на Strix Halo Когда использовать
MXFP4 (AMD-оптимизированный) 4 бита ~95% (для больших моделей) Очень высокая 70B+ модели, GPU-режим
FP4 4 бита 92-94% Высокая Кодирование, нужна точность
Q3_K_XL ~3.2 бита ~90% Самая высокая Диалоги, текстовые задачи
FP8 8 бит ~99% Средняя (ограничение по памяти) Финализация кода, точные расчеты
Q4_K_M ~4.3 бита ~96% Высокая Универсальный выбор для 30B-70B

MXFP4 — новый формат от AMD, который в llama.cpp 0.13.2 получил нативную поддержку для RDNA 3.5. Он использует специфичные для AMD инструкции для деквантования на лету. Разница с обычным FP4: на Strix Halo MXFP4 дает прирост 15-20% в tokens/sec при том же качестве.

Проверить, поддерживает ли ваша сборка llama.cpp MXFP4: запустите llama-bench --help и найдите в списке форматов MXFP4. Если нет — пересобирайте с флагом -DLLAMA_AMD_MXFP4=ON.

3 Собираем все вместе: пошаговый план выбора

Это не теория. Это чек-лист, который я использую перед загрузкой каждой новой модели.

  1. Определиться с размером модели. 128 ГБ памяти ≠ 128 ГБ доступно для модели. Система, ROCm/Vulkan, буферы — это 8-12 ГБ. Остается 116-120 ГБ. Модель 120B в FP16 весит 240 ГБ — не влезет. Та же модель в Q3_K_XL — около 45 ГБ. Считайте: размер_файла × 1.3 (на KV-кеш и служебные данные).
  2. Выбрать формат под задачу. Для кодирования — FP4 или Q4_K_M (точность важнее). Для чата — Q3_K_XL или MXFP4 (скорость важнее). Если сомневаетесь — качайте Q4_K_M, это безопасный вариант.
  3. Тестовый запуск с бенчмарком. Не загружайте сразу в Oobabooga. Сначала объективные цифры:
    ./llama-bench -m ./MiniMax-M2.5-72B-Q4_K_M.gguf \
      -ngl 80 -c 4096 -b 512 --vulkan \
      -t 16 -np 4 --no-mmap --prompt-cache
    Обратите внимание на -ngl 80 для 72B модели: 80 слоев на GPU, остальные на CPU. Это APU-режим. Для 32B модели можно ставить -ngl 999 (все слои на GPU).
  4. Подстройка под свою задачу. Бенчмарк дает базовые цифры. Реальная генерация кода или длинный диалог будут вести себя иначе. Если скорость падает со временем — проблема в KV-кеше. Помогает --prompt-cache или уменьшение контекста.

Ошибки, которые съедят ваше время (и нервы)

Ошибка 1: Загрузка модели в EXL2 или GPTQ форматах. Strix Halo и ROCm работают с GGUF. EXL2 — для NVIDIA через TensorRT-LLM. GPTQ — устарел к 2026 году для AMD. Качайте только GGUF.

Ошибка 2: Использование --mmap по умолчанию. На больших моделях (70B+) mmap может приводить к ошибкам выделения памяти в ROCm. Всегда добавляйте --no-mmap для стабильности, даже если теряете 5% в скорости загрузки.

Ошибка 3: Неправильное распределение слоев. Для 70B модели -ngl 999 (все слои на GPU) может работать, но если система начинает свопиться — скорость упадет в 10 раз. Лучше -ngl 70 и стабильность.

Если видите ошибку "Unable to allocate ROCm0 buffer" — это классика. В отдельном гайде разбирали ее детально, но кратко: помогает уменьшение контекста (-c 2048), отключение mmap и перезагрузка ROCm демона.

FAQ: ответы без воды

Какая самая большая модель, которую можно запустить в GPU-режиме?

В GPU-режиме (все слои на GPU) — около 70B параметров в Q4_K_M. Это 35-40 ГБ файл + 45-50 ГБ на KV-кеш и системные нужды. 120B модель в Q3_K_XL тоже может влезть, но с контекстом не больше 2048 токенов. Проверено на MiniMax M2.5 128B.

Vulkan или ROCm — что быстрее в 2026?

Зависит от модели и квантования. Для MXFP4 и FP4 — ROCm (он использует аппаратные блоки матричных вычислений). Для Q3_K_XL и Q4_K_M — Vulkan часто быстрее на 5-15%. Но ROCm 7.2.1 стабильнее с большими моделями. Мой совет: соберите llama.cpp с поддержкой обоих бэкендов и тестируйте свою конкретную модель.

Можно ли запускать несколько моделей одновременно?

Да, и это killer-feature Strix Halo. В памяти можно держать, например, Qwen3-Coder-Next 72B для программирования и Kimi Linear 48B для анализа документов одновременно. Переключение между ними — секунды, а не минуты загрузки. Главное следить за общим потреблением памяти через rocm-smi.

Почему скорость генерации падает после 1000 токенов?

KV-кеш. Каждый токен контекста занимает память. При 4096 контексте и 70B модели KV-кеш — это дополнительные 20+ ГБ. После заполнения кеша система начинает активно свопиться. Решение: уменьшайте контекст (-c 2048) или используйте --prompt-cache если llama.cpp поддерживает.

Есть ли смысл ждать оптимизаций от AMD?

Да, и они уже идут. В ROCm 7.3 (релиз ожидается в марте 2026) заявлена поддержка FP4 с весами в памяти HBM (у Strix Halo нет HBM, но оптимизации алгоритмов будут). Также улучшают работу с MoE-моделями. Подписывайтесь на репозиторий ROCm на GitHub, обновляйтесь сразу после стабильных релизов.

Последний совет, который сэкономит недели

Не гонитесь за размером. 120B модель в Q3_K_XL может быть медленнее 32B модели в Q4_K_M при реальных задачах из-за архитектурных ограничений. Сначала определите, какая скорость генерации вас устроит. 10 токенов в секунду? 20? 5? Затем подбирайте модель, которая дает эту скорость с запасом 30%.

И помните: Strix Halo — это не серверная карта. Это уникальная платформа, где можно экспериментировать с архитектурами моделей, а не просто гнать бенчмарки. Попробуйте запустить агентный сценарий с несколькими моделями — там раскрывается настоящий потенциал 128 ГБ.

🚀
Самые свежие GGUF-файлы моделей на февраль 2026 года ищите на Hugging Face у авторов моделей (MiniMax, Qwen, StepFun). Избегайте переупаковок в сторонних репозиториях — там часто используют устаревшие методы квантования.

Подписаться на канал