Урок 4 із 7
Сервінг-рушії
6 хв читання
Запустити модель можна кількома рядками Python. Але цей наївний цикл лишає GPU здебільшого без діла — то як реальні розгортання обслуговують тисячі користувачів одночасно?
Шар між твоїм кодом і GPU
Сервінг-рушій — це спеціалізований софт, що стоїть між запитами й GPU і запускає модель ефективно. Наївний спосіб обробляє один запит за раз і марнує більшість заліза. Сервінг-рушій тримає дорогий GPU насиченим: він батчить запити багатьох користувачів разом, повторно використовує пам'ять уже обчислених токенів замість того, щоб рахувати їх знову, і стрімить токени назад у міру їх появи.
Уся робота сервінг-рушія — тримати дорогий GPU зайнятим: батчити запити й повторно використовувати роботу, щоб з того самого чипа отримати значно більшу пропускну здатність.
Обери рушій під задачу
Різні рушії оптимізовані під різні ситуації. vLLM збудований для високопропускного сервінгу — багато одночасних користувачів на сервері, вичавлюючи максимум запитів з кожного GPU. Ollama збудований для простоти: запусти модель з відкритими вагами на власному ноутбуці однією командою, чудово для локальної розробки й приватності. Інші лежать посередині. За API провайдер запускає такий рушій за тебе; захостиш власноруч — і вибір і налаштування рушія стають твоєю роботою.
Єдиного найкращого рушія немає. vLLM тяжіє до пропускної здатності на сервері; Ollama — до запуску локально. Підбирай рушій до того, чи обслуговуєш натовп, чи працюєш наодинці.
Тобі рідко треба писати GPU-код самостійно. Навчитися конфігурувати сервінг-рушій — розміри батчів, ліміти пам'яті, яку модель завантажити — дає більшість продуктивності без жодної низькорівневої математики.
Суть коротко
- —Сервінг-рушій ефективно запускає модель, тримаючи GPU зайнятим на багатьох запитах.
- —Він батчить запити й повторно використовує обчислені токени, тож один GPU обслуговує значно більше трафіку.
- —vLLM цілиться в пропускну здатність сервера; Ollama — у легкий локальний запуск. Обирай за ситуацією.
Ти хочеш обслуговувати одну модель тисячам одночасних користувачів і максимізувати запити на GPU. Що підходить найкраще?
Продовжити в застосунку
Пройди весь курс «Інференс і залізо» — з відстеженням
Отримай персональний план, прогрес і стріки в застосунку — цей урок і кожен наступний, по порядку.