Безперервне дозування
Безперервне пакетування — це техніка обслуговування, яка додає та видаляє запити з запущеного пакета маркер за маркером, замість того, щоб чекати, поки завершиться цілий фіксований пакет.
Огляд
It keeps the GPU constantly busy and sharply increases how many users an AI model can serve at once.
Глибоке занурення
Графічні процесори працюють найшвидше, коли обробляють багато запитів разом у пакеті. Наївний підхід, статичне пакетування, групує фіксований набір запитів, виконує їх усі до кінця, а потім починає наступний пакет. Проблема: вихідні дані мовної моделі сильно відрізняються за довжиною, тому короткі запити завершуються раніше, а їхні слоти простоюють, поки пакет чекає найдовшого, витрачаючи цикли GPU та затримуючи нові надходження. Безперервне пакетування (також називається пакетуванням на рівні польоту або на рівні ітерації, популяризовано Orca paper і використовується у vLLM, TensorRT-LLM і TGI) працює на деталізації одного кроку декодування. Після генерації кожного маркера готові послідовності виходять із пакету, а щойно надійшли запити негайно розміщуються. Це забезпечує повний пакет і насиченість графічного процесора, часто збільшуючи пропускну здатність у кілька разів із меншою затримкою для користувачів, що очікують.
Технічне розуміння
Ключовий зсув — від пакетування цілих запитів до пакетування окремих ітерацій. На кожному кроці декодування планувальник створює активний набір: він запускає один прохід над усіма послідовностями під час польоту, випускає по одному маркеру для кожної, вилучає будь-який, який досягає маркера кінця послідовності або обмеження довжини, і допускає запити в черзі для заповнення звільнених слотів. Поєднання цього з гнучкою KV-пам’яттю PagedAttention робить вставлення та видалення послідовностей дешевими, оскільки кеш кожної послідовності живе в незалежних блоках.
Стратегічний вплив
Вартість і бюджет
Архітектурні рішення збільшують продуктивність і експлуатаційні витрати протягом багатьох років.
Чіткіші рішення
Технічна освіта допомагає командам вибрати правильний стек, а не лише найновіший.
Контроль якості
Кращий інженерний вибір зменшує проблеми з надійністю у виробництві.
Майбутнє безперервного дозування
Безперервне дозування тепер є стандартом у виробництві LLM. Подальша робота вдосконалює планувальник: відокремлює важку обчислювальну фазу попереднього заповнення від легшої фази декодування (дезагрегація), фрагментоване попереднє заповнення, щоб уникнути зупинки декодування, політики пріоритету та справедливості для змішаних робочих навантажень, а також більш тісний зв’язок із спекулятивним декодуванням, щоб кілька чернеток токенів перевірялися на кожному кроці. Мета полягає в тому, щоб отримати максимальну кількість токенів за секунду на графічний процесор, зберігаючи низьку та передбачувану затримку індивідуальної відповіді.
Реалізація в реальному світі
API чату, який одразу приймає нові повідомлення користувачів у поточний пакет замість того, щоб ставити їх у чергу для наступного пакету
Видалення короткої завершеної відповіді в середині пакета та заповнення його слота, щоб графічний процесор ніколи не простоював, чекаючи довгого покоління
Поєднання безперервного пакетування з PagedAttention від vLLM для дешевої вставки та видалення послідовностей на кожному кроці декодування
Служба завершення коду, яка підтримує високу кількість токенів за секунду в умовах різкого трафіку змінної довжини, зберігаючи пакет повним
Ризики та огорожі
Оптимізація одного тесту може приховати ширші слабкі сторони системи.
Витрати на інфраструктуру та обслуговування часто недооцінюються.
Прогалини в безпеці та спостережуваності можуть зростати в міру ускладнення систем.
Дорожня карта впровадження
Визначте цільові показники затримки, якості та вартості перед впровадженням.
Тест за реалістичних умов навантаження та даних.
Моніторинг інструментів на наявність помилок, дрейфу та впливу користувача.
Перед масштабуванням підготуйте шляхи відкату та реагування на інциденти.
Продовжуйте досліджувати
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Continuous Batching quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Наступний посібник
Робочі навантаження Kubernetes для ML
Часті запитання
What is Continuous Batching?
Безперервне пакетування — це техніка обслуговування, яка додає та видаляє запити з запущеного пакета маркер за маркером, замість того, щоб чекати, поки завершиться цілий фіксований пакет. Це постійно завантажує графічний процесор і різко збільшує кількість користувачів, які модель ШІ може обслуговувати одночасно.
У чому головна слабкість статичного (фіксованого) пакетування для обслуговування LLM?
Оскільки довжина вихідних даних різна, готові послідовності залишаються бездіяльними, доки не завершиться найповільніша, витрачаючи цикли GPU та затримуючи нові запити.
З якою деталізацією безперервне пакетне додавання та видалення запитів?
Безперервне (на рівні ітерації) пакетування оновлює активний набір після кожного окремого кроку декодування, тому він працює маркер за маркером, а не для всього запиту.
Коли послідовність закінчується в середині партії під час безперервного пакетування, що відбувається з її слотом?
Завершені послідовності вилучаються, а запити, що очікують, негайно розміщуються, утримуючи пакет повним і GPU зайнятим.
Яка техніка природно поєднується з безперервним пакетуванням, щоб зробити вставлення/видалення послідовностей дешевими?
PagedAttention зберігає KV-кеш кожної послідовності в незалежних блоках, тому додавання або видалення послідовності в процесі не порушує пам’ять інших.
Якій дослідницькій роботі зазвичай приписують популяризацію (безперервного) пакетування на рівні ітерації?
Документ Orca запровадив планування на рівні ітерації, і ця ідея була прийнята такими системами, як vLLM, TGI та TensorRT-LLM.