Сегодня мы объявляем о публичной доступности ультрасовременной платформы Amazon. Модель учителя Alexa с 20 миллиардами параметров (AlexaTM 20B) через Amazon SageMaker JumpStart, центр машинного обучения SageMaker. AlexaTM 20B — это многоязычная крупномасштабная языковая модель «последовательность к последовательности» (seq2seq), разработанная Amazon. Вы можете использовать AlexaTM 20B для широкого спектра отраслевых сценариев использования, от сводных финансовых отчетов до ответов на вопросы чат-ботов службы поддержки клиентов. Его можно применять даже тогда, когда имеется всего несколько доступных обучающих примеров или вообще их нет. АлексаTM 20B Превосходит 175 миллиардов Модель ГПТ-3 в задачах нулевого выстрела, таких как SuperGLUE, и демонстрирует современную производительность для многоязычных задач нулевого выстрела, таких как XNLI.
В этом посте мы представляем обзор того, как программно развертывать и запускать логические выводы с помощью модели AlexaTM 20B с помощью API JumpStart, доступных в SDK для SageMaker Python. Мы показываем, как вы можете использовать эту модель для перевода между несколькими языками, обобщения длинного текста, ответов на вопросы в зависимости от заданного контекста и создания текста, который кажется неотличимым от текста, написанного человеком.
AlexaTM 20B и контекстное обучение
Программа Alexa Teacher Model (AlexaTM) от Amazon Alexa AI предназначена для создания крупномасштабных многоязычных моделей глубокого обучения (в основном на основе Transformer) с целью улучшения обобщения и обработки нехватки данных для последующих задач. Благодаря крупномасштабному предварительному обучению модели учителей могут хорошо обобщаться, чтобы изучать новые задачи из разреженных данных и помогать разработчикам повышать производительность при выполнении последующих задач. AlexaTM 20B показал конкурентоспособность на общих тестах и задачах обработки естественного языка (NLP), таких как машинный перевод, генерация данных и обобщение.
Использование базовых моделей, таких как AlexaTM 20B, снижает потребность в дорогостоящем предварительном обучении моделей и обеспечивает современную отправную точку для разработки моделей задач с меньшими усилиями и меньшим объемом обучающих данных для конкретной задачи. Одной из ключевых возможностей базовых моделей является то, что мы можем научить модель выполнять новые задачи, такие как вопросы и ответы на разных языках, с очень небольшим количеством входных примеров и без необходимости тонкой настройки или градиентных обновлений. Это известно как контекстное обучение. Имея всего несколько примеров новой задачи, представленной в качестве контекста для вывода, модель AlexaTM 20B может передавать знания, полученные во время крупномасштабного предварительного обучения, даже на разных языках. Это называется обучение в несколько выстрелов. В некоторых случаях модель может хорошо работать вообще без каких-либо обучающих данных, а только с объяснением того, что должно быть предсказано. Это называется беспроблемное обучение. Например, предположим, что мы используем AlexaTM 20B для одноразовой генерации естественного языка. Входные данные, передаваемые модели, представляют собой обучающий пример в форме пар атрибут-значение вместе с соответствующим выходным текстовым описанием. Затем к тестовому примеру добавляется полная подсказка ввода, как показано на следующем рисунке.
Чтобы узнать больше о модели, см. Модель Alexa с 20B-параметрами устанавливает новые стандарты в обучении за несколько шагов или оригинал бумаги.
Использование AlexaTM 20B доступно для некоммерческого использования и подпадает под действие Лицензионное соглашение модели учителя Alexa.
Обзор решения
В следующих разделах представлена пошаговая демонстрация того, как развертывать модель, выполнять логические выводы и проводить контекстное обучение для решения задач обучения, состоящих из нескольких шагов.
Обратите внимание, что следующий раздел содержит фрагменты кода; полный код со всеми шагами в этой демонстрации доступен в прилагаемой записной книжке: Контекстное обучение с AlexaTM 20B в SageMaker JumpStart.
Развернуть модель
Чтобы использовать большую языковую модель в SageMaker, вам нужен сценарий логического вывода, специфичный для модели, который включает в себя такие шаги, как загрузка модели, распараллеливание и многое другое. Вам также необходимо создать сквозные тесты для сценариев, модели и желаемых типов экземпляров, чтобы убедиться, что все три могут работать вместе. JumpStart устраняет эту проблему, предоставляя готовые к использованию сценарии, которые были тщательно протестированы.
SageMaker дает вам возможность широко запускать контейнеры Docker для обучения и создания логических выводов. JumpStart использует эти доступные Контейнеры глубокого обучения SageMaker (DLC). Начнем с загрузки оптимизированного DLC (deploy_image_uri
) используя model_id
. Затем мы получаем model_uri
содержащий параметры модели, а также сценарии обработки логического вывода и любые связанные зависимости. Далее мы создаем экземпляр модели в 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
(ложный выстрел). Таким образом, мы на самом деле отвечаем на вопросы с нулевым выстрелом.
Мы используем следующую подсказку для извлечения ответа на вопрос, когда не предоставляется обучающая выборка. Сгенерированный текст из модели интерпретируется как ответ на тестовый вопрос.
Вывод следующий:
Быстрый инжиниринг
Быстрый инжиниринг иногда может быть искусством. Даже небольшие изменения в шаблоне подсказки могут привести к значительным изменениям в производительности модели при выполнении конкретной задачи. Ниже приведены несколько советов по написанию хороших шаблонов подсказок. Во-первых, важно помнить, что модель была обучена изучению структуры реальных предложений (каузальное языковое моделирование). Таким образом, лучше всего убедиться, что ваш шаблон подсказки грамматически и структурно верен на естественном языке. Во-вторых, эта конкретная модель выигрывает от фиктивных снимков, которые помогают научить ее структуре, ожидаемой в ответе, как показано выше. В-третьих, всегда рекомендуется проверять производительность задачи на различных шаблонах подсказок-кандидатов. Источник подсказки и Природные инструкции — это две платформы с открытым исходным кодом для стандартизации шаблонов подсказок, и они предоставляют множество примеров подсказок, используемых для существующих задач моделирования. Кроме того, Приложение B Бумага AlexaTM 20B предоставляет шаблоны подсказок, используемые для получения результатов, представленных в статье. Существует растущее подполе, посвященное автоматическому созданию и изучению лучших подсказок для задачи, включая как естественный язык, так и непрерывные подсказки. Это выходит за рамки данного руководства.
Заключение
В этом посте мы показали, как развернуть модель AlexaTM 20B на конечной точке SageMaker и выполнить вывод. Вы можете использовать модель AlexaTM 20B для контекстного обучения для различных задач обучения, состоящих из нескольких шагов. Чтобы узнать больше об AlexaTM 20B, см. Модель Alexa с 20B-параметрами устанавливает новые стандарты в обучении за несколько шагов или оригинал бумаги.
Авторы хотели бы отметить технический вклад Мацея Рудницкого, Якуба Дебски, Ашиша Хетана, Анастасии Дубининой, Виталия Королева, Карла Альбертсена, Салеха Солтана и Мариуша Момотко, который сделал этот запуск возможным.
О JumpStart
JumpStart — это центр машинного обучения (ML) Amazon SageMaker, который предлагает более 350 предварительно обученных моделей, встроенных алгоритмов и готовых шаблонов решений, которые помогут вам быстро приступить к работе с ML. JumpStart размещает самые современные модели из популярных центров моделей, таких как TensorFlow, PyTorch, Hugging Face и MXNet, которые поддерживают популярные задачи машинного обучения, такие как обнаружение объектов, классификация текста и генерация текста. Исследовательское сообщество машинного обучения приложило немало усилий, чтобы сделать большинство недавно разработанных моделей общедоступными для использования. JumpStart стремится помочь вам найти правильные модели и алгоритмы машинного обучения и сразу же приступить к созданию моделей. В частности, JumpStart предоставляет следующие преимущества:
- Простой доступ с помощью пользовательского интерфейса и SDK. Доступ к моделям и алгоритмам в JumpStart можно получить программно с помощью SageMaker Python SDK или через пользовательский интерфейс JumpStart в Amazon SageMaker Studio. В настоящее время AlexaTM 20B доступен только через SageMaker Python SDK.
- Встроенные алгоритмы SageMaker. JumpStart предоставляет более 350 встроенных алгоритмов и предварительно обученных моделей, а также соответствующие обучающие сценарии (если они поддерживаются), логические сценарии и примеры блокнотов. Скрипты оптимизированы для каждой платформы и задачи и предоставляют такие функции, как поддержка графического процессора, автоматическая настройка модели и дополнительное обучение. Скрипты также проверяются на экземплярах и функциях SageMaker, чтобы у вас не возникало проблем с совместимостью.
- Готовые решения. JumpStart предоставляет набор из 23 решений для распространенных вариантов использования машинного обучения, таких как прогнозирование спроса, а также промышленные и финансовые приложения, которые можно развернуть всего несколькими щелчками мыши. Решения — это комплексные приложения машинного обучения, которые объединяют различные сервисы AWS для решения конкретных бизнес-задач. Они используют шаблоны AWS CloudFormation и эталонные архитектуры для быстрого развертывания, что означает, что они полностью настраиваемы.
- Поддержка — SageMaker предоставляет широкий спектр поддержки, например, поддержание актуальных версий при выпуске новых функций SageMaker или версий контейнера для глубокого обучения, а также создание документации по использованию содержимого JumpStart в среде SageMaker.
Чтобы узнать больше о JumpStart и о том, как вы можете использовать предварительно обученные модели с открытым исходным кодом для множества других задач машинного обучения, ознакомьтесь со следующими материалами. Видео AWS re:Invent 2020.
Об авторах
Доктор Вивек Мадан — ученый-прикладник в команде Amazon SageMaker JumpStart. Он получил докторскую степень в Университете Иллинойса в Урбана-Шампейн и был постдокторантом в Технологическом институте Джорджии. Он является активным исследователем в области машинного обучения и разработки алгоритмов и публиковал статьи на конференциях EMNLP, ICLR, COLT, FOCS и SODA.
Джек Фицджеральд — старший научный сотрудник Alexa AI, где в настоящее время занимается моделированием больших языков, многоязычным текстовым моделированием и операциями машинного обучения.
Жоао Моура является специалистом по архитектуре решений AI/ML в Amazon Web Services. Он в основном сосредоточен на примерах использования НЛП и помогает клиентам оптимизировать обучение и развертывание модели глубокого обучения. Он также является активным сторонником решений машинного обучения с низким кодом и специализированного оборудования для машинного обучения.
июнь выиграл является менеджером по продукту с SageMaker JumpStart и встроенными алгоритмами. Он фокусируется на том, чтобы сделать содержимое ML легко обнаруживаемым и удобным для использования клиентами SageMaker.
Пулкит Капур является руководителем программы модели учителя Alexa с Alexa AI, уделяя особое внимание обобщенному интеллекту и приложениям многозадачных мультимодальных базовых моделей Alexa.
- AI
- ай искусство
- генератор искусств ай
- искусственный интеллект
- Создатель мудреца Амазонки
- Amazon SageMaker JumpStart
- искусственный интеллект
- сертификация искусственного интеллекта
- искусственный интеллект в банковском деле
- робот с искусственным интеллектом
- роботы с искусственным интеллектом
- программное обеспечение искусственного интеллекта
- Машинное обучение AWS
- блокчейн
- конференция по блокчейну
- Coingenius
- разговорный искусственный интеллект
- криптоконференция ИИ
- дал-и
- глубокое обучение
- Основа (100)
- google ai
- обучение с помощью машины
- Платон
- Платон Ай
- Платон Интеллектуальные данные
- Платон игра
- ПлатонДанные
- платогейминг
- масштаб ай
- синтаксис
- зефирнет