Hugging Face запустила Space: какие модели идут на AWS Trainium

Hugging Face опубликовала пост о Space torch-neuronx model support. Контекст: ранее компания представила TorchNeuron, нативный бэкенд PyTorch для AWS Trainium (пакет torch-neuronx). С ним библиотека Transformers исполняет собственный код моделей на Trainium так же, как на любом другом устройстве, поэтому в принципе может запуститься любая модель Transformers с Hub. Space отвечает на вопрос, какие модели действительно запускаются: он показывает, работает ли популярная модель на Trainium без изменений, и выдаёт скрипт для самостоятельного запуска.
Как искать модель. Space открывается на вкладке Selected, это собственная подборка авторов из топа Hub по загрузкам и по trending-рейтингу. В каждой строке указаны результат, число ядер Trainium, на которые разбита (шардирована) модель, полное время прогона (включая компиляцию) и пиковая память устройства. Чтобы найти конкретную модель, нужно переключиться на вкладку Trending или Downloads и ввести часть названия: эти вкладки следуют рейтингам Hub по одной задаче за раз, независимо от того, тестировалась ли модель. Если модель исключена намеренно, Space объясняет причину: чаще всего ей просто не уделили приоритет, иногда она действительно несовместима. Можно выбрать версии компилятора Neuron (neuronx-cc) и Transformers. Сейчас тестируются только модели Transformers, а подборка ограничена задачами text-generation и image-text-to-text. Авторы планируют расширить охват на diffusers, sentence transformers и другие задачи transformers.
Как запустить самому. Для выбранной модели Space показывает стек Neuron, на котором её тестировали, пакеты, которые нужно доустановить, и сам скрипт run.py. Скрипт следует рецепту из анонса TorchNeuron: загружает модель через from_pretrained (с шардированием, если нужно), затем генерирует текст со статическим кэшем и torch.compile с бэкендом neuron. Запускать нужно на инстансе Trainium2 (trn2) с этим стеком, например в Deep Learning Container от AWS Neuron: установить пакеты и выполнить python3 run.py. torchrun не нужен, при шардировании скрипт сам запускает ранги torch.distributed. Первый запуск начинается с компиляции графов модели; этот шаг можно пропустить, скопировав графы, собранные тем же компилятором во время теста, из публичного бакета с кэшем NEFF командой hf buckets sync (Space подставляет правильную версию компилятора).
Что значит «запускается». Каждый тест загружает модель на инстанс trn2, разбивая её на минимально возможное число ядер Trainium, способных вместить веса. Большинство моделей шардируются тензорным параллелизмом; модели mixture-of-experts без плана тензорного параллелизма используют только экспертный параллелизм. Затем тест генерирует 32 токена и проверяет их. На одном ядре токены сравниваются с результатом прогона того же чекпойнта на CPU; для шардированной модели небольшая модель-судья проверяет, что текст, связный английский. На момент написания тестируются только модели, помещающиеся на 4 устройства Trainium2, то есть не больше 16 ядер. Результат PASS ничего не говорит ни о пропускной способности, ни о более длинных генерациях.
Результаты как датасет. Всё, что показывает Space, берётся из публичного датасета aws-neuron/torch-neuronx-model-support: по одному файлу Parquet на каждую пару версий neuronx-cc и библиотеки. В строке, результат модели, ошибка (если тест упал), версии всего стека и тот run.py, который выполнялся. Датасет можно читать напрямую через pandas (read_parquet по адресу hf://datasets/aws-neuron/torch-neuronx-model-support/data), например отфильтровав строку для Qwen/Qwen3-0.6B. Точный смысл каждого значения результата описан в карточке датасета.
Ключевые факты
- Space torch-neuronx model support от Hugging Face показывает, запускается ли популярная модель с Hub без правок на AWS Trainium, и выдаёт скрипт run.py для самостоятельного запуска.
- Тест: модель грузится на инстанс trn2 с шардированием на минимально нужное число ядер, генерирует 32 токена; на одном ядре результат сверяется с CPU, при шардировании связность английского текста проверяет небольшая модель-судья.
- Сейчас тестируются только модели Transformers (text-generation и image-text-to-text), помещающиеся на 4 устройства Trainium2, то есть не больше 16 ядер; планируется расширение на diffusers, sentence transformers и другие задачи.
- Результат PASS ничего не говорит о пропускной способности и о более длинных генерациях.
- Результаты открыты: публичный датасет aws-neuron/torch-neuronx-model-support (по одному файлу Parquet на пару версий neuronx-cc и библиотеки), а готовые графы компиляции можно скачать из публичного бакета с кэшем NEFF.
Почему это важно
Само по себе наличие бэкенда TorchNeuron означает, что любая модель Transformers может запуститься на Trainium, но «может» не равно «запускается». Space превращает это в проверяемый справочник: можно найти модель и сразу увидеть результат, число ядер, время прогона и пиковую память, а не выяснять совместимость методом проб и ошибок. Результаты к тому же публикуются как открытый датасет.
Кому это важно
Практикам, которые рассматривают инстансы AWS Trainium для запуска моделей из Hugging Face Hub, и командам, выбирающим между железом под конкретную модель. Также полезно тем, кто хочет автоматически анализировать совместимость через pandas по открытому датасету.
Как это применить
Откройте Space, найдите модель на вкладке Trending или Downloads, посмотрите стек Neuron и список пакетов. Затем на инстансе trn2 (например, в AWS Neuron Deep Learning Container) установите пакеты и выполните python3 run.py; torchrun не нужен. Чтобы не ждать компиляции, скопируйте готовые графы из публичного бакета NEFF командой hf buckets sync, которую подставляет Space. Данные можно прочитать и напрямую через pandas из датасета aws-neuron/torch-neuronx-model-support.
Можно ли доверять
Это пост самой Hugging Face о её собственном Space; авторы поста не названы. Методика теста описана открыто и воспроизводима: скрипт и версии стека выдаются для каждой модели. При этом в посте не приведено ни общего числа проверенных моделей, ни доли успешных и неуспешных, ни сравнения производительности с GPU или другим железом, а смысл значений результата, кроме PASS, отправлен в карточку датасета.
Риски и подводные камни
PASS означает лишь, что модель загрузилась и сгенерировала 32 токена, прошедшие проверку: о пропускной способности и более длинных генерациях он ничего не говорит. Проверка на шардированных моделях сводится к тому, что небольшая модель-судья считает текст связным английским. Тестируются только модели, помещающиеся на 4 устройства Trainium2 (не более 16 ядер), и только Transformers в задачах text-generation и image-text-to-text; другие типы моделей не проверяются. Часть исключённых моделей просто не получила приоритета, так что отсутствие результата не обязательно означает несовместимость.