Штучний інтелект
Майбутнє безсерверної інференції для великих мовних моделей

Останні досягнення у сфері великих мовних моделей (LLM) типу GPT-4, PaLM призвели до трансформаційних можливостей у задачах обробки природної мови. LLM використовуються у різних додатках, таких як чат-боти, пошукові системи та програмні помічники. Однак розгортання LLM у великому масштабі залишається складним завданням через їх значні вимоги до GPU та пам’яті.
Підходи до подолання цих труднощів загалом поділяються на дві основні категорії:
- Техніки стиснення моделей
Ці техніки спрямовані на зменшення розміру моделі при збереженні точності. Поширені підходи включають:
- Прунінг – Видалення зайвих або менш важливих параметрів з моделі. Це створює розріджену модель з меншою кількістю параметрів.
- Квантизація – Використання чисел нижчої точності, таких як int8 або bfloat16, для представлення ваг замість fp32 або fp16. Це зменшує пам’ятний слід.
- Дистиляція знань – Навчання меншої “студентської” моделі імітувати велику “вчительську” модель. Потім менша модель використовується для інференції.
- Селективна виконавча дія
Замість стиснених моделей ці техніки селективно виконують лише частини моделі для кожної інференції:
- Розріджені активації – Пропуск обчислень для нульових активацій.
- Умовне обчислення – Виконання лише певних шарів, залежно від входу.
На додаток до архітектури програмного забезпечення; для забезпечення швидшого розгортання LLM дослідники запропонували безсерверні системи інференції. У безсерверних архітектурах LLM розміщуються на спільних кластерах GPU та динамічно виділяються на основі попиту. Це дозволяє ефективно використовувати GPU та зменшує витрати для розробників. Видатні реалізації включають Amazon SageMaker, Microsoft Azure ML та відкриті варіанти, такі як KServe.
Незважаючи на перспективи безсерверних LLM, існуючі системи демонструють високі затримки, які погіршують досвід користувача в інтерактивних додатках:
- Витратний завантаження контрольних точок: LLM мають великий пам’ятний слід, часто гігабайти чи терабайти. Завантаження контрольних точок з віддаленого сховища займає багато часу, понад 20 секунд, навіть з оптимізованими мережами.
- Н-ефективне завантаження контрольних точок: Навіть з локальним сховищем SSD завантаження контрольних точок у пам’ять GPU займає десятки секунд через фактори, такі як десеріалізація тензорів та виділення. Це додає значні затримки понад час запуску контейнера.
Для вирішення цих питань дослідники в MIT CSAIL запропонували ServerlessLLM, інноваційну систему, яка досягає низькозатримкової безсерверної інференції для LLM. ServerlessLLM підвищує локальність, використовуючи надлишковану, але недооцінену ємність та пропускну здатність у багаторівневому сховищі серверів для розгортання LLM.
Ключові інновації в ServerlessLLM ServerlessLLM включає кілька нових конструкцій для скорочення часу завантаження LLM у безсерверному середовищі:
- Швидке завантаження контрольних точок
- Формат контрольної точки, оптимізований для завантаження, який дозволяє швидке послідовне читання та ефективну адресацію тензорів в пам’яті.
- Багаторівнева трубопровід завантаження контрольних точок, яка максимізує використання пропускної здатності через мережу, SSD, ОЗП та пам’ять 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. Багато відкритих проблем залишається, включаючи:
- Прогнозування реального попиту на моделі для керівництва виділенням та попереднім завантаженням
- Розумне розміщення контрольних точок по серверах для максимізації влучень у кеш
- Ефективне масштабування алгоритмів планування для обробки більших кластерів
- Забезпечення справедливості розподілу ресурсів серед моделей та розробників
- Генералізація інновацій, таких як живу міграцію, для інших безсерверних робочих навантажень
Вирішення цих питань може допомогти побудувати на обіцянках безсерверних LLM та зробити їх можливості ще більш доступними. Поза системними оптимізаціями скорочення надмірного вуглецевого сліду та потенційних шкідливих впливів великих моделей залишається терміновою пріоритетністю.
ServerlessLLM демонструє, що величезний потенціал інновацій існує у наступних безсерверних архітектурах для робочих навантажень штучного інтелекту. Коли LLM продовжують зростати у розмірі та популярності, рішення, такі як ServerlessLLM, які розблокують їх масштабованість, будуть ще більш суттєвими. Збіжність системних та машинних досліджень може привести до нових парадигм у службах, спільному використанні та масштабуванні моделей штучного інтелекту безпечно та стійко.











