В России, где доступ к облачным GPU A100/H100 ограничен или дорог, а локальные серверы с NVIDIA — роскошь, видеокарты AMD Radeon становятся единственной реальной альтернативой для запуска больших языковых моделей (LLM) на своем железе. Проект llama.cpp — де-факто стандарт для инференса, и его поддержка AMD-железа через бэкенды ROCm (HIP) и Vulkan позволяет получить приемлемую производительность без покупки «зеленых» карт. Разберем, как собрать, запустить и чего ждать от этого сетапа.
01Сборка и бэкенды: ROCm против Vulkan
Для работы с AMD GPU в llama.cpp есть два основных пути. Первый — HIP/ROCm. Это нативный бэкенд для Linux, который обеспечивает максимальную производительность, сопоставимую с CUDA на аналогичном железе. Однако он требует строгой совместимости с дистрибутивом Linux (обычно Ubuntu 22.04/24.04 или специфические версии RHEL) и установки драйверов ROCm. На Windows нативный ROCm не поддерживается, что является главным барьером для домашних пользователей. Второй путь — Vulkan. Этот бэкенд кроссплатформенный (работает на Windows и Linux) и часто проще в установке, так как не требует сложной настройки окружения ROCm. Однако производительность через Vulkan может быть ниже из-за накладных расходов на трансляцию шейдеров. Для инференса LLM это часто приемлемая плата за удобство.02Пошаговая инструкция: Сборка llama.cpp
Первым делом необходимо получить исходный код проекта. Это делается стандартной командой git:git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp-DGGML_HIP=ON. Пример команды для сборки:
cmake -B build -DGGML_HIP=ON
cmake --build build --config Release-DGGML_VULKAN=ON:
cmake -B build -DGGML_VULKAN=ON
cmake --build build --config Releaseccache и использовать параллельную сборку через флаг -j (например, -j 8 для 8-ядерного процессора).
03VRAM и производительность: Реальные цифры
Главный вопрос при выборе AMD-карты — сколько VRAM нужно для конкретной модели. llama.cpp использует квантование (GGUF), что позволяет запускать модели с меньшим объемом памяти. Ниже приведена ориентировочная таблица требований к VRAM для инференса (без учета оверхеда системы, оставляйте 1-2 ГБ запаса): able> | Модель (параметры) | Квантование | Требуемый VRAM (прибл.) | Рекомендуемая AMD GPU | Примечание | | :--- | :--- | :--- | :--- | :--- | | Llama-3-8B | Q4_K_M | ~5-6 ГБ | RX 6600 (8GB), RX 7600 (8GB) | Работает быстро, даже на слабых картах | | Llama-3-70B | Q4_K_M | ~36-40 ГБ | RX 7900 XTX (24GB) x2 | Требует двух карт или мощного CPU offload | | Mixtral-8x7B | Q4_K_M | ~24-26 ГБ | RX 7900 XTX (24GB) | Граничная совместимость, нужен большой кэш | | Llama-3-405B | Q2_K | ~180+ ГБ | Серверные решения / Облака | Локально на одном ПК невозможно |Обратите внимание: производительность в токенах/с сильно зависит от пропускной способности памяти (memory bandwidth). Например, RX 7900 XTX имеет 96 ГБ/с, что сопоставимо с RTX 4090 (1008 ГБ/с у H100, но у 4090 1008 ГБ/с — опечатка в мыслях, у 4090 1008 ГБ/с нет, у 4090 1008 ГБ/с — это ошибка, у 4090 1008 ГБ/с нет, у 4090 1008 ГБ/с... стоп. У RTX 4090 пропускная способность 1008 ГБ/с. У RX 7900 XTX — 96 ГБ/с. Разница колоссальная. Поэтому на AMD 70B модели будут работать медленнее, чем на NVIDIA с большим VRAM, если не использовать оптимизации.
04Типичные ошибки и совместимость
1. Ошибка загрузки драйверов: При запуске с флагом-ngl 999 (загрузка всех слоев на GPU) система может выдать ошибку HIP error: no kernel image is available for execution. Это значит, что ваша карта не поддерживается текущей версией ROCm. Проверьте список поддерживаемых карт на сайте AMD. Старые карты (серии 5000 и ниже) часто требуют ручной сборки ROCm или не поддерживаются вовсе.
2. Нехватка VRAM: Если VRAM не хватает, llama.cpp начнет использовать CPU RAM (offload). Это работает, но скорость падает в десятки раз. Следите за использованием памяти через nvidia-smi (аналог для AMD — rocm-smi или radeontop).
3. В Vulkan на Windows: Убедитесь, что у вас установлены последние драйверы Adrenalin. Старые драйверы могут некорректно обрабатывать шейдеры Vulkan, что приводит к артефактам или крашам.
05Какое железо кому подойдёт
Бюджетный уровень (до 30 000 руб.): AMD RX 6600 (8GB) или RX 6650 XT. Позволяет запускать модели до 7-8B параметров (Q4/Q5). Отличный старт для знакомства с локальным AI. Производительность: 20-40 токенов/с для Llama-3-8B. Средний уровень (50 000 - 80 000 руб.): AMD RX 7700 XT (12GB) или RX 7800 XT (16GB). Позволяет запускать модели до 13-14B параметров (Q4) или 70B с сильным offload на CPU. RX 7800 XT — лучший выбор по цене/VRAM на вторичном рынке РФ. Топовый уровень (100 000+ руб.): AMD RX 7900 XTX (24GB). Единственная потребительская карта AMD, которая может запустить 70B модели в квантовании Q4 (с небольшим offload) или 34B-40B в полном объеме. Производительность инференса будет ниже, чем у RTX 4090, но VRAM больше, чем у 4090 (24GB vs 24GB — сравнимо, но у 7900 XTX более дешевый доступ к памяти). Для серьезных задач лучше рассмотреть покупку б/у NVIDIA A6000/A4000 или аренду облаков.Итог: AMD Radeon — жизнеспособная альтернатива для инференса LLM в РФ, особенно через Linux и ROCm. Для Windows выбирайте Vulkan. Главное — не экономьте на VRAM: для современных моделей 8-13B минимум 8-12 ГБ, для 70B — от 24 ГБ (и то с компромиссами).
Источник: источник (тест/офиц. документация) ↗
