Суть
Библиотека transformers от Hugging Face получила важное обновление интеграции с vLLM. Теперь использование бэкенда transformers при запуске моделей обеспечивает такую же, а иногда и более высокую скорость, как и специально написанные кастомные реализации vLLM. Разработчикам достаточно добавить один флаг при запуске, чтобы получить максимальную производительность без дополнительных усилий.
Контекст
Библиотека transformers стала стандартом де-факто в машинном обучении, поддерживая более 450 архитектур. Ее главная цель — понятный и самодостаточный код, который легко изучать и использовать для обучения. Однако для высокопроизводительного инференса (вывода) в продакшене требуются сложные оптимизации: параллелизм, компиляция, слияние ядер (fused kernels).
Ранее авторам новых архитектур приходилось выполнять двойную работу. Сначала модель интегрировалась в transformers для обучения и тестов, а затем, чтобы получить максимальную скорость при развертывании, писалась отдельная кастомная реализация для движков вроде vLLM. Интеграция бэкенда transformers в vLLM, начатая в прошлом году, решала проблему совместимости, но не всегда обеспечивала пиковую производительность.
Детали
Новая версия бэкенда динамически применяет специфичные для инференса оптимизации прямо во время выполнения.
Технически это реализовано через torch.fx для статического анализа графа вычислений модели. Процесс ищет известные паттерны, которые можно оптимизировать. Затем с помощью абстрактного синтаксического дерева (AST) исходный код манипулируется, и операции перезаписываются на месте.
Это позволяет использовать оптимизированные ядра vLLM для сложных операций, таких как экспертный параллелизм (Expert Parallelization) в моделях Mixture-of-Experts (MoE), а также выстраивать планы для тензорного (TP) и конвейерного (PP) параллелизма.
Тестирование на моделях семейства Qwen3 (от плотной модели на 4 млрд параметров до MoE-модели на 235 млрд параметров в формате FP8) показало, что бэкенд transformers достигает или превосходит пропускную способность нативного кода vLLM во всех сценариях.
Анализ
Это обновление фундаментально меняет рабочий процесс разработчиков больших языковых моделей (LLM). Грань между кодом для исследований и кодом для продакшена стирается.
Возможность использовать одну и ту же реализацию модели для обучения, оценки и высоконагруженного развертывания снижает инженерные затраты. Командам больше не нужно поддерживать две параллельные кодовые базы и синхронизировать их логику.
Перспектива
В ближайшем будущем мы увидим ускорение внедрения новых архитектур в реальные продукты. Как только новая модель появляется в экосистеме Hugging Face, она сразу готова к масштабируемому инференсу. Разработчики также обещают в скором времени добавить поддержку моделей с линейным вниманием (linear attention), что еще больше расширит применимость этого подхода.