В быстро меняющемся мире искусственного интеллекта большие языковые модели (LLM), такие как GPT-4 и Llama, используются повсеместно: от чат-ботов до помощников в написании кода. Но вот неприятный факт: процесс генерации ответов (инференс LLM) может быть в пять раз медленнее, чем необходимо. Виной тому чрезмерно осторожный подход к обработке неопределённости в длинах выходных данных.
Скрытое узкое место в инференсе LLM
Исследователи из Стэнфордского университета и HKUST разработали алгоритм, который может сократить задержки и повысить пропускную способность без изменения модели или оборудования. Перейдя от пессимизма к адаптивному оптимизму, они достигли производительности, почти идентичной «идеальному» планировщику, который знает будущее.
Как это работает?
Инференс LLM — это не просто обработка чисел; это операционная головоломка. Когда приходит запрос, модель обрабатывает его в два этапа: быстрый «предварительный» этап для обработки входных данных и этап «декодирования» для генерации выходных данных. Длина входных данных известна заранее, но длина выходных данных — это переменная: она может быть короткой или длинной.
Эта неопределённость нарушает планирование. LLM работают на графических процессорах с ограниченной памятью KV (ключ-значение), которая хранит промежуточные вычисления для ускорения генерации. Чтобы избежать переполнения, планировщики должны прогнозировать и распределять память. Но прогнозы не всегда точны; они часто представляют собой интервалы (например, «от 50 до 500 токенов») от моделей машинного обучения или эвристик.
Стандартное решение — быть консервативным. Алгоритмы, такие как бенчмарк исследования «Amax», предполагают, что каждый запрос достигнет максимальной прогнозируемой длины. Это предотвращает сбои, но приводит к массовому недоиспользованию: пакеты остаются небольшими, графические процессоры простаивают, а задержки увеличиваются.
Алгоритм Amin: оптимистический планировщик, который учится на лету
Исследовательская группа из Пекинского университета, Стэнфорда и HKUST предлагает «Amin», алгоритм, который переворачивает сценарий. Вместо того чтобы бояться худшего, Amin начинает с оптимизма: он предполагает, что выходные данные каждого запроса имеют минимальную прогнозируемую длину (нижнюю границу интервала). Это максимизирует начальные размеры пакетов, упаковывая больше запросов в кэш KV.
Но одного оптимизма недостаточно, если выходные данные окажутся длиннее. Секрет Amin — в адаптивности:
* Динамическая доработка. По мере генерации токенов Amin обновляет свою «псевдо» нижнюю границу для каждого запроса в режиме реального времени. Если запрос уже произвёл, скажем, 100 токенов, он знает, что истинная длина составляет не менее этого количества.
* Упорядоченное вытеснение. Когда память заканчивается, Amin не паникует. Он сортирует активные задания по их текущим псевдонижним границам и вытесняет те, у которых наименьший прогресс (при равенстве — случайным образом). Это защищает задания, которые продвинулись дальше, минимизируя потери от перезапусков.
* Отсутствие необходимости в верхних границах. Crucially, Amin игнорирует верхнюю границу полностью. Предсказывать точные верхние границы сложно и чревато ошибками, а нижние границы проще и надёжнее. Это делает Amin практичным для реального развёртывания.
Алгоритм работает за время O(M log M) на каждом шаге (где M — размер кэша KV), что делает его эффективным даже для больших систем.
Доказательство эффективности: почти оптимальная и надёжная работа
Исследовательская группа анализирует «конкурентное соотношение» Amin, сравнивая его задержку с оптимальным планировщиком (H-SF), который знает все истинные длины выходных данных заранее. Они доказывают, что Amin достигает O(log(α⁻¹)) соотношения, где α — отношение нижней и верхней границ (мера неопределённости прогноза).
Заключение
Пессимизм слишком долго сдерживал инференс LLM. Приняв адаптивный оптимизм, Amin показывает, что мы можем добиться почти идеальной производительности при несовершенных прогнозах. По мере роста рабочих нагрузок ИИ инструменты, подобные этому, будут иметь важное значение для устойчивого масштабирования.
Если вы создаёте или развёртываете LLM, ознакомьтесь с этой статьёй — это краткое чтение с готовым к адаптации псевдокодом. Ваша система инференса может получить 5-кратный прирост скорости. Что вас останавливает?
Часто задаваемые вопросы
1. Что делает алгоритм Amin быстрее, чем стандартный консервативный планировщик?
Amin использует оптимистичное планирование: изначально предполагается, что выходные данные каждого запроса будут минимальной прогнозируемой длиной, что позволяет упаковать больше заданий в GPU KV-кэш, максимизируя параллельность и пропускную способность. По мере декодирования Amin динамически обновляет нижнюю границу для каждого задания и интеллектуально вытесняет задания с наименьшим прогрессом, если памяти мало, достигая почти оптимальной задержки даже при высокой неопределённости.
2. Почему использование только прогноза нижней границы практично для реального инференса?
Нижние границы прогнозировать проще и надёжнее: Amin требует только нижнюю границу каждой длины выходных данных, минуя вычислительные и статистические трудности, связанные с прогнозированием верхней границы. Это делает его надёжным и практичным для развёртывания в производственных сценариях, где точность прогнозирования может варьироваться.
3. Как производительность Amin соотносится с традиционным пессимистичным планированием?
Конкурентное соотношение Amin масштабируется логарифмически с неопределённостью прогноза: в отличие от консервативных планировщиков, которые становятся крайне неэффективными по мере роста неопределённости, Amin гарантирует надёжную производительность с задержкой до 5 раз ниже в реалистичных рабочих нагрузках. Он часто соответствует производительности планировщика, основанного на ретроспективе, устанавливая новый стандарт эффективности инференса в условиях неопределённости.
Вопросы по тексту и ответы на них:
1. Какие проблемы существуют в процессе генерации ответов больших языковых моделей (LLM) и как исследователи из Стэнфорда предложили их решить?
Проблема: процесс генерации ответов (инференс LLM) может быть в пять раз медленнее, чем необходимо, из-за чрезмерно осторожного подхода к обработке неопределённости в длинах выходных данных.
Решение: исследователи из Стэнфордского университета и HKUST разработали алгоритм Amin, который сокращает задержки и повышает пропускную способность без изменения модели или оборудования.
2. Какие этапы включает в себя обработка запроса в LLM и как неопределённость в длинах выходных данных влияет на планирование?
Этапы: обработка запроса в LLM включает в себя быстрый «предварительный» этап для обработки входных данных и этап «декодирования» для генерации выходных данных.
Влияние неопределённости: неопределённость в длинах выходных данных нарушает планирование, так как LLM работают на графических процессорах с ограниченной памятью KV, которая хранит промежуточные вычисления для ускорения генерации. Чтобы избежать переполнения, планировщики должны прогнозировать и распределять память.
3. Как работает алгоритм Amin и какие преимущества он имеет по сравнению со стандартными алгоритмами?
Работа алгоритма: Amin начинает с оптимизма, предполагая, что выходные данные каждого запроса имеют минимальную прогнозируемую длину. По мере генерации токенов Amin обновляет свою «псевдо» нижнюю границу для каждого запроса в режиме реального времени. Если запрос уже произвёл, скажем, 100 токенов, он знает, что истинная длина составляет не менее этого количества.
Преимущества: Amin работает за время O(M log M) на каждом шаге, что делает его эффективным даже для больших систем. Он также достигает почти оптимальной задержки даже при высокой неопределённости, что делает его надёжным и практичным для развёртывания в производственных сценариях.
4. Какие методы использует Amin для динамической доработки и упорядоченного вытеснения заданий?
Динамическая доработка: Amin обновляет свою «псевдо» нижнюю границу для каждого запроса в режиме реального времени по мере генерации токенов.
Упорядоченное вытеснение: когда память заканчивается, Amin сортирует активные задания по их текущим псевдонижним границам и вытесняет те, у которых наименьший прогресс (при равенстве — случайным образом). Это защищает задания, которые продвинулись дальше, минимизируя потери от перезапусков.
5. Какие доказательства эффективности алгоритма Amin представлены в статье?
Доказательства: исследовательская группа анализирует «конкурентное соотношение» Amin, сравнивая его задержку с оптимальным планировщиком (H-SF), который знает все истинные длины выходных данных заранее. Они доказывают, что Amin достигает O(log(α⁻¹)) соотношения, где α — отношение нижней и верхней границ (мера неопределённости прогноза).