Манцій є глобальним постачальником хмарної платформи для створення додатків AI та управління ними в масштабі. Платформа наскрізної розробки Mantium дозволяє підприємствам і підприємствам будь-якого розміру створювати додатки AI та автоматизацію швидше та простіше, ніж це було традиційно можливо. Завдяки Mantium технічні та нетехнічні команди можуть прототипувати, розробляти, тестувати та розгортати додатки AI, і все це за допомогою підходу з низьким рівнем коду. Завдяки функції автоматичного ведення журналу, моніторингу та безпеки Mantium також звільняє програмне забезпечення та інженерів DevOps від витрачання часу на винайдення велосипеда. На високому рівні Mantium забезпечує:
- Найсучасніший ШІ – Експериментуйте та розробляйте з широким вибором відкритих і приватних великих мовних моделей із простим інтерфейсом користувача або API.
- Автоматизація процесів AI – Легко створюйте програми на основі штучного інтелекту за допомогою зростаючої бібліотеки інтеграцій та графічного AI Builder від Mantium.
- Швидке розгортання – Скоротіть термін виробництва з місяців до тижнів або навіть днів за допомогою розгортання в один клік. Ця функція перетворює програми штучного інтелекту в веб-програми для спільного використання одним клацанням миші.
- Безпека та регулювання – Забезпечити безпеку та відповідність політиці управління та підтримку процесів, пов’язаних із роботою людини.
За допомогою Mantium AI Builder ви можете розробляти складні робочі процеси, які інтегрують зовнішні API, логічні операції та моделі AI. На наступному знімку екрана показано приклад програми Mantium AI, яка об’єднує вхідні дані Twilio, політику управління, блок штучного інтелекту (який може покладатися на модель з відкритим кодом, як-от GPT-J) і вихід Twilio.
Щоб підтримувати цю програму, Mantium надає повний і уніфікований доступ не лише до API моделей від постачальників штучного інтелекту, таких як Open AI, Co:here та AI21, а й до найсучасніших моделей з відкритим кодом. У Mantium ми віримо, що кожен повинен мати можливість створювати сучасні програми штучного інтелекту, якими він володіє, наскрізь, і ми підтримуємо це, надаючи доступ без коду та з низьким кодом до оптимізованих за продуктивністю моделей з відкритим вихідним кодом.
Наприклад, одна з основних моделей Mantium з відкритим кодом GPT-J, найсучасніша модель обробки природної мови (NLP), розроблена компанією ЕлеутерAI. З 6 мільярдами параметрів GPT-J є однією з найбільших і найефективніших моделей генерації тексту з відкритим вихідним кодом. Користувачі Mantium можуть інтегрувати GPT-J у свої програми AI за допомогою Mantium AI Builder. У випадку GPT-J це передбачає вказівку a підказка (подання природною мовою того, що повинна робити модель) і налаштування деяких необов'язкових параметрів.
Наприклад, на наступному знімку екрана показано скорочену демонстрацію підказки аналізу настроїв, яка дає пояснення та прогнози настроїв. У цьому прикладі автор написав, що «їжа була чудовою», а їхнє «обслуговування було надзвичайним». Тому цей текст висловлює позитивні настрої.
Однак одна проблема з моделями з відкритим кодом полягає в тому, що вони рідко призначені для продуктивності виробничого рівня. У випадку великих моделей, таких як GPT-J, це може зробити розгортання виробництва непрактичним і навіть нездійсненним, залежно від варіанту використання.
Щоб гарантувати нашим користувачам доступ до найкращої в своєму класі продуктивності, ми завжди шукаємо способи зменшити затримку наших основних моделей. У цій публікації ми описуємо результати експерименту з оптимізації висновку, в якому ми використовуємо механізм висновку DeepSpeed, щоб збільшити швидкість висновку GPT-J приблизно на 116%. Ми також описуємо, як ми розгорнули реалізацію GPT-J Hugging Face Transformers із DeepSpeed у нашому Amazon SageMaker кінцеві точки висновку.
Огляд моделі GPT-J
GPT-J — це генеративна попередня підготовка (GPT) мовна модель, і за своєю архітектурою вона порівнянна з популярними, приватними, великими мовними моделями, такими як GPT-3 Open AI. Як зазначалося раніше, він складається приблизно з 6 мільярдів параметрів і 28 шарів, які складаються з блоку прямої зв'язку та блоку самоуваги. Коли він був вперше випущений, GPT-J був однією з перших великих мовних моделей, які використовувалися поворотні вкладення, нова стратегія кодування позиції, яка об’єднує абсолютні та відносні кодери позицій. Він також використовує інноваційну стратегію паралелізації, коли щільні шари та шари з прямим зв’язком об’єднуються в один шар, що мінімізує витрати на зв’язок.
Хоча GPT-J може не вважатися таким великим за сучасними стандартами — великі моделі зазвичай складаються з понад 100 мільярдів параметрів — він все ще вражаюче продуктивний, і за допомогою швидкого розробки або мінімального тонкого налаштування ви можете використовувати його для вирішення багатьох проблем. Крім того, його відносно скромний розмір означає, що ви можете розгорнути його швидше і за набагато нижчою ціною, ніж більші моделі.
Тим не менш, GPT-J все ще досить великий. Наприклад, для навчання GPT-J у FP32 з повними оновленнями ваги та оптимізатором Адама потрібно понад 200 ГБ пам’яті: 24 ГБ для параметрів моделі, 24 ГБ для градієнтів, 24 ГБ для квадратів градієнтів Адама, 24 ГБ для станів оптимізатора, і додаткові вимоги до пам'яті для завантаження навчальних пакетів і зберігання активацій. Звичайно, навчання в FP16 зменшує ці вимоги до пам’яті майже вдвічі, але обсяг пам’яті понад 100 ГБ все ще потребує інноваційних стратегій навчання. Наприклад, у співпраці з SageMaker команда НЛП Mantium розробила a робочий для навчання (тонкого налаштування) GPT-J за допомогою паралельної бібліотеки розподіленої моделі SageMaker.
Навпаки, обслуговування GPT-J для висновку має набагато нижчі вимоги до пам’яті — у FP16 вага моделі займає менше 13 ГБ, що означає, що висновки можна легко зробити на одному GPU ємністю 16 ГБ. Однак висновки із готовими реалізаціями GPT-J, такими як трансформери Hugging Face реалізація який ми використовуємо, відносно повільний. Щоб підтримувати випадки використання, які вимагають високої швидкості генерації тексту, ми зосередилися на зменшенні затримки висновку GPT-J.
Проблеми затримки відповіді GPT-J
Затримка відповіді є основною перешкодою для генеративних попередньо підготовлених трансформаторів (GPT), таких як GPT-J, які забезпечують сучасне генерування тексту. Моделі GPT генерують текст за допомогою послідовностей кроків висновку. На кожному кроці висновку моделі надається текст як вхідні дані, і, за умови цього введення, вона вибирає слово зі свого словника для додавання до тексту. Наприклад, враховуючи послідовність лексем «Мені потрібна парасолька, тому що це», з високою ймовірністю наступним маркером може бути «дощ». Однак він також може бути «сонячним» або «пов’язаним», що може бути першим кроком до текстової послідовності на кшталт «Мені потрібна парасолька, тому що неодмінно почнеться дощ».
Такі сценарії викликають цікаві проблеми для розгортання моделей GPT, оскільки реальні випадки використання можуть включати десятки, сотні або навіть тисячі кроків висновку. Наприклад, для створення відповіді з 1,000 маркерів потрібно 1,000 кроків висновку! Відповідно, хоча модель може запропонувати швидкість висновку, яка здається досить швидкою ізольовано, затримка легко досягає невиправданого рівня, коли створюється довгий текст. Ми спостерігали середню затримку в 280 мілісекунд на крок висновку на GPU V100. Це може здатися швидким для моделі з 6.7 мільярдами параметрів, але з такими затримками для створення відповіді з 30 маркерами потрібно приблизно 500 секунд, що не є ідеальним з точки зору взаємодії з користувачем.
Оптимізація швидкості висновку за допомогою DeepSpeed Inference
DeepSpeed — бібліотека оптимізації глибокого навчання з відкритим кодом, розроблена Microsoft. Незважаючи на те, що в основному він зосереджений на оптимізації навчання великих моделей, DeepSpeed також надає структуру оптимізації висновку, яка підтримує певний набір моделей, включаючи BERT, Megatron, GPT-Neo, GPT2 і GPT-J. DeepSpeed Inference сприяє високопродуктивному висновку з великими архітектурами на основі Transformer завдяки комбінації паралельності моделі, оптимізованих для висновку ядер CUDA і квантування.
Щоб підвищити швидкість висновку за допомогою GPT-J, ми використовуємо механізм висновку DeepSpeed для введення оптимізованих ядер CUDA в реалізацію Hugging Face Transformers GPT-J.
Щоб оцінити переваги швидкості роботи механізму виведення DeepSpeed, ми провели серію тестів затримки, під час яких ми визначали час GPT-J у різних конфігураціях. Зокрема, ми змінювали, чи використовувався DeepSpeed, апаратне забезпечення, довжину вихідної послідовності та довжину вхідної послідовності. Ми зосередилися на довжині вихідної та вхідної послідовності, оскільки обидва вони впливають на швидкість висновку. Щоб створити вихідну послідовність з 50 маркерів, модель повинна виконати 50 кроків висновку. Крім того, час, необхідний для виконання кроку висновку, залежить від розміру вхідної послідовності — більші вхідні дані потребують більше часу обробки. Хоча вплив розміру вихідної послідовності набагато більший, ніж ефект розміру вхідної послідовності, все одно необхідно враховувати обидва фактори.
У нашому експерименті ми використовували наступний дизайн:
- Механізм висновку DeepSpeed - Увімкнено вимкнено
- апаратні засоби – T4 (ml.g4dn.2xlarge), V100 (ml.p3.2xlarge)
- Довжина вхідної послідовності - 50, 200, 500, 1000
- Довжина вихідної послідовності - 50, 100, 150, 200
Загалом цей дизайн містить 64 комбінації цих чотирьох факторів, і для кожної комбінації ми провели 20 тестів затримки. Кожен тест проводився на попередньо ініціалізованій кінцевій точці висновку SageMaker, що гарантує, що наші тести затримки відображають час виробництва, включаючи обмін API та попередню обробку.
Наші тести демонструють, що механізм виведення GPT-J DeepSpeed значно швидше, ніж базова реалізація Hugging Face Transformers PyTorch. Наступний малюнок ілюструє середні затримки генерації тексту для GPT-J із прискоренням DeepSpeed та без нього на кінцевих точках висновку ml.g4dn.2xlarge та ml.p3.2xlarge SageMaker.
На екземплярі ml.g4dn.2xlarge, який оснащений графічним процесором NVIDIA T16 ємністю 4 ГБ, ми спостерігали зниження середньої затримки приблизно на 24% [стандартне відхилення (SD) = 0.05]. Це відповідало зростанню із середнього значення 12.5 (SD = 0.91) маркерів в секунду до середнього 16.5 (SD = 2.13) маркерів в секунду. Примітно, що ефект прискорення DeepSpeed був ще сильнішим на екземплярі ml.p3.2xlarge, який оснащений графічним процесором NVIDIA V100. На цьому обладнанні ми спостерігали зменшення середньої затримки на 53% (SD = .07). З точки зору кількості токенів в секунду, це відповідало зростанню зі середнього значення 21.9 (SD = 1.97) маркерів в секунду до середнього 47.5 (SD = 5.8) маркерів в секунду.
Ми також помітили, що прискорення, запропоноване DeepSpeed, дещо ослабло на обох апаратних конфігураціях із збільшенням розміру вхідних послідовностей. Однак за будь-яких умов висновок за допомогою оптимізації DeepSpeed GPT-J все ще був значно швидшим, ніж базовий. Наприклад, для екземпляра g4dn максимальне та мінімальне скорочення затримки становило 31% (розмір вхідної послідовності = 50) і 15% (розмір вхідної послідовності = 1000) відповідно. А для екземпляра p3 максимальне та мінімальне скорочення затримки становило 62% (розмір вхідної послідовності = 50) і 40% (розмір вхідної послідовності = 1000) відповідно.
Розгортання GPT-J з DeepSpeed на кінцевій точці висновку SageMaker
На додаток до різкого збільшення швидкості генерації тексту для GPT-J, механізм висновку DeepSpeed легко інтегрувати в кінцеву точку висновку SageMaker. Перш ніж додати DeepSpeed до нашого стеку висновків, наші кінцеві точки працювали на спеціальному образі Docker, заснованому на офіційному зображенні PyTorch. SageMaker спрощує розгортання користувацьких кінцевих точок висновку, а інтеграція DeepSpeed була такою ж простою, як включення залежності та написання кількох рядків коду. Посібник із відкритим вихідним кодом щодо робочого процесу розгортання для розгортання GPT-J із DeepSpeed доступний на GitHub.
Висновок
Mantium присвячений провідним інноваціям, щоб кожен міг швидко будувати за допомогою AI. Від автоматизації процесів на основі штучного інтелекту до жорстких налаштувань безпеки та відповідності, наша повна платформа надає всі інструменти, необхідні для розробки та керування надійними, відповідальними додатками AI в масштабі та знижує бар’єр для входу. SageMaker допомагає таким компаніям, як Mantium, швидко вийти на ринок.
Щоб дізнатися, як Mantium може допомогти вам створити складні робочі процеси на основі штучного інтелекту для вашої організації, відвідайте сторінку www.mantiumai.com.
Про авторів
Джо Гувер є старшим вченим-прикладником у команді досліджень і розробок AI Mantium. Він захоплений розробкою моделей, методів та інфраструктури, які допомагають людям вирішувати реальні проблеми за допомогою передових систем НЛП. У вільний час він любить кататися на рюкзаках, займатися садівництвом, готувати їжу та проводити час із сім’єю.
Дхавал Патель є головним архітектором машинного навчання в AWS. Він працював з організаціями, починаючи від великих підприємств і закінчуючи стартапами середнього розміру, над проблемами, пов’язаними з розподіленими обчисленнями та штучним інтелектом. Він зосереджується на глибокому навчанні, включаючи домени НЛП та комп’ютерного зору. Він допомагає клієнтам досягти високопродуктивної моделі висновку на SageMaker.
Суніл Падманабхан є архітектором рішень для запуску в AWS. Як колишній засновник стартапу і технічний директор, він захоплений машинним навчанням і зосереджується на тому, щоб допомогти стартапам використовувати AI/ML для своїх бізнес-результатів, а також розробляти та розгортати рішення ML/AI в масштабі.
- Coinsmart. Найкраща в Європі біржа біткойн та криптовалют.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. БЕЗКОШТОВНИЙ ДОСТУП.
- CryptoHawk. Альткойн Радар. Безкоштовне випробування.
- Джерело: https://aws.amazon.com/blogs/machine-learning/how-mantium-achieves-low-latency-gpt-j-inference-with-deepspeed-on-amazon-sagemaker/
- "
- 000
- 100
- 28
- 7
- 9
- a
- МЕНЮ
- абсолют
- доступ
- відповідно
- рахунки
- Achieve
- через
- доповнення
- Додатковий
- впливати
- AI
- ВСІ
- хоча
- завжди
- Amazon
- аналіз
- будь
- API
- Інтерфейси
- додаток
- застосування
- прикладної
- підхід
- приблизно
- додатка
- архітектура
- штучний
- штучний інтелект
- автоматичний
- Автоматизація
- доступний
- середній
- AWS
- бар'єр
- Базова лінія
- оскільки
- перед тим
- Переваги
- Мільярд
- Блокувати
- будувати
- будівельник
- Створюємо
- бізнес
- підприємства
- випадків
- виклик
- проблеми
- хмара
- Хмарна платформа
- код
- співробітництво
- поєднання
- комбінації
- комбінований
- Комунікація
- Компанії
- повний
- комплекс
- дотримання
- всеосяжний
- комп'ютер
- обчислення
- Умови
- Core
- може
- CTO
- виготовлений на замовлення
- Клієнти
- передовий
- присвячених
- глибокий
- постачає
- демонструвати
- Залежно
- залежить
- розгортання
- розгорнути
- розгортання
- розгортання
- описувати
- дизайн
- призначений
- розвивати
- розвиненою
- розвивається
- розробка
- розподілений
- розподілені обчислення
- Docker
- домени
- різко
- легко
- ефект
- працює
- дозволяє
- кінець в кінець
- Кінцева точка
- двигун
- Машинобудування
- Інженери
- забезпечення
- підприємств
- обладнаний
- оцінювати
- все
- приклад
- Біржі
- досвід
- експеримент
- обширний
- надзвичайний
- Face
- фактори
- сім'я
- ШВИДКО
- швидше
- особливість
- риси
- Рисунок
- Перший
- увагу
- фокусується
- після
- Слід
- засновник
- Рамки
- від
- Повний
- Крім того
- породжувати
- породжує
- покоління
- генеративний
- Глобальний
- управління
- GPU
- Зростання
- керівництво
- апаратні засоби
- допомога
- допомогу
- допомагає
- тут
- Високий
- дуже
- Як
- Однак
- HTTPS
- Сотні
- ідеальний
- зображення
- реалізація
- У тому числі
- Augmenter
- зростаючий
- інновація
- інноваційний
- вхід
- екземпляр
- інтегрувати
- інтеграцій
- Інтелект
- ізоляція
- IT
- мова
- великий
- більше
- найбільших
- шар
- провідний
- УЧИТЬСЯ
- вивчення
- рівень
- рівні
- Важіль
- бібліотека
- ліній
- погрузка
- Довго
- шукати
- машина
- навчання за допомогою машини
- зробити
- РОБОТИ
- управляти
- управління
- ринок
- засоби
- пам'ять
- методика
- Microsoft
- може бути
- мінімальний
- ML
- модель
- Моделі
- моніторинг
- місяців
- більше
- Природний
- необхідно
- Nvidia
- перешкода
- пропонувати
- запропонований
- офіційний
- відкрити
- з відкритим вихідним кодом
- операції
- оптимізація
- оптимізований
- оптимізуючий
- організація
- організації
- власний
- пристрасний
- Люди
- продуктивність
- перспектива
- платформа
- Політика
- політика
- популярний
- положення
- позитивний
- це можливо
- влада
- Прогнози
- досить
- Головний
- приватний
- проблеми
- процес
- Автоматизація процесів
- процеси
- обробка
- Production
- Постачальник
- провайдери
- забезпечує
- забезпечення
- кваліфікувати
- швидко
- R & D
- підвищення
- ранжування
- досягати
- зниження
- відображати
- випущений
- Релізи
- подання
- вимагати
- вимагається
- Вимога
- Вимагається
- відповідь
- відповідальний
- результати
- прогін
- біг
- Безпека
- Зазначений
- шкала
- вчений
- seconds
- вибір
- настрій
- Серія
- виступаючої
- комплект
- простий
- один
- Розмір
- So
- Софтвер
- Рішення
- ВИРІШИТИ
- деякі
- складний
- конкретно
- швидкість
- швидкість
- Витрати
- стек
- standard
- старт
- введення в експлуатацію
- Стартапи
- впроваджений
- Штати
- Як і раніше
- стратегії
- Стратегія
- більш сильний
- підтримка
- Опори
- Systems
- команда
- технічний
- terms
- тест
- Тести
- Команда
- отже
- тисячі
- через
- час
- times
- сьогоднішній
- разом
- знак
- Жетони
- інструменти
- традиційно
- Навчання
- типово
- ui
- при
- Updates
- використання
- користувачі
- різний
- бачення
- способи
- Web
- Що
- Колесо
- Чи
- без
- працював
- Робочі процеси
- лист
- вашу