Аппаратная часть

AMD MI355X для ИИ: характеристики, ROCm и задачи, для которых он подходит

У MI355X на каждом GPU 288 ГБ HBM3e и пропускная способность 8 ТБ/с. Разбираем, что это вам даёт, в каком состоянии программный стек ROCm на практике и как понять, подходит ли MI355X для вашей задачи.

Обновлено 8 мин чтения

Аргументы в пользу AMD MI355X для задач ИИ умещаются в одну строку: 288 ГБ HBM3e на каждый GPU при пропускной способности 8 ТБ/с — столько же памяти, сколько у NVIDIA B300. В нашем каталоге сервер 8× MI355X стоит в месяц примерно вдвое дешевле сервера 8× B300 с тем же объёмом видеопамяти (VRAM) — 2 304 ГБ. Настоящие вопросы касаются программного обеспечения и того, подходит ли он вашей задаче: что уже сегодня работает на ROCm, что придётся портировать и относится ли ваша задача к тем, где объём памяти и пропускная способность превращаются в результат. В этом руководстве мы отвечаем на оба вопроса — с цифрами.

AMD MI355X для ИИ: ключевые характеристики

MI355X — GPU AMD для дата-центров на архитектуре CDNA 4. AMD указывает для него следующие характеристики в расчёте на один GPU:

  • Архитектура AMD CDNA 4
  • Память 288 ГБ HBM3e на GPU, 2 304 ГБ в 8-GPU-сервере
  • Пропускная способность памяти 8 ТБ/с на GPU
  • FP8 5,0 PFLOPS без разреженности, 10,1 PFLOPS с разреженностью
  • BF16 2,5 PFLOPS без разреженности, 5,0 PFLOPS с разреженностью
  • MXFP4 10,1 PFLOPS
  • Форматы пониженной точности FP8, MXFP6 и MXFP4
  • Связь между GPU Infinity Fabric, 7 каналов по 153,6 ГБ/с
  • Модуль и энергопотребление Форм-фактор OAM, 1 400 Вт, жидкостное охлаждение

Для большинства задач ИИ две из этих строк важнее остальных. Объём памяти определяет, сколько GPU нужно модели: в 288 ГБ с запасом помещается модель 70B в BF16, тогда как на GPU с 80 ГБ для неё нужны как минимум две карты и тензорный параллелизм. Пропускная способность определяет, насколько быстро GPU может считывать веса из памяти при генерации токенов, а это обычно и есть узкое место инференса. Модуль OAM (форм-фактор ускорителей от Open Compute Project) на 1 400 Вт с жидкостным охлаждением — забота провайдера, а не ваша, но он объясняет, почему таким серверам нужны стойки с жидкостным охлаждением.

В 8-GPU-сервере семь каналов Infinity Fabric напрямую соединяют каждый GPU с каждым из семи остальных: получается полносвязная топология (full mesh) без коммутатора посередине.

Сравнение MI355X с B200, B300 и H200

Опубликованные производителями характеристики в расчёте на один GPU, а также наша цена в месяц за 8-GPU-сервер с каждым из них:

КритерийMI355XB300B200H200
Память288 ГБ HBM3e288 ГБ HBM3e180 ГБ HBM3e141 ГБ HBM3e
Пропускная способность8 ТБ/с~8 ТБ/с8 ТБ/с4,8 ТБ/с
FP8, без разреженности5,0 PFLOPS4,5 PFLOPS4,5 PFLOPS1 979 TFLOPS
4 бита, без разреженности10,1 PFLOPS (MXFP4)13,5 PFLOPS (FP4)9 PFLOPS (FP4)Не поддерживается
Связь между GPUInfinity Fabric, 7 × 153,6 ГБ/сNVLink 5, 1,8 ТБ/сNVLink 5, 1,8 ТБ/сNVLink 4, 900 ГБ/с
Энергопотребление1 400 Вт, жидкостное охлаждение~1 100 Вт (по отраслевым данным)~1 000 Вт700 Вт
Программный стекROCmCUDACUDACUDA
Наш 8-GPU-сервер, в месяц19 900 $39 900 $34 900 $23 900 $
≈ за GPU-час3,41 $6,83 $5,98 $4,09 $

Три честных вывода из этой таблицы. По памяти и пропускной способности MI355X наравне с B300, а стоит в нашем каталоге примерно вдвое меньше в месяц — в этом и суть аргументов в его пользу. По пиковой вычислительной мощности показатели в FP8 близки, а в 4-битных форматах впереди B300; на практике реальную производительность определяют программное обеспечение и качество ядер (kernels), поэтому не выбирайте только по PFLOPS. По пропускной способности связи между GPU и зрелости ПО впереди серверы NVIDIA HGX: NVLink 5 даёт каждому GPU 1,8 ТБ/с через коммутируемую фабрику, а у CUDA самая широкая экосистема библиотек. Подробнее — в нашем сравнении MI355X и B200 и в сравнении MI355X и H200.

FP8, MXFP6 и MXFP4 на CDNA 4

Помимо FP8, CDNA 4 поддерживает два формата с поблочным масштабированием из спецификации Microscaling (MX) от Open Compute Project:

  • FP8 хранит один байт на значение. Для инференса это обычный следующий шаг вниз после BF16: он вдвое сокращает память под веса.
  • MXFP6 хранит 6-битные значения блоками по 32 значения с одним общим масштабом, равным степени двойки: около 6,25 бита на значение с учётом масштаба.
  • MXFP4 делает то же самое с 4-битными значениями: около 4,25 бита на значение.

Влияние на память легко посчитать. Плотной модели на 405B параметров в BF16 нужно около 810 ГБ — это четыре GPU MI355X с запасом. В FP8 ей нужно около 405 ГБ — два GPU. В MXFP4 — около 215 ГБ: достаточно одного MI355X, и примерно 70 ГБ остаётся на KV-кэш и среду выполнения.

Две оговорки. Во-первых, 4-битные веса меняют качество модели, поэтому проверяйте его на собственном наборе данных для оценки. Во-вторых, формат должен соответствовать оборудованию: чекпоинт, квантованный в NVFP4 от NVIDIA (блоки по 16 значений с масштабами в FP8), — это не чекпоинт MXFP4, поэтому заложите квантование под MI355X, например с помощью инструментария AMD Quark. Подробности — в нашем разборе числовых форматов FP8, FP4 и BF16.

Программный стек ROCm на практике

ROCm — открытый программный стек AMD: драйвер уровня ядра ОС, модель программирования HIP и компиляторы, математические библиотеки и RCCL для коллективного обмена данными между GPU. Для большинства команд полезен не вопрос «зрелый ли ROCm?», а вопрос «работают ли на нём мой фреймворк и движок инференса и работают ли функции, которыми я пользуюсь?». Основные компоненты действительно работают.

УровеньСостояние в ROCmЧто проверить
PyTorchОфициальные сборки для ROCm; код, написанный под API torch.cuda, работает через HIPWheel-пакет соответствует вашей версии ROCm
vLLM и SGLangОба поддерживают ROCmФорматы квантования, бэкенды механизма внимания и функции, на которые вы полагаетесь, поддерживаются в ROCm в вашей версии
Коллективные операцииRCCL — аналог NCCL от AMD; на ROCm его использует бэкенд «nccl» в PyTorchТест all-reduce на всех восьми GPU перед длительными задачами
Ядра TritonКомпилятор Triton умеет генерировать код для GPU AMDРазмеры блоков и параметры запуска заново подобраны под это оборудование
Собственные ядра CUDAИх нужно портировать на HIP; инструменты AMD HIPIFY переводят значительную часть исходного кодаДопущения о размере warp (CDNA выполняет wavefront по 64 потока, NVIDIA — warp по 32), встроенный PTX, библиотеки только для CUDA
ПО только для NVIDIATensorRT-LLM и бинарные файлы только для CUDA не запускаютсяЗамена с поддержкой ROCm для каждого из них

На практике объём работы по переносу зависит от того, насколько вы держитесь распространённых решений. Стек на PyTorch с vLLM или SGLang, который обслуживает модель стандартной архитектуры, в основном переносится сменой контейнеров и фиксацией версий. Стеку с написанными вручную ядрами CUDA понадобится время инженеров: HIP намеренно сделан близким к CUDA, и HIPIFY механически выполняет большую часть перевода, но критичные для производительности ядра обычно приходится настраивать под новое оборудование. О первых шагах на наших серверах AMD — в нашем руководстве по настройке ROCm.

Задачи, в которых MI355X себя оправдывает

Инференс очень больших моделей, упирающийся в память

На этапе декодирования (decode) каждый шаг считывает из памяти активные веса, чтобы сгенерировать по одному токену на последовательность, поэтому темп задаёт пропускная способность, а объём памяти определяет, сколько GPU нужно модели. С 8 ТБ/с и 288 ГБ на GPU MI355X запускает большие модели на меньшем числе GPU и с меньшим трафиком между ними. Модель 70B в BF16 (около 140 ГБ) помещается на один MI355X, и на KV-кэш остаётся намного больше 100 ГБ, поэтому один сервер может держать восемь независимых реплик вообще без тензорного параллелизма.

Длинные контексты

KV-кэш растёт линейно с длиной контекста и с числом одновременных последовательностей. Для модели класса 70B с механизмом grouped-query attention (80 слоёв, 8 KV-голов размерностью 128) кэш в BF16 занимает около 0,33 МБ на токен, поэтому одной последовательности длиной 128K токенов нужно около 43 ГБ. Вместе с весами это вообще не помещается на GPU с 80 ГБ, а на GPU с 288 ГБ и весами в FP8 хватает места на несколько таких последовательностей.

Большие MoE-модели (mixture of experts)

MoE-модели задействуют на каждый токен лишь часть своих параметров, но все эксперты должны находиться в памяти. У DeepSeek-V3 и DeepSeek-R1 в сумме 671B параметров: около 671 ГБ в FP8 или около 1,3 ТБ в BF16. Оба варианта помещаются в 2 304 ГБ одного сервера 8× MI355X, и ещё остаётся место для KV-кэша. Полный расчёт — в нашем руководстве по системным требованиям DeepSeek R1.

Когда лучше выбрать сервер NVIDIA

MI355X подходит не всем. Выбирайте сервер NVIDIA в следующих случаях:

  • Ваш пайплайн зависит от компонентов, работающих только с CUDA, — например, TensorRT-LLM, собственных ядер CUDA или библиотек CUDA с закрытым исходным кодом, — а выделить время на их перенос вы не можете.
  • Ваша задача сильно зависит от пропускной способности связи между GPU — например, при интенсивном тензорном параллелизме в обучении. Серверы HGX B200 и B300 дают каждому GPU 1,8 ТБ/с по NVLink 5.
  • Вам нужен домен NVLink больше одного сервера — такой дают стоечные системы (rack-scale), например GB300 NVL72.
  • Ваши модели небольшие. Модель размером от 7B до 14B не требует 288 ГБ на GPU: её обслужит один RTX PRO 6000 за 1 390 $ в месяц или L40S за 890 $.
  • Вы используете чекпоинты NVFP4 или другие квантованные форматы, специфичные для NVIDIA.

Как оценить MI355X: запустите свою задачу на месяц

Опубликованные сравнения редко совпадают с вашей моделью, составом промптов и целевой задержкой. Надёжная проверка — ваша собственная задача на этом оборудовании, причём достаточно долго, чтобы успеть её настроить: месяца хватает, чтобы всё развернуть, настроить и провести замеры под реальной нагрузкой. Практический план:

  1. Сначала — базовый уровень. Зафиксируйте качество на своём наборе данных для оценки и производительность при целевой задержке на оборудовании, которым пользуетесь сейчас, — с той же моделью, точностью и настройками движка.
  2. Разверните стек. Начните с образа ROCm, соответствующей сборки PyTorch и контейнера vLLM или SGLang для ROCm. Зафиксируйте все версии.
  3. Проверьте корректность. Сравните ответы модели на своём наборе данных для оценки, прежде чем измерять скорость.
  4. Измеряйте то, что продаёте. Время до первого токена, задержку между токенами и производительность при вашем реальном числе одновременных запросов и реальных длинах контекста. Сравните тензорный параллелизм на всех восьми GPU с несколькими репликами поменьше.
  5. Проверьте коллективные операции, если вы обучаете или шардируете модели: запустите бенчмарк all-reduce из rccl-tests на всех восьми GPU.
  6. Посчитайте стоимость единицы работы. Разделите 19 900 $ на число токенов или задач в месяц, которое вы можете обслужить при своих целевых показателях, и сравните с базовым уровнем.
# Check the GPUs, and that PyTorch is a ROCm build (torch.version.hip is set)
rocm-smi
python3 -c "import torch; print(torch.version.hip, torch.cuda.device_count())"

# Serve a model across all eight GPUs with the ROCm build of vLLM
vllm serve <model> --tensor-parallel-size 8

Наш сервер 8× MI355X

Мы сдаём MI355X в аренду как bare-metal-сервер с восемью GPU: 8 × 288 ГБ HBM3e (всего 2 304 ГБ), два процессора AMD EPYC 9575F (всего 128 ядер), 3 ТБ DDR5, 8 × 3,84 ТБ NVMe и сеть 8 × 400G RoCE. Он стоит 19 900 $ в месяц: около 3,41 $ за GPU-час, или около 8,64 $ за гигабайт видеопамяти в месяц, — это самый низкий показатель среди всех конфигураций нашего каталога. Для него доступны образы ROCm и root-доступ по SSH, а условия те же, что и для всех наших серверов: помесячная оплата, минимальный срок — один месяц, бесплатная отмена аренды в любом месяце и выдача менее чем за 10 минут после оплаты. Таких серверов мало в наличии; сколько их доступно сейчас, показывает страница сервера AMD MI355X.

Часто задаваемые вопросы

Подходит ли AMD MI355X для ИИ?

Да, особенно для инференса больших моделей, упирающегося в память, для длинных контекстов и больших MoE-моделей — благодаря 288 ГБ HBM3e и 8 ТБ/с на каждый GPU. Компромисс — в программном обеспечении: ваш стек должен работать на ROCm.

Работает ли PyTorch на MI355X?

Да. PyTorch выпускает сборки для ROCm, и код, написанный под API torch.cuda, как правило, работает через HIP без изменений. vLLM и SGLang тоже поддерживают ROCm.

Можно ли запускать код CUDA на GPU AMD?

Не напрямую. Ядра CUDA нужно портировать на HIP — инструменты AMD HIPIFY частично это автоматизируют, — а критичные для производительности ядра обычно приходится настраивать заново. ПО только для NVIDIA, например TensorRT-LLM, на ROCm не работает.

Сколько памяти у сервера 8× MI355X?

2 304 ГБ HBM3e — по 288 ГБ на каждом из восьми GPU. Этого достаточно для моделей класса DeepSeek-V3 в FP8 или BF16 на одном сервере.

Сколько стоит аренда сервера MI355X?

Наш сервер 8× MI355X стоит 19 900 $ в месяц, около 3,41 $ за GPU-час, при помесячной оплате и минимальном сроке в один месяц. Таких серверов мало в наличии.

Выделенные GPU с помесячной оплатой

Целые GPU от 449 $ в месяц, root-доступ, трафик включён. Оплата криптовалютой.

Смотреть GPU и цены Подберите GPU с помощью калькулятора видеопамяти

Развернуть GPU-сервер

Получите GPU-сервер уже в этом месяце.

Выберите конфигурацию, создайте аккаунт в той же форме и оплатите первый месяц с баланса. Сервер выдаётся менее чем за 10 минут.

  • Выдача менее чем за 10 минут
  • Отмена в любом месяце
  • Оплата криптовалютой, бонус до +50%

Вход в FullGPU

Управляйте GPU-серверами, балансом и счетами.

Впервые в FullGPU? Создать аккаунт