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