Производительность на доллар растёт быстрее и дешевеет
Компания Wafer достигла пиковой производительности при подаче GLM-5.2 (новой модели от Alibaba) на AMD MI355X с результатом 2626 токенов в секунду на узел и 213 токенов в секунду в однопоточном режиме. Это было на 2x-более дешевых карточках, чем NVIDIA Blackwell B300, и доказало принципиальную возможность конкурировать на AMD.
Проблема была классическая: NVIDIA имеет преимущество в софте и поддержке день-в-день для новых моделей. Свежая модель часто не работает на AMD без недель инженерной работы, к тому времени вышла следующая. AMD всегда позади в этой гонке.
Wafer потребовались три ключевых оптимизации. Первая: они квантизировали GLM-5.2 в MXFP4 с помощью AMD Quark (это оказалось без потерь качества, в отличие от официального FP8). Вторая: выбрали sglang как инференс-фреймворк вместо vLLM (у того не было рабочей поддержки MXFP4) и ATOM (тот деградировал на длинном контексте).
Третья часть, это детальное исправление багов. В sglang'е для ROCm speculative decoding (техника ускорения инференса) не работал из коробки. Оказалось, два момента: слой MTP хранился в bf16, а остальное квантизировалось в MXFP4, и когда sglang пытался найти вес, он искал по неверному пути (Quark называет его одним образом, а sglang ищет другим). Пришлось дублировать записи в Quark'овский лист исключений. Вторая проблема: глубокий speculative decode требовал CUDA-специфичный код без ROCm guard'а, добавили простой #ifdef. После этого speculative decoding дал 3x ускорение в однопоточном режиме (213 tok/s).
Для агрегированной пропускной способности пришлось переключиться с TP8 на TP4×DP2 (разные стратегии распределения вычисления), потому что при 20k токенов на входе и 60% кэша ворклоад сильно привязан к префиллу. Дополнительно обнаружилась беда: MoE (Mixture of Experts в GLM-5.2) тихо падал на медленный fallback FlyDSL, потому что AMD tuned configs были только для a8w8/fp8, а не для fp4. Вручную настроили kernel выбора под fp4 формы и получили финальные 2626 tok/s/node.
Значение результата в том, что ценовой зазор между AMD и NVIDIA становится всё больше (MI355X в среднем 2.75x дешевле за GPU), а разница в перформансе закрывается. Это не была инженерия с нуля: никаких кастомных ядер писать не потребовалось. CUDA фактически теряет свой первоначальный замок, на AMD теперь лимитирует поддержка софта, а не аппаратная способность.
Ключевые факты
- AMD MI355X на GLM-5.2 достигла 2626 tok/s на агрегате и 213 tok/s в однопоточном режиме, это 80% перформанса Blackwell B200 при цене в 2.75x ниже
- Wafer квантизировала модель в MXFP4 с нулевой потерей качества и выбрала sglang как инференс-фреймворк с лучшей поддержкой квантизации
- Пришлось исправить два бага в sglang для ROCm: несовпадение пути для MTP слоя (повторили в Quark'овские исключения) и отсутствие ROCm guard для глубокого speculative decode
- Переключение на TP4×DP2 вместо TP8 решило проблему префилл-перформанса: ворклоад с 20k входа и 60% кэша сильно привязан к префиллу, а не декоду
- Результат подтверждает, что CUDA-замок разрушается: на AMD сегодня лимитирует софтовая поддержка и фреймворки, а не аппаратные способности
Почему это важно
Инференс LLM становится узким местом в AI-услугах. Новые модели выходят еженедельно, спрос на токены растёт, а NVIDIA GPU дорожают. AMD MI355X, это объективно дешевле аппаратно (2.75x), но традиционно AMD отстаёт в софтовой поддержке и инструментах. Результат Wafer показывает: при грамотной инженерии этот разрыв закрывается за счёт оптимизаций в фреймворках и квантизации, а не создания новых ядер. Это означает, что CUDA-монополия действительно трещит.
Кому это важно
Компаниям, которые крутят инференс на масштабе: облачные провайдеры, стартапы с API, корпоративные развёртывания LLM. Если вы платите за GPU-часы за инференс, то 2x экономия на железе при сохранении перформанса, это прямое улучшение в маржине. Также производителям оборудования (AMD, поставщикам CPU) и разработчикам инференс-фреймворков (vLLM, sglang, ATOM), которые конкурируют на это место.
Как это применить
Если вы запускаете LLM инференс на NVIDIA и кусаетесь за цену, стоит экспериментировать с AMD. Гайдлайн Wafer: 1) выберите фреймворк с лучшей поддержкой вашей стратегии квантизации (они использовали sglang для MXFP4), 2) будьте готовы к фреймворк-баг-фиксам (speculative decode нужен был ROCm guard), 3) крутите параметры распределения вычисления (TP/DP) для вашего ворклоада (префилл-heavy требует другой конфигурации). Результат: экономия в 2x + 80% перформанса от дорогого чипа, часто хороший компромисс.
Можно ли доверять
Wafer, компания, построившая своё дело на оптимизации инференса. Бенчмарки опубликованы с деталями: они рассказали про квантизацию, выбор фреймворка, баги и их fix'ы. Следуют стандартам Artificial Analysis (10k входа, 1.5k выхода) для однопоточного теста. Тест на 20k входа и 60% кэша, это более специфичный сценарий, но они честно про него написали, не скрывая. Код оптимизаций достаточно конкретен (имена слоёв, префиксы модулей, переключение между TP/DP стратегиями), что позволяет другим воспроизвести. Минус: это опыт именно Wafer с их инструментами, результат может отличаться на других фреймворках.
Риски и подводные камни
AMD и ROCm всё ещё молодой стэк (особенно сравнить с CUDA), нет гарантии, что каждая следующая модель будет работать. Speculative decode в данном случае потребовал ручных фиксов в sglang, а это не гарантирует, что это обобщится на все модели. Квантизация MXFP4 показала нулевую потерю на конкретных бенчах (GPQA, tau2, GSM8K), но это не значит, что она везде безопасна. Кроме того, результат, это single-node. Multi-node разработка (распределённый инференс через несколько машин) может открыть новые баги. И главное: день-0 поддержка моделей на NVIDIA всё ещё имеет большое значение, если вы спешите запустить модель немедленно, AMD может быть медленнее, даже если за месяц-два результат будет лучше.
«Хотя фреймворки поддерживают SOTA перформанс AMD, это стало больше вопросом поддержки софта, а не инженерии. CUDA-замок разрушается в реальном времени.»
— Wafer.ai