ELDR: умный routing для распределённого обслуживания больших мультиэкспертных моделей

ELDR: умный routing для распределённого обслуживания больших мультиэкспертных моделей

В распределённом LLM serving разные запросы обрабатываются в два этапа: сначала prefill на одних GPU, потом decode на других. После prefill каждый запрос отправляется на decode рабочего на основе его текущей нагрузки. Однако для мультиэкспертных моделей (MoE) этого недостаточно: два рабочих с одинаковой нагрузкой могут работать с разной скоростью, потому что каждый decode шаг загружает в память веса всех активных экспертов, а их набор зависит от конкретного запроса.

Исследователи предложили ELDR (Expert-Locality-Aware Decode Routing), которая учитывает эту особенность. Идея проста: по экспертам, которые активировались на prefill, можно предсказать, какие эксперты будут активны на decode. ELDR строит из этих данных «экспертную сигнатуру» запроса, а затем оффлайн разделяет пространство сигнатур по decode рабочим с помощью K-means кластеризации. При поступлении нового запроса система отправляет его на самый свободный рабочий среди тех, чья сигнатура лучше всего совпадает с сигнатурой запроса.

Для сохранения точности сигнатур при prefix caching (когда блоки KV кеша переиспользуются) ELDR ведёт специальный сигнатурный кеш, синхронизированный с блоком KV кеша. Метод реализован в vLLM и протестирован на развёртываниях до 40 GPU. На трёх разных MoE моделях и двух типах рабочих нагрузок ELDR показал медиану TPOT (time per output token, время на токен) на 5.9, 13.9% ниже, чем лучший из четырёх baseline методов на основе балансировки нагрузки. При этом результаты модели остаются неизменными.

Ключевые факты

  • ELDR предсказывает, какие эксперты активируются на decode фазе, по экспертам, активированным на prefill, и строит экспертную сигнатуру запроса
  • Offline K-means разделяет пространство сигнатур по decode рабочим; online routing отправляет запрос на наименее нагруженного из лучше всего подходящих
  • Сигнатурный кеш, синхронизированный с KV кешем, обеспечивает точность сигнатур при использовании prefix caching
  • На системах до 40 GPU и трёх MoE моделях ELDR снижает median TPOT на 5.9, 13.9% против лучшего baseline для балансировки нагрузки
  • Реализован в vLLM, выход модели не меняется, это чистая инфраструктурная оптимизация

Почему это важно

Распределённое serving (разделение prefill и decode на разные рабочие) становится стандартом для больших языковых моделей, потому что prefill и decode имеют разные требования к GPU. Для мультиэкспертных моделей (MoE) существующие методы распределения нагрузки смотрят только на количество запросов, но игнорируют, что разные запросы могут активировать разные наборы экспертов. Это создаёт скрытую дисбалансировку: рабочий может выглядеть свободным, но загружаться медленно, потому что его batch содержит много редких экспертов. Уменьшить задержку за счёт более умного routing означает более дешёвое и быстрое обслуживание больших моделей.

Кому это важно

Компании и системы, работающие с большими MoE моделями в production (OpenAI, Google, Meta, Mistral и другие создатели MoE). Разработчики инфраструктуры для LLM serving, использующие или рассматривающие vLLM. Облачные платформы и компании, оптимизирующие стоимость служб LLM API. Исследователи, работающие над масштабированием и эффективностью больших моделей.

Как это применить

ELDR реализована в vLLM, значит она может быть интегрирована в существующие системы serving на его основе. Требуется профилировать экспертные активации на prefill для целевых рабочих нагрузок, построить кластеры сигнатур (оффлайн), и переключить routing на ELDR вместо простого load balancing. Результат зависит от конкретного MoE: на системах с большим разбросом в активации экспертов (разные запросы используют сильно разные наборы экспертов) эффект будет больше.

Можно ли доверять

Работа исследовательская, опубликована на HuggingFace Papers (arxiv). Авторы (Sangjin Choi и соавторы) реализовали метод в vLLM, что добавляет практической ценности. Эксперименты проведены на реальных мультиэкспертных моделях и системах (до 40 GPU), а не только на симуляциях. Результаты консервативны (5.9, 13.9%, не огромные числа) и тестированы на нескольких моделях и нагрузках, что повышает доверие.

Риски и подводные камни

Эффект ELDR сильно зависит от паттернов активации экспертов в целевой нагрузке: если все запросы активируют примерно одинаковые эксперты, прирост будет минимальным. Сигнатурный кеш добавляет память и сложность; нужно убедиться, что он не станет узким местом. Метод требует профилирования и оффлайн кластеризации под конкретную модель и рабочую нагрузку, это нельзя просто включить в любой системе. На небольших системах (менее 10 GPU) или при низком объёме запросов overhead от ELDR может перевешить выгоду.

«ELDR уменьшает медиану времени на токен на 5.9, 13.9% против самого сильного из четырёх базовых методов балансировки нагрузки на трёх MoE моделях и двух типах рабочих нагрузок, при неизменном выводе модели.»

— Результаты ELDR на реальных развёртываниях до 40 GPU