Мой блог
Интеграция ускорителя Spyre в экосистему PyTorch
В рамках масштабного развития аппаратной инфраструктуры ИИ компания IBM объявила о том, что ее специализированный датафлоу-ускоритель получил статус полноправного бэкенда в экосистеме PyTorch. Это событие знаменует собой важный этап в реализации стратегии по интеграции чипа в стандартные открытые процессы машинного обучения.
Обновления программного обеспечения, реализованные во второй половине 2026 года при участии ключевых игроков индустрии, обеспечили полноценную поддержку оборудования. В частности, разработчики сосредоточились на том, чтобы Spyre dataflow accelerator стал надежной основой для инференса корпоративного уровня на системах IBM Z, LinuxONE и Power.

Архитектурные особенности и компилятор на базе Inductor
Центральным элементом интеграции выступает программный компонент torch-spyre. Он отвечает за преобразование стандартного кода PyTorch в исполняемый план для аппаратной платформы. Большая часть логики моделей проходит через компилятор без изменений, тогда как для неподдерживаемых операций применяются специальные адаптеры. Изначально стек компиляции базировался на решении sendnn, однако впоследствии разработчики перенесли бэкенд torch.compile на открытый фреймворк Inductor, что позволило в разы сократить объем кодовой базы и снизить сложность функций.
Аппаратная часть ускорителя представляет собой плату с энергопотреблением 75 Вт, подключаемую по шине PCIe. Чип объединяет 32 компактных ядра, связанных кольцевой шиной. Каждое ядро оснащено индивидуальной памятью типа scratchpad объемом 2 МБ вместо разделяемого кеша, а обмен данными между ними осуществляется фиксированными блоками по 128 байт. Основная работа инженеров-компиляторщиков была направлена на оптимизацию перемещения данных на уровне таких блоков, планирование использования локальной памяти и распределение задач по ядрам на этапе компиляции.
Проведенные замеры показали заметное ускорение ключевых операций. В частности, оптимизация тайлинга и макетов данных позволила сократить время выполнения матричных умножений на 29–69%. Планирование с учетом особенностей scratchpad-памяти привело к снижению медианного времени выполнения ядра softmax на 27%. Кроме того, внедрение специализированного объединенного MLP-ядра увеличило общую загрузку ядер примерно до 80% и уменьшило время обработки операций на 17%.
Нативная интеграция устройства
Интеграция чипа на уровне PyTorch реализуется через механизм регистрации PrivateUse1. Благодаря этому тензоры получают полноценный идентификатор устройства через вызов tensor.to(“spyre”), а распределитель памяти сохраняет их в пространстве ускорителя. Сама плата укомплектована 32 соединенными кольцевой шиной ядрами и до 128 ГБ памяти LPDDR5 для размещения программ и тензоров.
В ходе демонстраций на моделях семейства Granite при выполнении операций с пакетной обработкой было зафиксировано существенное повышение производительности. Перенос этапа построения графа вычислений с путей передачи данных позволил ускорить предварительное заполнение контекста и генерацию токенов. Дополнительное устранение лишних действий на стадии диспетчеризации вычислений помогло кратно нарастить общую скорость работы инференса.
Разработчики отмечают, что подобный подход избавляет как сам аппаратный модуль, так и библиотеку от необходимости имитировать сторонние архитектуры. Пользователи получают привычный интерфейс для работы с тензорами и потоками данных, сохраняя при этом исходную модель выполнения вычислений на базе потоков данных.
Портируемость vLLM и взаимодействие с llm-d
Поскольку рассматриваемый ускоритель не относится к числу наиболее распространенных графических процессоров, его поддержка опирается на инструменты TorchDynamo и TorchInductor для анализа и трансляции графов моделей. В среде vLLM для этого задействованы механизмы расширения вроде CustomOp и PluggableLayer, позволяющие кастомизировать поведение под конкретное железо без переписывания всего стека.
Совместные усилия разработчиков из Meta, Hugging Face и IBM привели к созданию аппаратной независимости в vLLM. Новые слои спроектированы так, чтобы быть компилируемыми, расширяемыми и изолированными от специфичных путей конкретных платформ. Подобный подход уже прошел валидацию на ряде актуальных генеративных моделей, демонстрируя высокую эффективность, сопоставимую с нативной поддержкой традиционных графических ускорителей.
Интеграция с PyTorch также открывает путь для взаимодействия с платформой llm-d, которая обеспечивает распределенный инференс поверх vLLM для различных типов ускорителей. Наличие рабочего бэкенда позволяет подключать устройство через стандартный плагин vLLM для эффективного планирования вычислительной нагрузки.
Подготовка моделей и непрерывное тестирование
Для автоматизации адаптации существующих моделей из каталога Hugging Face разработчики применяют проект HF-адаптеров. Специальные кодинговые агенты создают патчи времени выполнения, которые позволяют запускать стандартные модели трансформеров на новом оборудовании. Большая часть популярных эмбеддинг-моделей уже успешно проходит сквозное тестирование на данной аппаратной платформе.
Инженеры также внедрили интеграцию со сборочной линией непрерывного тестирования PyTorch. Это позволяет автоматически запускать проверки при любых изменениях в исходном коде фреймворка, существенно сокращая объем требуемых проверок и повышая стабильность работы программного обеспечения.
