Сьогодні ми оголошуємо про публічний доступ до найсучаснішого продукту Amazon Модель вчителя Alexa з 20 мільярдами параметрів (AlexaTM 20B) через Amazon SageMaker JumpStart, центр машинного навчання SageMaker. AlexaTM 20B — це багатомовна широкомасштабна мовна модель послідовності до послідовності (seq2seq), розроблена Amazon. Ви можете використовувати AlexaTM 20B для широкого діапазону галузевих випадків використання, від узагальнення фінансових звітів до відповідей на запитання для чат-ботів служби підтримки клієнтів. Його можна застосувати, навіть якщо є лише кілька доступних навчальних прикладів або навіть немає жодного. AlexaTM 20B перевершує 175 мільярдів Модель ГПТ-3 на нульових навчальних завданнях, таких як SuperGLUE, і демонструє сучасну продуктивність для багатомовних нульових завдань, таких як XNLI.
У цій публікації ми надаємо огляд того, як програмно розгортати та запускати логічний висновок за допомогою моделі AlexaTM 20B за допомогою API JumpStart, доступних у SageMaker Python SDK. Ми показуємо, як ви можете використовувати цю модель для перекладу між кількома мовами, підсумовувати довгий текст, відповідати на запитання на основі заданого контексту та генерувати текст, який неможливо відрізнити від тексту, написаного людиною.
AlexaTM 20B і навчання в контексті
Програма Alexa Teacher Model (AlexaTM) від Amazon Alexa AI розроблена для створення великомасштабних багатомовних моделей глибокого навчання (переважно на основі Transformer), спрямованих на покращення узагальнення та обробки дефіциту даних для подальших завдань. Завдяки широкомасштабному попередньому навчанню моделі вчителів можуть добре узагальнюватися, щоб вивчати нові завдання з розріджених даних і допомагати розробникам підвищити ефективність виконання подальших завдань. Показав AlexaTM 20B конкурентоспроможність на тестах і завданнях загальної обробки природної мови (NLP), таких як машинний переклад, генерація даних і узагальнення.
Використання базових моделей, таких як AlexaTM 20B, зменшує потребу в дорогому попередньому навчанні моделі та забезпечує найсучаснішу відправну точку для розробки моделей завдань з меншими зусиллями та меншою кількістю навчальних даних для конкретних завдань. Одна з ключових можливостей базових моделей полягає в тому, що ми можемо навчити модель виконувати нові завдання, такі як запитання та відповіді різними мовами, з дуже невеликою кількістю вхідних прикладів і без необхідності тонкого налаштування чи оновлення градієнта. Це відомо як навчання в контексті. З лише кількома прикладами нового завдання, наданими як контекст для висновку, модель AlexaTM 20B може передавати знання з того, що було вивчено під час широкомасштабного попереднього навчання, навіть різними мовами. Це називається невелике навчання. У деяких випадках модель може працювати добре без будь-яких навчальних даних взагалі, лише з поясненням того, що слід передбачити. Це називається нульове навчання. Наприклад, скажімо, ми використовуємо AlexaTM 20B для одноразової генерації природної мови. Вхідні дані, передані в модель, є навчальним прикладом у формі пар атрибут-значення разом із відповідним вихідним текстом. Потім тестовий приклад додається, щоб сформувати повну підказку введення, як показано на малюнку нижче.
Щоб дізнатися більше про модель, перегляньте Модель Alexa з параметрами 20B встановлює нові позначки у швидкому навчанні або оригінал папір.
Використання AlexaTM 20B доступне для некомерційного використання та регулюється положеннями Модель ліцензійної угоди Alexa Teacher.
Огляд рішення
У наступних розділах наведено покрокову демонстрацію того, як розгорнути модель, виконати висновок і виконати навчання в контексті, щоб розв’язувати короткострокові навчальні завдання.
Зауважте, що наступний розділ містить фрагменти коду; повний код із усіма кроками в цій демонстрації доступний у супровідному блокноті: Навчання в контексті за допомогою AlexaTM 20B у SageMaker JumpStart.
Розгортання моделі
Щоб використовувати велику мовну модель у SageMaker, вам потрібен специфічний для моделі сценарій висновку, який включає такі кроки, як завантаження моделі, розпаралелювання тощо. Вам також потрібно створити наскрізні тести для сценаріїв, моделі та бажаних типів екземплярів, щоб підтвердити, що всі три можуть працювати разом. JumpStart усуває ці зусилля, надаючи готові до використання сценарії, які були ретельно перевірені.
SageMaker дає вам можливість широко запускати контейнери Docker для навчання та висновків. JumpStart використовує ці доступні фреймворки Контейнери глибокого навчання SageMaker (DLC). Ми починаємо з отримання оптимізованого DLC (deploy_image_uri
) за допомогою model_id
. Тоді ми дістаємо model_uri
містить параметри моделі разом зі сценаріями обробки висновків і будь-якими пов’язаними залежностями. Далі ми створюємо a екземпляр моделі у SageMaker і розгорніть його на кінцевій точці реального часу. Перегляньте наступний код:
Для розгортання AlexaTM 20B потрібен екземпляр із підтримкою графічного процесора з принаймні 50 ГБ пам’яті центрального процесора та принаймні 42 ГБ пам’яті графічного процесора. SageMaker надає багато таких екземплярів, які підтримують висновок у реальному часі. Ми протестували це рішення на трьох екземплярах: ml.g4dn.12xlarge, ml.p3.8xlarge, ml.p3.16xlarge. Перегляньте наступний код:
Далі ми розгортаємо модель у кінцевій точці реального часу SageMaker:
AlexaTM 20B вимагає 40 ГБ дискового простору в контейнері висновків. Примірник ml.g4dn.12xlarge відповідає цій вимозі. Наприклад, типи ml.p3.8xlarge і ml.p3.16xlarge, ми додаємо Магазин еластичних блоків Amazon (Amazon EBS) для обробки великого розміру моделі. Тому встановлюємо volume_size = None
при розгортанні на ml.g4dn.12xlarge і volume_size=256
при розгортанні на ml.p3.8xlarge або ml.p3.16xlarge.
Розгортання моделі може зайняти до 10 хвилин. Після розгортання моделі ми можемо отримувати прогнози з неї в режимі реального часу!
Виконайте висновок
AlexaTM 20B — це модель генерації тексту, яка за певної часткової послідовності (речення чи фрагмент тексту) генерує наступний набір слів. Наведений нижче фрагмент коду дає вам уявлення про те, як запитувати кінцеву точку, яку ми розгорнули, і аналізувати результати для завдання автозавершення. Для надсилання запитів до розгорнутої моделі ми використовуємо словник JSON, закодований у форматі UTF-8. Відповідь кінцевої точки – це об’єкт JSON, що містить список згенерованих текстів.
Далі ми надсилаємо запит кінцевій точці та аналізуємо відповідь на зразку вхідного тексту:
AlexaTM 20B наразі підтримує 10 параметрів генерації тексту під час виведення: max_length
, num_return_sequences
, num_beams
, no_repeat_ngram_size
, temperature
, early_stopping
, do_sample
, top_k
, top_p
та seed
. Щоб отримати докладну інформацію про дійсні значення для кожного параметра та їх вплив на результат, перегляньте блокнот, що додається: Навчання в контексті за допомогою AlexaTM 20B у SageMaker JumpStart.
Навчання в контексті
Навчання в контексті стосується наступного: ми надаємо мовній моделі підказку, яка складається з навчальних пар введення-виведення, які демонструють завдання. Ми додаємо тестовий вхід до підказки та дозволяємо мовній моделі робити прогнози, обумовлюючи підказку та передбачаючи наступні лексеми чи слова. Це високоефективна техніка для розв’язування кількох завдань навчання удару, у якій ми вивчаємо завдання з кількох навчальних зразків.
Далі ми покажемо, як ви можете використовувати AlexaTM 20B для кількох одноразових і нульових завдань за допомогою навчання в контексті. На відміну від попередніх моделей послідовності до послідовності, AlexaTM 1B навчено моделюванню причинно-наслідкової мови на додаток до усунення шумів, що робить її хорошою моделлю для навчання в контексті.
Резюмування тексту 1 кадр
Резюмування тексту — це завдання скорочення даних і створення резюме, яке представляє найважливішу інформацію, наявну в оригінальному тексті. Резюмування тексту за одним кадром відноситься до налаштування, коли ми вчимося резюмувати текст на основі одного навчального зразка. Наведений нижче код є прикладом узагальнення тексту з Набір даних XSUM:
Ми використовуємо наступну підказку для підсумовування, якщо надано лише один навчальний зразок. Згенерований з моделі текст інтерпретується як прогнозоване резюме тестової статті.
Вихід такий:
Генерація природної мови за один раз
Генерація природної мови — це завдання створення текстових наративів на основі вхідного тексту. Наступний зразок показує навчальний зразок із Набір даних E2E:
Ми використовуємо наступну підказку для створення природної мови, коли надається лише один навчальний зразок (1-знімок). Згенерований текст з моделі інтерпретується як передбачуваний текстовий наратив для тестового введення (test_inp
).
Вихід такий:
1-кадровий машинний переклад
Машинний переклад — це завдання перекладу тексту з однієї мови на іншу. У наступному прикладі показано навчальний зразок із Набір даних WMT19 в якому нам потрібно перекласти з німецької на англійську:
Ми використовуємо наступну підказку для машинного перекладу, коли надається лише один навчальний зразок (1-кадр). Згенерований текст з моделі інтерпретується як переклад тестового введення (test_inp
).
Вихід такий:
Відповідь на питання з нульовим витягом
Відповідь на витягне запитання — це завдання знайти відповідь на запитання з контекстного абзацу. Нижче наведено приклад контексту та запитання з Набір даних SQuAD v2:
Зауважте, що у нас немає навчальних зразків для нашого завдання. Натомість ми створюємо фіктивне запитання щодо останнього слова підказки на основі test_context
(муляжний постріл). Таким чином, ми фактично робимо нульову витягнуту відповідь на питання.
Ми використовуємо наведену нижче підказку для витягувальних відповідей на запитання, якщо навчальний зразок не надано. Згенерований текст моделі інтерпретується як відповідь на тестове запитання.
Вихід такий:
Оперативна інженерія
Швидке проектування іноді може бути мистецтвом. Навіть невеликі зміни в шаблоні підказки можуть призвести до значних змін у продуктивності моделі для конкретного завдання. Нижче наведено кілька порад щодо написання хороших шаблонів підказок. По-перше, важливо пам’ятати, що модель була навчена вивчати структуру реальних речень (моделювання причинно-наслідкової мови). Таким чином, найкраще переконатися, що ваш шаблон підказки граматично та структурно правильний природною мовою. По-друге, ця конкретна модель отримує користь від фіктивних знімків, які допомагають навчити її структурі, очікуваній у відповіді, як показано вище. По-третє, завжди рекомендується перевіряти продуктивність завдання за різними шаблонами підказок-кандидатів. Promptsource та Природні інструкції це два фреймворки з відкритим кодом для стандартизації шаблонів підказок, які надають різноманітні приклади підказок, які використовуються для існуючих завдань моделювання. Крім того, Додаток Б ст Папір AlexaTM 20B надає шаблони підказок, які використовуються для створення результатів, представлених у статті. Зростає підполе, призначене для автоматичного створення та вивчення найкращих підказок для завдання, включаючи як природну мову, так і безперервні підказки. Це виходить за рамки цього посібника.
Висновок
У цій публікації ми показали, як розгорнути модель AlexaTM 20B на кінцевій точці SageMaker і виконати висновок. Ви можете використовувати модель AlexaTM 20B для навчання в контексті для різноманітних невеликих навчальних завдань. Щоб дізнатися більше про AlexaTM 20B, див Модель Alexa з параметрами 20B встановлює нові позначки у швидкому навчанні або оригінал папір.
Автори хотіли б відзначити технічний внесок Мацея Рудніцького, Якуба Дебскі, Ашіша Хетана, Анастасії Дубініної, Віталія Корольова, Карла Альбертсена, Салеха Солтана та Маріуша Момотка, які зробили цей запуск можливим.
Про JumpStart
JumpStart — це центр машинного навчання (ML) Amazon SageMaker, який пропонує понад 350 попередньо підготовлених моделей, вбудованих алгоритмів і готових шаблонів рішень, які допоможуть вам швидко розпочати роботу з ML. JumpStart містить найсучасніші моделі з популярних центрів моделей, таких як TensorFlow, PyTorch, Hugging Face і MXNet, які підтримують такі популярні завдання ML, як виявлення об’єктів, класифікація тексту та генерація тексту. Дослідницьке співтовариство ML доклало багато зусиль, щоб зробити більшість нещодавно розроблених моделей загальнодоступними для використання. JumpStart має на меті допомогти вам знайти правильні моделі й алгоритми машинного навчання та негайно розпочати створення моделей. Зокрема, JumpStart надає такі переваги:
- Легкий доступ за допомогою інтерфейсу користувача та SDK – ви можете отримати доступ до моделей і алгоритмів у JumpStart програмним шляхом за допомогою SageMaker Python SDK або через інтерфейс користувача JumpStart в Amazon SageMaker Studio. Наразі AlexaTM 20B доступна лише через SageMaker Python SDK.
- Вбудовані алгоритми SageMaker – JumpStart надає понад 350 вбудованих алгоритмів і попередньо навчених моделей, а також відповідні навчальні сценарії (якщо підтримуються), сценарії висновків і приклади блокнотів. Сценарії оптимізовано для кожного фреймворку та завдання та забезпечують такі функції, як підтримка GPU, автоматичне налаштування моделі та поступове навчання. Сценарії також перевіряються на екземпляри та функції SageMaker, щоб ви не зіткнулися з проблемами сумісності.
- Готові рішення – JumpStart пропонує набір із 23 рішень для поширених випадків використання машинного навчання, таких як прогнозування попиту та промислові та фінансові програми, які можна розгорнути лише кількома клацаннями миші. Рішення — це наскрізні програми ML, які об’єднують різноманітні служби AWS для вирішення конкретного бізнес-випадку використання. Вони використовують шаблони AWS CloudFormation і еталонні архітектури для швидкого розгортання, що означає, що їх можна повністю налаштувати.
- Підтримка – SageMaker надає широкий спектр підтримки, як-от підтримку актуальних версій, коли виходять нові функції SageMaker або версії контейнера глибокого навчання, і створення документації щодо використання вмісту JumpStart у середовищі SageMaker.
Щоб дізнатися більше про JumpStart і про те, як ви можете використовувати попередньо навчені моделі з відкритим кодом для багатьох інших завдань ML, перегляньте наступне Відео AWS re:Invent 2020.
Про авторів
Доктор Вівек Мадан є прикладним науковцем у команді Amazon SageMaker JumpStart. Він отримав ступінь доктора філософії в Університеті Іллінойсу в Урбана-Шампейн і був науковим співробітником у технічному університеті Джорджії. Він є активним дослідником машинного навчання та розробки алгоритмів і публікував статті на конференціях EMNLP, ICLR, COLT, FOCS і SODA.
Джек Фіцджеральд є старшим науковим співробітником Alexa AI, де він зараз зосереджується на моделюванні великої мови, моделюванні багатомовного тексту та операціях машинного навчання.
Жоао Моура є архітектором-спеціалістом з рішень AI/ML у Amazon Web Services. Він переважно зосереджений на прикладах використання НЛП і допомагає клієнтам оптимізувати навчання та розгортання моделі глибокого навчання. Він також є активним прихильником рішень ML з низьким кодом і спеціалізованого обладнання для ML.
Джун Вон є менеджером із продуктів із SageMaker JumpStart і вбудованими алгоритмами. Він зосереджується на тому, щоб зробити вміст ML легким для виявлення та зручним для використання клієнтами SageMaker.
Пулкіт Капур є лідером продукту для програми Alexa Teacher Model з Alexa AI, зосередженою на узагальненому інтелекті та застосуванні багатозадачних мультимодальних базових моделей Alexa.
- AI
- ai мистецтво
- AI арт генератор
- ai робот
- Amazon SageMaker
- Amazon SageMaker JumpStart
- штучний інтелект
- сертифікація штучного інтелекту
- штучний інтелект у банківській справі
- робот зі штучним інтелектом
- роботи зі штучним інтелектом
- програмне забезпечення для штучного інтелекту
- AWS Машинне навчання
- blockchain
- блокчейн конференція AI
- coingenius
- розмовний штучний інтелект
- крипто конференція ai
- dall's
- глибоке навчання
- Основні (100)
- у вас є гугл
- навчання за допомогою машини
- plato
- платон ai
- Інформація про дані Платона
- Гра Платон
- PlatoData
- platogaming
- масштаб ai
- синтаксис
- зефірнет