Оптимизация работы больших языковых моделей: новый подход к распределению нагрузки

Автор: Денис Аветисян


Исследователи предлагают инновационную систему динамического распределения запросов к языковым моделям между различными вычислительными пулами, что позволяет существенно снизить затраты и повысить стабильность работы.

"Покупай на слухах, продавай на новостях". А потом сиди с акциями никому не известной биотех-компании. Здесь мы про скучный, но рабочий фундаментал.

Бесплатный Телеграм канал

Метод Token-Budget Routing обеспечивает эффективное использование ресурсов GPU за счет разделения запросов на короткие и длинные контексты.

В современных системах обслуживания больших языковых моделей (LLM) часто наблюдается неэффективное использование ресурсов из-за чрезмерного резервирования памяти под контекст переменной длины. В работе ‘Dual-Pool Token-Budget Routing for Cost-Efficient and Reliable LLM Serving’ предложен новый подход, динамически распределяющий запросы между специализированными пулами в зависимости от предполагаемого объема токенов, что позволяет значительно снизить потребление GPU и повысить стабильность работы. Предложенный метод маршрутизации токенов позволяет сократить затраты на вычислительные ресурсы до 42% и снизить частоту отказов в обслуживании в 5.4 раза. Можно ли масштабировать данный подход для поддержки еще более сложных рабочих нагрузок и гетерогенных аппаратных конфигураций?


Пределы Однородной Инфраструктуры

Масштабирование вычислений для больших языковых моделей (LLM) сопряжено со значительными трудностями, обусловленными конкуренцией за ресурсы и неэффективностью их использования. В процессе одновременной обработки множества запросов возникает острая потребность в вычислительной мощности, памяти и пропускной способности сети, что приводит к конфликтам и снижению общей производительности. Часто наблюдается ситуация, когда ресурсы оказываются перегружены, а их потенциал не реализуется в полной мере из-за неоптимального распределения и управления. Эта проблема особенно актуальна для LLM, требующих огромного количества ресурсов для каждого запроса, что усугубляет ситуацию и ограничивает возможности масштабирования для поддержки растущего числа пользователей и сложных приложений.

Традиционные методы развертывания больших языковых моделей, основанные на однородном выделении ресурсов, зачастую приводят к каскаду проблем. Прерывания задач (Preemption Storms) возникают, когда множество запросов одновременно борются за ограниченные ресурсы, приводя к постоянной перепланировке и снижению общей производительности. Нехватка памяти, проявляющаяся в виде ошибок OOM (Out Of Memory), становится распространенной проблемой, особенно при обработке сложных или длинных запросов. И, наконец, явление блокировки головы очереди (Head-of-Line Blocking) возникает, когда один медленный запрос задерживает обработку всех последующих, значительно увеличивая задержку и снижая пропускную способность системы. Все эти факторы в совокупности ограничивают масштабируемость и эффективность развертывания больших языковых моделей в реальных условиях.

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

Интеллектуальная Диспетчеризация с Маршрутизацией по Бюджету Токенов

Алгоритм маршрутизации на основе бюджета токенов (Token-Budget Pool Routing) представляет собой систему диспетчеризации на уровне всего флота, предназначенную для динамического направления запросов к оптимизированным пулам ресурсов. В отличие от статических методов назначения, данный алгоритм анализирует каждый запрос и направляет его в наиболее подходящий пул, что позволяет максимизировать пропускную способность и снизить задержки. Принцип работы заключается в распределении запросов между специализированными пулами, созданными для обработки задач с различными требованиями к вычислительным ресурсам. Это обеспечивает более эффективное использование доступных ресурсов и улучшает общую производительность системы.

Для оптимизации использования ресурсов и повышения пропускной способности, система разделяет парк vLLM на две конфигурации: “Короткий пул” (Short Pool) и “Длинный пул” (Long Pool). “Короткий пул” предназначен для обработки запросов с небольшим количеством токенов, в то время как “Длинный пул” оптимизирован для запросов, требующих обработки большего количества токенов. Такое разделение позволяет эффективно распределять рабочую нагрузку, направляя каждый запрос в наиболее подходящий пул, что снижает задержки и повышает общую производительность системы.

Алгоритм использует метод самокалибровки оценки токенов (Self-Calibrating Token Estimation) для точного предсказания бюджета токенов (Token Budget) для каждого запроса. Данный подход основан на анализе статистических данных о длине последовательностей токенов в запросах и динамической адаптации модели предсказания, что позволяет минимизировать ошибки в оценке необходимого количества токенов. Точное определение бюджета токенов критически важно для эффективного распределения запросов между пулами vLLM, оптимизации использования ресурсов и снижения задержек обработки. В процессе работы алгоритм непрерывно калибрует свою оценку на основе фактического потребления токенов, обеспечивая высокую точность предсказаний даже при изменяющейся нагрузке и характеристиках запросов.

vLLM: Сервисный Движок с PagedAttention

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

Механизм Chunked Prefill, используемый в vLLM, оптимизирует использование GPU за счет разделения входной последовательности на более мелкие фрагменты (chunks) для этапа предварительной обработки (prefill). Это позволяет более эффективно загружать и обрабатывать длинные последовательности, минимизируя неиспользуемую память GPU и увеличивая пропускную способность. Традиционные методы предварительной обработки требуют выделения памяти для всей последовательности сразу, что приводит к неэффективности при работе с длинными запросами. Chunked Prefill позволяет обрабатывать каждый фрагмент последовательности независимо, повышая общую утилизацию GPU, особенно при работе с моделями, требующими обработки больших объемов текста.

Для оценки эффективности vLLM были проведены тесты с использованием моделей Llama-3-70B и Qwen3-235B на графических процессорах A100 и MI300X. Результаты тестов продемонстрировали значительное увеличение производительности по сравнению с традиционными методами обслуживания больших языковых моделей. Наблюдаемый прирост производительности подтверждает, что vLLM эффективно использует ресурсы GPU для обработки запросов, особенно в сценариях с высокой нагрузкой и длинными последовательностями ввода.

Оценка Влияния: Экономия и Эффективность

Для подтверждения эффективности предложенного подхода был проведен анализ на основе двух крупных датасетов: Azure LLM Inference Dataset и LMSYS-Chat-1M. Использование этих наборов данных позволило детально изучить характеристики запросов к большим языковым моделям в реальных условиях. Результаты анализа показали, что разработанная система способна эффективно адаптироваться к различным типам нагрузки, оптимизируя использование вычислительных ресурсов. Это подтверждается значительным снижением потребления GPU, а также повышением надежности и скорости обработки запросов, что демонстрирует практическую ценность предложенного решения для масштабируемых систем машинного обучения.

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

Исследование демонстрирует, что динамическая адаптация к запросам нагрузки позволяет существенно сократить издержки и повысить эффективность использования вычислительных ресурсов. В отличие от традиционной однородной конфигурации, предложенный подход минимизирует неиспользуемые мощности и максимизирует пропускную способность, что приводит к снижению использования графических процессоров на 31-42%. Такой метод позволяет более эффективно распределять ресурсы в зависимости от текущих потребностей, избегая перерасхода и обеспечивая оптимальную производительность. В результате достигается значительная экономия средств и повышается общая эффективность системы.

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

Исследования показали, что внедрение данной системы значительно повышает надежность обработки запросов. В частности, зафиксировано 5,4-кратное снижение случаев прерывания (preemption) процессов, что позволяет избежать потери данных и обеспечивает более стабильную работу сервиса. Кроме того, удалось достичь 6-процентного улучшения показателя P99 Time To First Token — времени получения первого токена в ответ на запрос. Это означает, что пользователи получают более быстрый первоначальный отклик, что положительно сказывается на общем пользовательском опыте и эффективности работы системы в условиях высокой нагрузки.

Исследование, представленное в данной работе, демонстрирует стремление к оптимизации ресурсов при работе с большими языковыми моделями. Идея динамического распределения запросов между пулами различной длины контекста — это не просто техническое решение, но и отражение понимания временной природы систем. Как однажды заметил Давид Гильберт: «Мы должны знать. Мы должны знать, что мы можем знать». Эта фраза резонирует с подходом, предложенным в статье, где авторы стремятся к глубокому пониманию поведения систем и оптимизации их работы в условиях ограниченных ресурсов. Эффективное использование KV-кэша и адаптация к различным длинам контекста — это попытка «знать», что возможно, и максимально использовать потенциал доступных ресурсов, обеспечивая надежность и экономичность обслуживания LLM.

Куда же дальше?

Представленная работа, безусловно, демонстрирует умение оптимизировать текущий момент — распределение запросов в краткосрочной перспективе. Однако, следует помнить: каждая оптимизация — лишь отсрочка неизбежного. Эффективное использование ресурсов сегодня не отменяет рост сложности систем и, как следствие, увеличение числа потенциальных точек отказа. Вопрос не в том, чтобы просто ускорить обработку, а в том, как сохранить работоспособность системы, когда её «возраст» начнет сказываться.

Очевидным направлением развития представляется адаптация механизмов маршрутизации к динамически меняющимся характеристикам запросов и моделей. Предложенный подход к управлению пулами контекста — это первый шаг, но реальная задача — создание самообучающихся систем, способных предвидеть «узкие места» и адаптироваться к ним до того, как они станут критическими. Каждый «баг» — это, по сути, момент истины на временной кривой, сигнал о назревающих проблемах.

Нельзя забывать и о «техническом долге» — своеобразной закладке прошлого, которую приходится оплачивать настоящим. Оптимизации, внедренные сегодня, могут потребовать значительных переработок в будущем. Поэтому, помимо повышения эффективности, необходимо уделять внимание модульности и расширяемости систем, чтобы обеспечить возможность их эволюции и адаптации к новым требованиям времени.


Оригинал статьи: https://arxiv.org/pdf/2604.08075.pdf

Связаться с автором: https://www.linkedin.com/in/avetisyan/

Смотрите также:

2026-04-11 09:52