Моделі та платформи ШІ
Майбутнє серверної інференції для великих мовних моделей
Нещодавні досягнення у сфері великих мовних моделей (LLM) таких як GPT-4, PaLM призвели до трансформаційних можливостей у завданнях природної мови. LLM використовуються у різних додатках, таких як чат-боти, пошукові системи та помічники програмування. Однак, обслуговування LLM у великих масштабах залишається складним завданням через їх значні вимоги до GPU та пам’яті.
Підходи до подолання цих труднощів generally діляться на дві основні категорії:
- Техніки стиснення моделей
Ці техніки спрямовані на зменшення розміру моделі при збереженні точності. Поширені підходи включають:
- Видалення – Видалення зайвих або менш важливих параметрів з моделі. Це створює розріджену модель з меншою кількістю параметрів.
- Квантизація – Використання чисел нижчої точності, таких як int8 або bfloat16, для представлення вагів замість fp32 або fp16. Це зменшує пам’ять.
- Дистиляція знань – Навчання меншої “учневої” моделі наслідувати велику “вчительську” модель. Потім менша модель використовується для інференції.
- Селективна виконавча дія
Замість стиснених моделей, ці техніки селективно виконують лише частини моделі для кожної інференції:
- Розріджені активації – Пропуск обчислень для нульових активацій.
- Умовне обчислення – Виконання лише певних шарів, залежно від входу.
На додаток до програмної архітектури; для забезпечення швидшої розгортки LLM дослідники запропонували серверні системи інференції. У серверних архітектурах LLM розміщуються на спільних кластерах GPU та виділяються динамічно на основі попиту. Це дозволяє ефективно використовувати GPU та зменшує витрати для розробників. Видатні реалізації включають Amazon (AMZN ) SageMaker, Microsoft Azure ML та відкриті варіанти, такі як KServe.
Незважаючи на обіцянки серверних LLM, існуючі системи демонструють високі затримки, які погіршують досвід користувача в інтерактивних додатках:
- Витратні завантаження контрольних точок: LLM мають великі розміри пам’яті, часто гігабайти до терабайт. Завантаження контрольних точок з віддаленого сховища займає багато часу, понад 20 секунд, навіть з оптимізованими мережами.
- Неефективне завантаження контрольних точок: Навіть з локальним сховищем SSD, завантаження контрольних точок у пам’ять GPU займає десятки секунд через фактори, такі як десеріалізація тензорів та виділення. Це додає значні затримки понад час запуску контейнера.
Для вирішення цих проблем дослідники з MIT CSAIL запропонували ServerlessLLM, інноваційну систему, яка досягає низької затримки серверної інференції для LLM. ServerlessLLM підвищує локальність, використовуючи надзвичайну, але недооцінену ємність та пропускну здатність у багаторівневому сховищі серверів для розгортки LLM.
Ключові інновації в ServerlessLLM ServerlessLLM включає кілька нових конструкцій для скорочення часу завантаження LLM у серверних середовищах:
- Швидке завантаження контрольних точок
- Формат контрольних точок, оптимізований для швидкого послідовного читання та ефективного адресування тензорів в пам’яті.
- Багаторівнева трубопровід завантаження контрольних точок, який максимізує використання пропускної здатності через мережу, SSD, DRAM та пам’ять GPU за допомогою технік, таких як прямий ввід, передача пам’яті з закріпленням та паралелізм.
- Жива міграція для локальності-орієнтованої інференції
- Токенна міграція, яка передає лише необхідні токени запиту через мережу, уникając повільної передачі знімків.
- Двофазна міграція, яка дозволяє безперервну інференцію шляхом асинхронного перерахунку станів кешу на сервері-мішені до передачі кінцевих токенів.
- Оптимізація серверної алокації
- Точні моделі для оцінки часу завантаження контрольних точок з кожного рівня та часу міграції для сервера.
- Локальність-орієнтований планувальник, який вибирає сервери, що мінімізують очікуваний час запуску, використовуючи вище вказані моделі.
Ці оптимізації дозволяють ServerlessLLM скоротити час завантаження LLM у 4-8 разів та час запуску у понад 25 разів порівняно з існуючими системами, такими як PyTorch, TensorFlow та KServe.
Давайте глибше розглянемо, як ServerlessLLM досягає цих суттєвих підвищень продуктивності.
Прискорення завантаження контрольних точок
Першою великою перешкодою, яку подолала ServerlessLLM, є висока затримка завантаження контрольних точок LLM з сховища у пам’ять GPU.
Для забезпечення швидкого завантаження контрольних точок ServerlessLLM вводить:
- Формат контрольних точок, оптимізований для завантаження
Стандартні контрольні точки, використовувані такими фреймворками, як PyTorch, призначені для навчання моделей та налагодження. Але для серверної інференції контрольні точки використовуються лише для читання та доступу повторно.
Для оптимізації такого інтенсивного читання ServerlessLLM перетворює контрольні точки у формат з двома ключовими властивостями:
- Послідовне читання блоків: Тензори групуються у двійкові файли за GPU, що полегшує великі послідовні читання.
- Ефективне адресування тензорів: Індекс відображає назви тензорів у зміщення пам’яті, що дозволяє прямому відновленню в пам’яті без десеріалізації.
- Багаторівнева трубопровід завантаження контрольних точок
ServerlessLLM використовує багаторівневу архітектуру серверів GPU, з такими носіями, як SSD та мережа, що з’єднує GPU через PCIe, NVMe тощо.
Система включає багаторівневу трубопровід для максимізації використання пропускної здатності через усі рівні:
- Чанки даних у пам’яті виділяються за допомогою закріпленої пам’яті для швидкої передачі GPU.
- Прямий ввід використовується для ефективного читання з SSD без накладних витрат на кеш.
- Багатьох потоків читання різних блоків сховища паралельно.
- Координація між стадіями відбувається через асинхронні черги завдань.
Разом це дозволяє насичувати пропускну здатність навіть найшвидших рівнів, таких як NVMe RAID. Експерименти показують, що ServerlessLLM досягає завантаження у 6-8 разів швидше, ніж PyTorch/TensorFlow, скорочуючи час запуску великих LLM з більш ніж хвилини до менше 10 секунд.
Локальність-орієнтована інференція LLM через живу міграцію
З прискореним завантаженням ServerlessLLM стикається з новою проблемою – як використати завантажені контрольні точки для локальності без переривання тривалих інференцій на зайнятих серверах?
ServerlessLLM вводить нову техніку – живу міграцію інференції LLM між серверами GPU. Це дозволяє безперервно передавати виконання на сервери з локальними контрольними точками.
Ключові фактори живої міграції LLM:
- Токенна міграція
Замість створення знімків всього стану моделі ServerlessLLM мігрує лише мінімальні токени запиту через мережу. Це передає значно менше даних, ніж знімки.
- Двофазна міграція
Сервер-мішень асинхронно передобчислює стани кешу з токенів запиту. Як тільки готово, сервер-джерело передає кінцеві токени перед звільненням ресурсів. Це запобігає затримкам інференції.
Експерименти показують, що токенна міграція скорочує час міграції з десятків секунд до менше секунди навіть для довгих послідовностей. Жива міграція є важливою для запобігання затримкам черги при досягненні локальності.
Оптимізація моделі для мінімальної затримки
Для мінімалізації кінцевої затримки ServerlessLLM підвищує планувальник для оптимізації вибору сервера з урахуванням локальності. Це включає:
- Точний оцінювач часу завантаження
Моделі передбачають час завантаження з мережі, кешу SSD, пам’яті для кожного сервера за допомогою метрик, таких як затримки черги, розміри моделей та виміряна пропускна здатність.
- Точний передбачувач часу міграції
Планувальник оцінює час міграції для серверів за допомогою кількості токенів запиту та виводу. Він відстежує прогрес інференції асинхронно, щоб уникнути накладних витрат.
- Локальність-орієнтована алокація
Для кожного запиту інференції планувальник оцінює передбачувані часи завантаження та міграції для серверів. Він вибирає сервер, який мінімізує очікувану затримку запуску.
Планувальник також підтримує черги завдань серверів та використовує сильно послідовне сховище для захисту від збоїв. Разом ці інновації скорочують накладні витрати планування, одночасно максимізуючи вигоди локальності.
Оцінка продуктивності ServerlessLLM
Комплексні експерименти оцінюють кінцеву ефективність ServerlessLLM проти існуючих систем за допомогою реальних моделей, таких як OPT-175B, та навантажень, змодельованих за слідами Azure.
Ключові результати:
- Мікробенчмарки: ServerlessLLM прискорює завантаження контрольних точок у 3,6-8,2 рази порівняно з PyTorch/TensorFlow. Він повністю насичує пропускну здатність сховища, навіть для останніх NVMe RAID.
- Планування: ServerlessLLM скорочує затримку алокації у 4-12 разів порівняно з випадковим плануванням, підкреслюючи вигоди локальності. Жива міграція запобігає затримкам черги.
- Кінцева інференція: Для великих моделей, таких як OPT-30B, ServerlessLLM покращує 99-ту процентиль затримки у 28-200 разів порівняно з системами, такими як KServe та Ray Serve. Він також підвищує ефективність ресурсів.
Ці суттєві вигоди демонструють здатність ServerlessLLM подолати перешкоди в існуючих серверних реалізаціях та розблокувати потенціал LLM для інтерактивних сервісів.
Оптимізації, введені в ServerlessLLM, такі як багаторівнева завантаження, жива міграція та планування, орієнтоване на затримку, можуть допомогти сформувати дизайн майбутніх серверних архітектур. Спроможність системи скоротити час завантаження та запуску розблокує масштабоване розгортання великих мовних моделей для практичних додатків.
Огляд: Тривалі виклики
Хоча це і суттєвий крок вперед, ServerlessLLM представляє лише перший крок у оптимізації серверної інференції для масивних LLM. Багато відкритих проблем залишаються, включаючи:
- Прогнозування реального попиту на моделі для керівництва розгортанням та попереднім завантаженням
- Розумне розміщення контрольних точок на серверах для максимізації влучень у кеш
- Ефективне масштабування алгоритмів планування для обробки більших кластерів
- Забезпечення справедливості розподілу ресурсів між моделями та розробниками
- Гeneralізація інновацій, таких як жива міграція, до інших серверних навантажень
Вирішення цих питань може допомогти побудувати на обіцянках серверних LLM та зробити їх можливості ще більш доступними. Окрім системних оптимізацій, скорочення великого вуглецевого сліду та потенційних шкідливих впливів великих моделей залишається терміновою проблемою.
ServerlessLLM демонструє, що великий простір для інновацій існує у наступних серверних архітектурах для навантажень штучного інтелекту. Коли LLM продовжують зростати в розмірі та популярності, рішення, такі як ServerlessLLM, які розблокують їх масштабованість, будуть ще більш впливовими. Збіжність системних та машинних досліджень може привести до нових парадигм у обслуговуванні, спільному використанні та масштабуванні моделей штучного інтелекту безпечно та сталий.













