Amazon и vLLM научились запускать десятки кастомных AI-моделей на одной GPU, сокращая расходы в разы

Инженеры AWS ускорили инференс дообученных MoE-моделей на 454% в vLLM, позволяя запускать десятки адаптеров на одной GPU. Узнайте, как это работает.

Amazon и vLLM научились запускать десятки кастомных AI-моделей на одной GPU, сокращая расходы в разы

Каждый, кто пытался запустить больше трех дообученных моделей в продакшене, знает эту боль: зоопарк из кастомных версий пожирает GPU-мощности с аппетитом оголодавшего зверя. Каждый инстанс модели требует свой выделенный ускоритель, который большую часть времени курит бамбук в ожидании трафика. В итоге вы платите за воздух и простой железа. В Amazon, похоже, устали смотреть на это расточительство (или просто хорошо посчитали деньги клиентов) и в сотрудничестве с сообществом vLLM выкатили решение, которое может серьезно изменить экономику кастомного AI. Они взяли популярную технологию дообучения LoRA и научились эффективно «складывать» десятки таких адаптеров на одну GPU.

Идея Multi-LoRA не нова: вместо того чтобы хранить полную копию огромной модели для каждой задачи, мы держим одну базовую модель (например, Llama 3) и пачку крошечных «адаптеров»-довесков, которые и определяют ее специализацию. Проблема в том, что эффективно переключаться между этими адаптерами на лету, особенно для сложных архитектур типа Mixture-of-Experts (MoE), — та еще задачка. Именно ее и решили инженеры. Они разработали для фреймворка vLLM новое CUDA-ядро fused_moe_lora, которое умеет жонглировать и «экспертами» внутри MoE-модели, и внешними LoRA-адаптерами одновременно.

Но написать код — полбеды. Первая версия работала так себе, а точнее — в 10 раз медленнее, чем базовый инференс без адаптеров. Начался классический детектив с профилировщиком. Выяснилось, что компилятор Triton по какой-то причине пересобирал ядро для каждого нового запроса с разной длиной контекста. Поставив одну галочку do_not_specialize, инженеры сразу же убрали чудовищный лаг. Дальше — больше: применили техники вроде Split-K и CTA-swizzling (по сути, хитрая нарезка и переупорядочивание вычислений для оптимальной загрузки кэша GPU), убрали лишние проверки и объединили несколько операций в одну. Это классическая, низкоуровневая инженерная магия, которую редко показывают в глянцевых анонсах.

Результаты впечатляют. Для модели GPT-OSS 20B в открытой версии vLLM (начиная с 0.15.0) скорость генерации токенов в секунду (OTPS) выросла на 454%, а время до первого токена (TTFT) сократилось на 87% по сравнению с первоначальной реализацией. Это превращает технологию из «интересного эксперимента» в готовый продакшн-инструмент. Теперь пять клиентов, каждый из которых загружал бы свою GPU на 10%, могут комфортно уживаться на одном ускорителе, снижая совокупные затраты на 80%. Подобные оптимизации коснулись и других MoE-моделей, таких как Qwen, DeepSeek и Llama MoE.

Разумеется, Amazon не была бы собой, если бы не оставила вишенку на торте для собственных клиентов. Для пользователей своих платформ Amazon SageMaker AI и Amazon Bedrock компания подготовила дополнительный набор тюнингованных конфигураций ядер. Этот «секретный соус» дает еще 19% прироста OTPS и на 8% снижает TTFT поверх уже оптимизированной опенсорсной версии. Это классическая стратегия облачных гигантов: сделать вклад в опенсорс, чтобы привлечь сообщество, а затем предложить платный, чуть более эффективный вариант на своей платформе. И в данном случае это абсолютно честная игра — основной массив работы доступен всем, а за дополнительное удобство и производительность просят перейти на управляемый сервис.

Наш вердикт: это не научный прорыв, а важнейший инженерный. Именно такие, на первый взгляд скучные, оптимизации на уровне CUDA-ядер и компиляторов двигают индустрию вперед. Они превращают генеративный AI из дорогой игрушки для корпораций в рабочий инструмент, доступный среднему бизнесу и даже стартапам. Amazon и vLLM сделали хостинг кастомных моделей значительно дешевле и эффективнее. А это значит, что в ближайшее время мы увидим еще больше нишевых, дообученных под конкретные задачи моделей, потому что теперь их можно запускать, не продавая почку на оплату счетов за GPU.

Read more