Обработка естественного языка (NLP) — это область машинного обучения (ML), связанная с предоставлением компьютерам возможности понимать текст и произносимые слова так же, как люди. В последнее время такие современные архитектуры, как трансформаторная архитектура используются для достижения производительности, близкой к человеческой, в последующих задачах НЛП, таких как суммирование текста, классификация текста, распознавание сущностей и многое другое.
Большие языковые модели (LLM) — это модели на основе преобразователей, обученные на большом количестве неразмеченного текста с сотнями миллионов (БЕРТ) до более чем триллиона параметров (МиКС), и чей размер делает обучение с одним GPU непрактичным. Из-за присущей им сложности обучение LLM с нуля является очень сложной задачей, которую могут себе позволить очень немногие организации. Распространенной практикой для последующих задач НЛП является использование предварительно обученного LLM и его тонкая настройка. Дополнительные сведения о тонкой настройке см. Адаптация предметной области Точная настройка базовых моделей в Amazon SageMaker JumpStart для финансовых данных и Точная настройка языковых моделей-трансформеров для языкового разнообразия с помощью Hugging Face на Amazon SageMaker.
Обучение с нулевым выстрелом в НЛП позволяет предварительно обученный LLM генерировать ответы на задачи, для которых он явно не обучен (даже без тонкой настройки). Говоря конкретно о классификации текстов, нулевая классификация текста — это задача обработки естественного языка, в которой модель НЛП используется для классификации текста из невидимых классов, в отличие от контролируемая классификация, где модели НЛП могут классифицировать только текст, принадлежащий классам в обучающих данных.
Недавно мы запустили поддержку нулевой модели классификации в Amazon SageMaker JumpStart. SageMaker JumpStart — это центр машинного обучения Создатель мудреца Амазонки который предоставляет доступ к предварительно обученным базовым моделям (FM), LLM, встроенным алгоритмам и шаблонам решений, которые помогут вам быстро приступить к работе с ML. В этом посте мы покажем, как можно выполнить классификацию с нулевым выстрелом, используя предварительно обученные модели в SageMaker Jumpstart. Вы узнаете, как использовать пользовательский интерфейс SageMaker Jumpstart и SageMaker Python SDK для развертывания решения и выполнения логических выводов с использованием доступных моделей.
Безупречное обучение
Нулевая классификация — это парадигма, в которой модель может классифицировать новые, невидимые примеры, принадлежащие к классам, которых не было в обучающих данных. Например, языковая модель, обученная понимать человеческий язык, может использоваться для классификации твитов с новогодними обещаниями по нескольким классам, таким как career
, health
и finance
, без явного обучения языковой модели задаче классификации текста. Это отличается от тонкой настройки модели, поскольку последняя подразумевает переобучение модели (через трансферное обучение), в то время как обучение с нулевым выстрелом не требует дополнительного обучения.
На следующей диаграмме показаны различия между трансферным обучением (слева) и обучением с нулевым выстрелом (справа).
Инь и др. предложил основу для создания нулевых классификаторов с использованием вывода на естественном языке (NLI). Структура работает, представляя последовательность, которая будет классифицирована как предпосылка NLI, и строит гипотезу из каждой метки-кандидата. Например, если мы хотим оценить, принадлежит ли последовательность классу politics
, мы могли бы построить гипотезу «Этот текст о политике». Затем вероятности следствия и противоречия преобразуются в вероятности меток. В качестве краткого обзора NLI рассматривает два предложения: предпосылку и гипотезу. Задача состоит в том, чтобы определить, является ли гипотеза истинной (следствие) или ложной (противоречие) с учетом посылки. В следующей таблице приведены некоторые примеры.
Предпосылка | этикетка | Гипотеза |
Мужчина осматривает униформу деятеля в какой-то восточноазиатской стране. | Противоречие | Мужчина спит. |
Пожилой и молодой мужчина улыбается. | Нейтральные | Двое мужчин улыбаются и смеются над кошками, играющими на полу. |
Футбольный матч, в котором играют несколько мужчин. | логическое следствие | Некоторые мужчины занимаются спортом. |
Обзор решения
В этом посте мы обсуждаем следующее:
- Как развернуть предварительно обученные модели классификации текста с нулевым выстрелом с помощью пользовательского интерфейса SageMaker JumpStart и выполнить вывод на развернутой модели с использованием коротких текстовых данных
- Как использовать SageMaker Python SDK для доступа к предварительно обученным моделям классификации текста с нулевым выстрелом в SageMaker JumpStart и использовать сценарий вывода для развертывания модели на конечной точке SageMaker для варианта использования классификации текста в реальном времени.
- Как использовать SageMaker Python SDK для доступа к предварительно обученным моделям классификации текста с нулевым выстрелом и использовать пакетное преобразование SageMaker для варианта использования пакетной классификации текста
SageMaker JumpStart обеспечивает тонкую настройку и развертывание одним щелчком мыши для широкого спектра предварительно обученных моделей для популярных задач машинного обучения, а также набор комплексных решений для решения общих бизнес-задач. Эти функции избавляют от тяжелой работы на каждом этапе процесса машинного обучения, упрощая разработку высококачественных моделей и сокращая время развертывания. API-интерфейсы JumpStart позволяют программно развертывать и настраивать широкий выбор предварительно обученных моделей в ваших собственных наборах данных.
Концентратор моделей JumpStart предоставляет доступ к большому количеству моделей НЛП, которые позволяют осуществлять перенос обучения и точную настройку пользовательских наборов данных. На момент написания этой статьи концентратор моделей JumpStart содержит более 300 текстовых моделей для различных популярных моделей, таких как Stable Diffusion, Flan T5, Alexa TM, Bloom и других.
Обратите внимание, что, следуя инструкциям в этом разделе, вы развернете инфраструктуру в своей учетной записи AWS, что может повлечь за собой расходы.
Развертывание автономной нулевой модели классификации текста
В этом разделе мы покажем, как развернуть модель нулевой классификации с помощью SageMaker JumpStart. Вы можете получить доступ к предварительно обученным моделям через целевую страницу JumpStart в Студия Amazon SageMaker. Выполните следующие шаги:
- В SageMaker Studio откройте целевую страницу JumpStart.
Обратитесь к Откройте и используйте JumpStart для получения более подробной информации о том, как перейти к SageMaker JumpStart. - В Текстовые модели карусель, найдите карточку модели «Классификация текста Zero-Shot».
- Выберите Посмотреть модель чтобы получить доступ к
facebook-bart-large-mnli
модели.
Кроме того, вы можете выполнить поиск нулевой модели классификации в строке поиска и перейти к модели в SageMaker JumpStart. - Укажите конфигурацию развертывания, тип экземпляра хостинга SageMaker, имя конечной точки, Простой сервис хранения Amazon (Amazon S3) имя корзины и другие необходимые параметры.
- При желании вы можете указать конфигурации безопасности, такие как Управление идентификацией и доступом AWS (IAM), настройки VPC и Служба управления ключами AWS (AWS KMS) ключи шифрования.
- Выберите Развертывание для создания конечной точки SageMaker.
Этот шаг занимает пару минут. Когда это будет завершено, вы можете выполнить вывод относительно конечной точки SageMaker, на которой размещена нулевая модель классификации.
В следующем видео мы покажем пошаговое руководство по шагам в этом разделе.
Программное использование JumpStart с SageMaker SDK
В разделе SageMaker JumpStart программы SageMaker Studio в разделе Решения для быстрого старта, вы можете найти шаблоны решений. Шаблоны решений SageMaker JumpStart — это готовые комплексные решения для многих распространенных случаев использования ML. На момент написания этой статьи доступно более 20 решений для различных вариантов использования, таких как прогнозирование спроса, обнаружение мошенничества и персональные рекомендации, и это лишь некоторые из них.
Решение Zero Shot Text Classification with Hugging Face позволяет классифицировать текст без необходимости обучения модели конкретным меткам (нулевая классификация) с помощью предварительно обученного текстового классификатора. Моделью нулевой классификации по умолчанию для этого решения является facebook-барт-большой-mnli (БАРТ) модель. Для этого решения мы используем Набор данных «Новогодние резолюции 2015» классифицировать резолюции. Подмножество исходного набора данных, содержащее только Resolution_Category
(этикетка наземной истины) и text
столбцы включены в активы решения.
Входные данные включают текстовые строки, список желаемых категорий для классификации, а также информацию о том, является ли классификация многометочной или нет для синхронного (в реальном времени) вывода. Для асинхронного (пакетного) вывода мы предоставляем список текстовых строк, список категорий для каждой строки и информацию о том, является ли классификация многометочной или нет, в текстовом файле с форматированием строк JSON.
Результатом вывода является объект JSON, который выглядит примерно так, как показано на следующем снимке экрана.
У нас есть оригинальный текст в sequence
поле, метки, используемые для классификации текста в labels
поле, и вероятность, присвоенная каждой метке (в том же порядке появления) в поле scores
.
Чтобы развернуть решение Zero Shot Text Classification with Hugging Face, выполните следующие действия:
- На целевой странице SageMaker JumpStart выберите Модели, ноутбуки, решения в навигационной панели.
- В Решения раздел, выбрать Изучите все решения.
- На Решения выберите карточку модели Zero Shot Text Classification with Hugging Face.
- Просмотрите сведения о развертывании и, если вы согласны, выберите Презентация.
Развертывание предоставит конечную точку SageMaker в реальном времени для логического вывода в реальном времени и корзину S3 для хранения результатов пакетного преобразования.
Следующая диаграмма иллюстрирует архитектуру этого метода.
Выполнение логических выводов в реальном времени с использованием модели классификации с нулевым выстрелом
В этом разделе мы рассмотрим, как использовать Python SDK для запуска нулевой классификации текста (с использованием любой из доступных моделей) в режиме реального времени с использованием конечной точки SageMaker.
- Во-первых, мы настраиваем запрос полезной нагрузки вывода для модели. Это зависит от модели, но для модели BART входными данными является объект JSON со следующей структурой:
- Обратите внимание, что модель BART явно не обучается на
candidate_labels
. Мы будем использовать технику классификации с нулевым выстрелом, чтобы классифицировать текстовую последовательность по невидимым классам. Следующий код является примером использования текста из набора данных новогодних разрешений и определенных классов: - Затем вы можете вызвать конечную точку SageMaker с нулевой полезной нагрузкой. Конечная точка SageMaker развертывается как часть решения SageMaker JumpStart.
- Объект ответа на вывод содержит исходную последовательность, метки, отсортированные по баллам от максимального до минимального, и баллы для каждой метки:
Запустите задание пакетного преобразования SageMaker с помощью Python SDK.
В этом разделе описывается, как выполнить вывод пакетного преобразования с нулевой классификацией. facebook-bart-large-mnli
модель с использованием SDK для SageMaker Python. Выполните следующие шаги:
- Отформатируйте входные данные в формате строк JSON и загрузите файл в Amazon S3.
Пакетное преобразование SageMaker выполнит вывод точек данных, загруженных в файл S3. - Настройте артефакты развертывания модели со следующими параметрами:
- model_id - использовать
huggingface-zstc-facebook-bart-large-mnli
. - развертывание_image_uri - Использовать
image_uris
Функция Python SDK для получения предварительно созданного образа SageMaker Docker дляmodel_id
. Функция возвращает Реестр Amazon Elastic Container (Amazon ECR) URI. - deploy_source_uri — Использовать
script_uris
служебный API для получения S3 URI, который содержит сценарии для запуска предварительно обученного вывода модели. Мы указываемscript_scope
asinference
. - model_uri - использовать
model_uri
чтобы получить артефакты модели из Amazon S3 для указанногоmodel_id
.
- model_id - использовать
- Используйте
HF_TASK
определить задачу для конвейера трансформеров Hugging Face иHF_MODEL_ID
чтобы определить модель, используемую для классификации текста:Полный список задач см. Трубопроводы в документации Hugging Face.
- Создайте объект модели Hugging Face для развертывания с помощью задания пакетного преобразования SageMaker:
- Создайте преобразование для запуска пакетного задания:
- Запустите задание пакетного преобразования и используйте данные S3 в качестве входных данных:
Вы можете отслеживать задание пакетной обработки на консоли SageMaker (выберите Задания пакетного преобразования под вывод в панели навигации). Когда задание завершено, вы можете проверить выходные данные предсказания модели в файле S3, указанном в output_path
.
Список всех доступных предварительно обученных моделей в SageMaker JumpStart см. Встроенные алгоритмы с предварительно обученной таблицей моделей. Используйте ключевое слово «zstc» (сокращение от нулевой классификации текста) в строке поиска, чтобы найти все модели, способные выполнять нулевую классификацию текста.
Убирать
После того, как вы закончите работу с записной книжкой, обязательно удалите все ресурсы, созданные в процессе, чтобы убедиться, что затраты, связанные с активами, развернутыми в этом руководстве, остановлены. Код для очистки развернутых ресурсов содержится в записных книжках, связанных с решением и моделью нулевой классификации текста.
Конфигурации безопасности по умолчанию
Модели SageMaker JumpStart развертываются с использованием следующих конфигураций безопасности по умолчанию:
Чтобы узнать больше о темах, связанных с безопасностью SageMaker, см. Настройка безопасности в Amazon SageMaker.
Заключение
В этом посте мы показали вам, как развернуть модель классификации с нулевым выстрелом с помощью пользовательского интерфейса SageMaker JumpStart и выполнить вывод с помощью развернутой конечной точки. Мы использовали решение SageMaker JumpStart для новогодних разрешений, чтобы показать, как можно использовать SageMaker Python SDK для создания комплексного решения и реализации приложения для нулевой классификации. SageMaker JumpStart предоставляет доступ к сотням предварительно обученных моделей и решений для таких задач, как компьютерное зрение, обработка естественного языка, рекомендательные системы и многое другое. Попробуйте решение самостоятельно и дайте нам знать ваши мысли.
Об авторах
Дэвид Ларедо является архитектором прототипов в AWS Envision Engineering в Латинской Америке, где он помог разработать несколько прототипов машинного обучения. Ранее он работал инженером по машинному обучению и занимался машинным обучением более 5 лет. В сферу его интересов входят NLP, временные ряды и сквозное машинное обучение.
Викрам Эланго является специалистом по архитектуре решений AI/ML в Amazon Web Services, базирующейся в Вирджинии, США. Vikram помогает клиентам из финансовой и страховой индустрии с помощью дизайна и передовых идей для создания и развертывания приложений машинного обучения в масштабе. В настоящее время он занимается обработкой естественного языка, ответственным искусственным интеллектом, оптимизацией логических выводов и масштабированием машинного обучения на предприятии. В свободное время он любит путешествовать, ходить в походы, готовить и отдыхать со своей семьей.
Доктор Вивек Мадан — ученый-прикладник в команде Amazon SageMaker JumpStart. Он получил докторскую степень в Университете Иллинойса в Урбана-Шампейн и был постдокторантом в Технологическом институте Джорджии. Он является активным исследователем в области машинного обучения и разработки алгоритмов и публиковал статьи на конференциях EMNLP, ICLR, COLT, FOCS и SODA.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Автомобили / электромобили, Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- ЧартПрайм. Улучшите свою торговую игру с ChartPrime. Доступ здесь.
- Смещения блоков. Модернизация права собственности на экологические компенсации. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/zero-shot-text-classification-with-amazon-sagemaker-jumpstart/
- :имеет
- :является
- :нет
- :куда
- $UP
- 1
- 10
- 100
- 12
- 16
- 17
- 20
- 22
- 30
- 7
- 8
- 9
- a
- способность
- О нас
- выше
- доступ
- Учетная запись
- Достигать
- через
- активный
- дополнительный
- против
- AI
- AI / ML
- AL
- Alexa
- алгоритм
- алгоритмы
- Все
- позволять
- позволяет
- Amazon
- Создатель мудреца Амазонки
- Amazon SageMaker JumpStart
- Amazon Web Services
- количество
- an
- и
- любой
- API
- Применение
- Приложения
- прикладной
- архитектура
- МЫ
- области
- AS
- азиатский
- Активы
- назначенный
- связанный
- At
- автоматически
- доступен
- AWS
- бар
- Использование темпера с изогнутым основанием
- основанный
- BE
- было
- не являетесь
- принадлежит
- между
- Цвести
- тело
- Книги
- Завтрак
- строить
- встроенный
- бизнес
- но
- by
- CAN
- кандидат
- способный
- карта
- Карьера
- карусель
- случаев
- категории
- Кошки
- сложные
- проверка
- Выберите
- класс
- классов
- классификация
- классифицированный
- классифицировать
- код
- Колонки
- Общий
- полный
- сложность
- компьютер
- Компьютерное зрение
- компьютеры
- обеспокоенный
- конференции
- Конфигурация
- считает
- Консоли
- строить
- Container
- содержит
- контраст
- переделанный
- Расходы
- может
- страна
- Пара
- Создайте
- создали
- Создающий
- В настоящее время
- изготовленный на заказ
- Клиенты
- данным
- точки данных
- Наборы данных
- преданный
- По умолчанию
- определять
- определенный
- Спрос
- Прогнозирование спроса
- демонстрировать
- Зависимости
- зависимый
- развертывание
- развернуть
- развертывание
- Проект
- желанный
- подробнее
- обнаружение
- Определять
- развивать
- Развитие
- Различия
- Вещание
- обсуждать
- Разнообразие
- Docker
- документации
- не
- дело
- сделанный
- два
- Е & Т
- каждый
- восток
- Обучение
- включить
- шифрование
- впритык
- Конечная точка
- инженер
- Проект и
- обеспечивать
- Предприятие
- организация
- себе
- оценивать
- Даже
- пример
- Примеры
- Face
- ложный
- семья
- Особенности
- несколько
- поле
- фигура
- Файл
- финансы
- финансовый
- Найдите
- Этаж
- внимание
- после
- Что касается
- формат
- Год основания
- Рамки
- мошенничество
- обнаружение мошенничества
- от
- функция
- игра
- порождать
- ГРУЗИИ
- получить
- GitHub
- данный
- Отдаете
- земля
- Рост
- инструкция
- Управляемость
- Есть
- he
- Медицина
- тяжелый
- тяжелая атлетика
- помощь
- помог
- помогает
- высококачественный
- его
- хостинг
- хостов
- Как
- How To
- HTML
- HTTP
- HTTPS
- хаб
- человек
- юмор
- Сотни
- сотни миллионов
- ID
- Личность
- if
- Иллинойс
- иллюстрирует
- изображение
- осуществлять
- Импортировать
- in
- включены
- включает в себя
- промышленность
- информация
- Инфраструктура
- свойственный
- вход
- затраты
- пример
- страхование
- интерес
- IT
- работа
- Джобс
- JPG
- JSON
- Основные
- ключи
- Знать
- этикетка
- Этикетки
- посадка
- язык
- большой
- LATAM
- запустили
- Наша команда
- УЧИТЬСЯ
- изучение
- оставил
- позволять
- Подтяжка лица
- такое как
- линия
- линий
- Список
- LLM
- погрузка
- ВЗГЛЯДЫ
- машина
- обучение с помощью машины
- сделать
- ДЕЛАЕТ
- человек
- управление
- многих
- Макс
- Май..
- Мужчина
- метод
- миллионы
- мин
- Минут
- ML
- модель
- Модели
- монитор
- БОЛЕЕ
- с разными
- my
- имя
- натуральный
- Обработка естественного языка
- Откройте
- Навигация
- Необходимость
- Новые
- Новый год
- НЛП
- нет
- ноутбук
- номер
- объект
- of
- on
- только
- открытый
- оптимизация
- or
- заказ
- организации
- оригинал
- Другое
- внешний
- выходной
- за
- собственный
- страница
- хлеб
- бумага
- парадигма
- параметры
- часть
- путь
- для
- Выполнять
- производительность
- Разрешения
- личного
- Персонализированные
- кандидат наук
- БЛАГОТВОРИТЕЛЬНОСТЬ
- трубопровод
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- игры
- пунктов
- политика
- Популярное
- После
- практика
- прогноз
- Predictions
- представить
- предварительно
- проблемам
- процесс
- обработка
- предложило
- Прототипы
- макетирования
- обеспечивать
- при условии
- приводит
- обеспечение
- опубликованный
- Питон
- pytorch
- САЙТ
- быстро
- Читать
- реальные
- реального времени
- недавно
- признание
- Рекомендация
- рекомендаций
- снижение
- удаление
- запросить
- требовать
- обязательный
- исследователь
- Полезные ресурсы
- ответ
- ответы
- ответственный
- результат
- Итоги
- Возвращает
- обзоре
- правую
- Роли
- Run
- Бег
- s
- sagemaker
- то же
- Сохранить
- Шкала
- масштабирование
- Ученый
- Гол
- поцарапать
- скрипты
- прокрутки
- SDK
- Поиск
- Раздел
- безопасность
- посмотреть
- выбор
- Последовательность
- Серии
- Услуги
- настройки
- Короткое
- выстрел
- показывать
- показал
- просто
- упрощение
- с
- Размер
- Футбольный
- Решение
- Решения
- РЕШАТЬ
- некоторые
- удалось
- Говоря
- специалист
- конкретный
- конкретно
- указанный
- говорят
- Спорт
- стабильный
- автономные
- Начало
- и политические лидеры
- современное состояние
- оставаться
- Шаг
- Шаги
- остановившийся
- диск
- хранение
- строка
- Структура
- студия
- такие
- поддержка
- Убедитесь
- системы
- ТАБЛИЦЫ
- взять
- принимает
- Сложность задачи
- задачи
- команда
- технологии
- шаблоны
- Классификация текста
- который
- Ассоциация
- их
- тогда
- Эти
- этой
- мысль
- продуманное лидерство
- Через
- время
- Временные ряды
- TM
- в
- Темы
- Train
- специалистов
- Обучение
- перевод
- Transform
- трансформация
- трансформатор
- трансформеры
- Путешествие
- Триллион
- правда
- Правда
- стараться
- чириканье
- два
- напишите
- ui
- под
- понимать
- Университет
- загружено
- us
- использование
- используемый
- через
- утилита
- разнообразие
- Огромная
- версия
- очень
- Видео
- Виргиния
- видение
- vs
- прохождение
- хотеть
- законопроект
- Путь..
- we
- Web
- веб-сервисы
- ЧТО Ж
- были
- когда
- будь то
- в то время как
- чья
- широкий
- будете
- без
- слова
- работавший
- работает
- письмо
- год
- лет
- Ты
- Моложе
- ВАШЕ
- зефирнет
- нуль
- Обучение с нуля