Эфир 18.11 · Поток 318 ноября в 19:00 МСК — бесплатный практический эфир по ИИ-агентам · Живой Поток 3 стартует 23.11Эфир 18 ноября →Поток 3 (23.11)
РелизAPI / Продукт · В работуPyTorch Blog→ оригинал

Два инженера подключили SGLang к IBM Spyre за неделю и подняли пропускную способность в 3,6 раза

Новый ускоритель часто требует отдельной интеграции с сервером языковых моделей. Два инженера подключили SGLang к IBM Spyre меньше чем за неделю с помощью ИИ-агентов: те адаптировали существующий код под готовые интерфейсы. Плагин занял около 1500 строк, а пропускная способность выросла в 3,6 раза относительно эталонной реализации на PyTorch. Ключ к срокам — уже работающая поддержка оборудования.

AI-обработка оригинала PyTorch Blog; редакция Hamidun News
Два инженера подключили SGLang к IBM Spyre за неделю и подняли пропускную способность в 3,6 раза
Источник: PyTorch Blog. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникPyTorch Blog ↗
Главный редактор
Ключевой факт #1На измеренных нагрузках двух моделей SGLang показал результат на уровне vLLM.
Ключевой факт #2RadixCache переиспользует общие префиксы запросов без доработок под Spyre.
Ключевой факт #3Для запуска нужны среда Spyre, torch-spyre, плагин и патчи совместимости.

Подключение нового ускорителя к серверу языковых моделей легко превращается в отдельный инженерный проект. Нужно согласовать работу с памятью, вычисления внимания и обработку запросов, а затем убедиться, что всё это действительно быстрее исходного решения. Команда из двух инженеров сообщила, что подключила SGLang к IBM Spyre меньше чем за неделю с помощью ИИ-агентов. Плагин получился примерно на 1500 строк, а пропускная способность — в 3,6 раза выше эталонной реализации инференса на PyTorch с torch-spyre. Эти результаты авторы приводят в блоге PyTorch.

Практический интерес здесь в устройстве самой работы. У инженеров уже были поддержка оборудования и пример другой интеграции. Агентам дали существующий код и конкретные интерфейсы, к которым его требовалось подключить. Для команды, которая переносит инференс на другое железо, это полезный образец того, как ограничить задачу и использовать накопленные разработки.

Из чего собрали интеграцию

Spyre — ускоритель IBM для корпоративного инференса. Библиотека torch-spyre регистрирует его как устройство PyTorch и подключает к torch.compile. Поэтому часть работы с оборудованием уже доступна через стандартные механизмы PyTorch.

Второй опорой стала существующая интеграция Spyre с vLLM. Оттуда взяли реализации внимания, обработку форм тензоров, группировку входных данных по размерам и подход к выделению памяти для KV-кеша. Этот кеш хранит промежуточные данные, чтобы модель не пересчитывала их при генерации каждого следующего токена.

SGLang предоставил точки подключения: регистрацию устройства, реализацию внимания, управление KV-кешем и выбор вычислительных операций. ИИ-агенты адаптировали код к этим интерфейсам. Планировщик запросов и основной цикл обслуживания остались готовыми компонентами SGLang.

Понадобились и четыре небольших патча самого SGLang. Два открыли существующие пути выполнения без зависимостей от CUDA, ещё два зарегистрировали устройство Spyre и реализацию внимания, которая обходится без Triton. Часть этих изменений, по словам авторов, пригодится и другим ускорителям.

Зачем серверу помнить начало запроса

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

В SGLang за совместное использование префиксов отвечает RadixCache. В этой интеграции механизм заработал без специальных изменений под Spyre: решение о переиспользовании принимает планировщик ещё до передачи работы ускорителю. Это показательный пример того, как функция сервера может переноситься на новое оборудование вместе с общей логикой обслуживания.

Экономию кода тоже удалось объяснить конкретно. Существующая интеграция vLLM для Spyre занимала около 3500 строк. Примерно две трети разницы с новым плагином авторы связывают с переиспользованием базового класса внимания в SGLang. Поэтому сравнение размеров плагинов само по себе мало говорит о продуктивности ИИ: существенную часть результата дала архитектура библиотек.

Что проверять перед переносом в продукт

Рост пропускной способности в 3,6 раза относится к сравнению с эталонной реализацией на PyTorch. В отдельном сравнении с vLLM на Spyre результаты SGLang были сопоставимы на измеренных нагрузках для Granite 3.3 8B и Gemma 4 26B A4B. Переносить эти выводы на любые модели и режимы запросов пока оснований нет.

Начальная интеграция также опирается на существующий компилятор, среду выполнения и аппаратные операции. Поддержку динамических форм и Triton авторы описывают как следующие шаги. Для запуска примера необходимо заранее установить и настроить среду Spyre, torch-spyre, плагин SGLang и патчи совместимости.

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

Сюжет

Вопросы и ответы по материалу

Что известно по теме: из чего собрали интеграцию?

Spyre — ускоритель IBM для корпоративного инференса. Библиотека torch-spyre регистрирует его как устройство PyTorch и подключает к torch.compile. Поэтому часть работы с оборудованием уже доступна через стандартные механизмы PyTorch. Второй опорой стала существующая интеграция Spyre с vLLM. Оттуда взяли реализации внимания, обработку форм тензоров, группировку входных данных по размерам и подход к выделению памяти для KV-кеша.

Что известно по теме: зачем серверу помнить начало запроса?

Представим корпоративного помощника: каждый запрос начинается с одинаковой длинной инструкции, после которой идёт вопрос сотрудника. Если сервер умеет переиспользовать вычисления для общего начала, ему не приходится обрабатывать эту часть заново для каждого обращения. В SGLang за совместное использование префиксов отвечает RadixCache. В этой интеграции механизм заработал без специальных изменений под Spyre: решение о переиспользовании принимает планировщик ещё до передачи работы ускорителю.

Что известно по теме: что проверять перед переносом в продукт?

Рост пропускной способности в 3,6 раза относится к сравнению с эталонной реализацией на PyTorch. В отдельном сравнении с vLLM на Spyre результаты SGLang были сопоставимы на измеренных нагрузках для Granite 3.3 8B и Gemma 4 26B A4B. Переносить эти выводы на любые модели и режимы запросов пока оснований нет. Начальная интеграция также опирается на существующий компилятор, среду выполнения и аппаратные операции. Поддержку динамических форм и Triton авторы описывают как следующие шаги.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ ИИ-агенты на практике · Академия & Nomad

От чтения про ИИ-агентов — к запуску своего агента за вечер

Пошаговая сборка автономных агентов и MCP-связок в Hamidun Academy (academy.hamidun.com) (72 часа бесплатно) или мгновенный запуск готовых мультишаговых агентов в облаке Nomad.

Попробовать Академию (72ч бесплатно) →Запустить Nomad Agent
Что вы думаете?
Загружаем комментарии…