В этом посте мы покажем вам, как реализовать одну из самых загружаемых предварительно обученных моделей Hugging Face, используемых для суммирования текста. ДистилБАРТ-CNN-12-6, в блокноте Jupyter, используя Создатель мудреца Амазонки и Набор инструментов SageMaker Hugging Face Inference. Основываясь на шагах, показанных в этом посте, вы можете попробовать обобщить текст из 2-вики-текста Набор данных под управлением fast.ai, доступно на Реестр открытых данных на AWS.
Глобальные объемы данных растут в масштабе зеттабайт, поскольку компании и потребители расширяют использование цифровых продуктов и онлайн-сервисов. Чтобы лучше понимать эти растущие данные, методы машинного обучения (МО) обработки естественного языка (НЛП) для анализа текста были усовершенствованы для решения задач, связанных с резюмированием текста, распознаванием сущностей, классификацией, переводом и т. д. AWS предлагает предварительно обученные Сервисы AWS AI которые могут быть интегрированы в приложения с помощью вызовов API и не требуют опыта машинного обучения. Например, Amazon Comprehend может выполнять задачи НЛП, такие как распознавание пользовательских сущностей, анализ настроений, извлечение ключевых фраз, моделирование тем и многое другое, чтобы получить информацию из текста. Он может выполнять анализ текста на самых разных языках для его различных особенностей.
Резюмирование текста — полезный метод для понимания больших объемов текстовых данных, поскольку он создает подмножество контекстуально значимой информации из исходных документов. Вы можете применить этот метод НЛП к текстовым документам и статьям более длинной формы, обеспечивая более быстрое использование и более эффективную индексацию документов, например, для суммирования заметок о звонках с совещаний.
Обнимая лицо — популярная библиотека с открытым исходным кодом для НЛП, содержащая более 49,000 185 предварительно обученных моделей на более чем XNUMX языках с поддержкой различных фреймворков. AWS и Hugging Face имеют партнерство это обеспечивает бесшовную интеграцию через SageMaker с набором контейнеров AWS Deep Learning Containers (DLC) для обучения и вывода в PyTorch или TensorFlow, а также с оценщиками и предикторами Hugging Face для SageMaker Python SDK. Эти возможности SageMaker помогают разработчикам и специалистам по обработке и анализу данных быстрее начать работу с NLP на AWS. Обработка текстов с помощью преобразователей в средах глубокого обучения, таких как PyTorch, обычно является сложной и трудоемкой задачей для специалистов по данным, что часто приводит к разочарованию и снижению эффективности при разработке проектов НЛП. Рост ИИ-сообществ, таких как Hugging Face, в сочетании с мощью облачных сервисов машинного обучения, таких как SageMaker, ускоряет и упрощает разработку этих задач обработки текста. SageMaker помогает создавать, обучать, развертывать и эксплуатировать модели Hugging Face.
Обзор сводки текста
Вы можете применить суммирование текста для определения ключевых предложений в документе или определения ключевых предложений в нескольких документах. Резюме текста может давать два типа резюме: экстрактивное и абстрактное. Извлекающие резюме не содержат машинного текста и представляют собой набор важных предложений, выбранных из входного документа. Абстрактные резюме содержат новые удобочитаемые фразы и предложения, сгенерированные моделью реферирования текста. Большинство систем реферирования текста основаны на экстрактивном реферировании, потому что трудно достичь точного реферативного реферирования текста.
Hugging Face имеет более 400 предварительно обученных современных доступны модели суммирования текста, реализуя различные комбинации техник НЛП. Эти модели обучаются на различных наборах данных, загружаемых и поддерживаемых технологическими компаниями и членами сообщества Hugging Face. Вы можете фильтровать модели по наиболее загруженным или наиболее понравившимся и напрямую загружать их при использовании конвейер суммирования API преобразования Hugging Face. Преобразователь Hugging Face упрощает процесс реализации NLP, поэтому высокопроизводительные модели NLP можно точно настроить для предоставления текстовых сводок, не требуя обширных знаний об операциях ML.
Модели суммирования текста Hugging Face на AWS
SageMaker предлагает бизнес-аналитикам, специалистам по данным и инженерам MLOps набор инструментов для проектирования и управления рабочими нагрузками машинного обучения в AWS. Эти инструменты обеспечивают более быструю реализацию и тестирование моделей машинного обучения для достижения оптимальных результатов.
Из издания Набор инструментов SageMaker Hugging Face Inference, библиотеку с открытым исходным кодом, мы выделяем три различных способа реализации и размещения моделей суммирования текста Hugging Face с помощью блокнота Jupyter:
- Конвейер суммирования обнимающего лица - Создать Конвейер суммирования обнимающего лица с помощью "
summarization
», чтобы использовать модель суммирования текста по умолчанию для логического вывода в блокноте Jupyter. Эти конвейеры абстрагируются от сложного кода, предлагая начинающим специалистам по машинному обучению простой API для быстрой реализации суммирования текста без настройки конечной точки вывода. Конвейер также позволяет специалистам по машинному обучению выбирать конкретную предварительно обученную модель и связанный с ней токенизатор. Токенизаторы подготавливают текст к использованию в качестве входных данных для модели, разбивая текст на слова или подслова, которые затем преобразуются в идентификаторы с помощью таблицы поиска. Для простоты в следующем фрагменте кода представлен случай по умолчанию при использовании конвейеров. ДистилБАРТ-CNN-12-6 модель является одной из самых загружаемых моделей обобщения на Hugging Face и является модель по умолчанию для конвейера суммирования. Последняя строка вызывает предварительно обученную модель, чтобы получить сводку для переданного текста с учетом двух предоставленных аргументов. - Конечная точка SageMaker с предварительно обученной моделью – Создайте конечную точку SageMaker с предварительно обученной моделью из Обнимающая модель лица Hub и разверните его на конечной точке вывода, такой как экземпляр ml.m5.xlarge в следующем фрагменте кода. Этот метод позволяет опытным специалистам по машинному обучению быстро выбирать конкретные модели с открытым исходным кодом, настраивать их и развертывать модели на высокопроизводительных экземплярах логического вывода.
- Конечная точка SageMaker с обученной моделью – Создайте конечную точку модели SageMaker с обученной моделью, хранящейся в Простой сервис хранения Amazon (Amazon S3) и разверните его на конечной точке вывода. Этот метод позволяет опытным специалистам по машинному обучению быстро развертывать свои собственные модели, хранящиеся в Amazon S3, в высокопроизводительных инстансах логического вывода. Сама модель загружается с Hugging Face и сжимается, после чего ее можно загрузить на Amazon S3. Этот шаг показан в следующем фрагменте кода:
У AWS есть несколько доступных ресурсов, которые помогут вам в развертывании рабочих нагрузок машинного обучения. Объектив машинного обучения Хорошо спроектированная платформа AWS рекомендует лучшие практики рабочих нагрузок машинного обучения, включая оптимизацию ресурсов и снижение затрат. Эти рекомендуемые принципы проектирования обеспечивают развертывание рабочих нагрузок машинного обучения в AWS с правильной архитектурой в рабочей среде. Рекомендатор выводов Amazon SageMaker помогает выбрать правильный экземпляр для развертывания моделей машинного обучения с оптимальной производительностью и стоимостью. Inference Recommender ускоряет развертывание модели и сокращает время выхода на рынок за счет автоматизации нагрузочного тестирования и оптимизации производительности модели в экземплярах машинного обучения.
В следующих разделах мы покажем, как загрузить обученную модель из корзины S3 и развернуть ее в подходящем экземпляре логического вывода.
Предпосылки
Для этого прохождения у вас должны быть следующие предпосылки:
- An Аккаунт AWS.
- Блокнот Jupyter внутри Студия Amazon SageMaker или экземпляры блокнота SageMaker. В этом посте мы используем изображение «Python 3 (PyTorch 1.4 Python 3.6 CPU Optimized)» с предоставленными фрагментами кода, но вы можете использовать любой другой образ PyTorch более высокой версии из доступные ядра SageMaker.
- Набор данных в корзине S3, например 2-вики-текста набор данных из Реестр открытых данных на AWS.
Загрузите модель Hugging Face в SageMaker для вывода суммирования текста.
Используйте следующий код, чтобы загрузить предварительно обученную модель суммирования текста Hugging Face. ДистилБАРТ-CNN-12-6 и его токенизатор, и сохраните их локально в SageMaker в каталоге блокнота Jupyter:
Сожмите сохраненную модель суммирования текста и ее токенизатор в формат tar.gz и загрузите артефакт сжатой модели в корзину S3:
Выберите образ контейнера Docker для вывода для выполнения вывода суммирования текста. Определите ОС Linux, платформу PyTorch и версию Hugging Face Transformer и укажите Эластичное вычислительное облако Amazon (Amazon EC2) для запуска контейнера.
Образ Docker доступен в Реестр Amazon Elastic Container (Amazon ECR) той же учетной записи AWS, и ссылка на этот образ контейнера возвращается в виде URI.
Определите модель суммирования текста, которая будет развернута выбранным образом контейнера, выполняющим вывод. В следующем фрагменте кода развернута сжатая модель, загруженная в Amazon S3:
Протестируйте развернутую модель суммирования текста на примере входных данных:
Используйте Inference Recommender для оценки оптимального экземпляра EC2 для задачи логического вывода.
Затем создайте несколько образцов полезной нагрузки входного текста в формате JSON и сожмите их в один файл полезной нагрузки. Эти образцы полезной нагрузки используются Рекомендателем вывода для сравнения производительности вывода между различными типами инстансов EC2. Каждый образец полезной нагрузки должен соответствовать формату JSON, показанному ранее. Вы можете получить примеры из 2-вики-текста Набор данных под управлением fast.ai, доступно на Реестр открытых данных на AWS.
Загрузите артефакт модели суммирования сжатого текста и сжатый файл образца полезной нагрузки в корзину S3. Мы загрузили модель на предыдущем шаге, но для ясности мы включили код для ее повторной загрузки:
Просмотрите список стандартных моделей машинного обучения, доступных в SageMaker по всем обычные модельные зоопарки, такие как НЛП и компьютерное зрение. Выберите модель НЛП для выполнения вывода суммирования текста:
В следующем примере используется bert-base-cased
НЛП модель. Зарегистрируйте модель суммирования текста в Реестр моделей SageMaker с правильно идентифицированным доменом, инфраструктурой и задачей из предыдущего шага. Параметры для этого примера показаны в начале следующего фрагмента кода.
Обратите внимание на диапазон типов инстансов EC2, которые будут оцениваться Inference Recommender в разделе SupportedRealtimeInferenceInstanceTypes
в следующем коде. Убедитесь, что лимиты обслуживания для учетной записи AWS разрешить развертывание этих типов узлов вывода.
Создайте задание Inference Recommender по умолчанию, используя ModelPackageVersion
в результате предыдущего шага. uuid
Библиотека Python используется для создания уникального имени задания.
Вы можете получить статус задания Inference Recommender, выполнив следующий код:
Когда статус работы COMPLETED
, сравните задержку вывода, время выполнения и другие метрики типов инстансов EC2, оцениваемых заданием по умолчанию Inference Recommender. Выберите подходящий тип узла в зависимости от требований вашего варианта использования.
Заключение
SageMaker предлагает несколько способов использования моделей Hugging Face; дополнительные примеры см. Образцы AWS GitHub. В зависимости от сложности варианта использования и необходимости тонкой настройки модели можно выбрать оптимальный способ использования этих моделей. Конвейеры Hugging Face могут стать хорошей отправной точкой для быстрого экспериментирования и выбора подходящих моделей. Когда вам нужно настроить и параметризовать выбранные модели, вы можете скачать модели и развернуть их на настраиваемых конечных точках логического вывода. Чтобы более точно настроить модель для конкретного варианта использования, вам потребуется обучить модель после ее загрузки.
Модели NLP в целом, включая модели суммирования текста, работают лучше после обучения на наборе данных, специфичном для варианта использования. MLOP и функции мониторинга моделей SageMaker гарантируют, что развернутая модель продолжает работать в соответствии с ожиданиями. В этом посте мы использовали Inference Recommender для оценки наиболее подходящего типа экземпляра для развертывания модели суммирования текста. Эти рекомендации могут оптимизировать производительность и затраты для вашего варианта использования машинного обучения.
Об авторах
Доктор Нидал Аль-Бейрути является старшим архитектором решений в Amazon Web Services и увлекается решениями для машинного обучения. Нидал имеет более чем 25-летний опыт работы в различных глобальных ИТ-ролях на разных уровнях и вертикалях. Нидал выступает в качестве надежного консультанта для многих клиентов AWS, помогая им поддерживать и ускорять переход к облачным технологиям.
Даррен Ко является архитектором решений из Лондона. Он консультирует клиентов малого и среднего бизнеса в Великобритании и Ирландии по вопросам реструктуризации и инноваций в облаке. Даррен заинтересован в приложениях, созданных с помощью бессерверных архитектур, и он увлечен решением проблем устойчивого развития с помощью машинного обучения.
- Коинсмарт. Лучшая в Европе биржа биткойнов и криптовалют.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. БЕСПЛАТНЫЙ ДОСТУП.
- КриптоХок. Альткоин Радар. Бесплатная пробная версия.
- Источник: https://aws.amazon.com/blogs/machine-learning/text-summarization-with-amazon-sagemaker-and-hugging-face/
- '
- "
- 000
- 10
- 100
- 28
- a
- О нас
- АБСТРАКТ НАЯ
- ускорять
- Учетная запись
- точный
- Достигать
- через
- адрес
- Принятие
- советник
- AI
- позволяет
- Amazon
- Amazon Web Services
- суммы
- анализ
- API
- Apple
- Приложения
- Применить
- Аргументы
- статьи
- связанный
- Автоматизация
- доступен
- награжден
- AWS
- , так как:
- начало
- не являетесь
- ЛУЧШЕЕ
- лучшие практики
- между
- строить
- бизнес
- призывают
- Может получить
- возможности
- случаев
- случаев
- проблемы
- выбор
- класс
- классификация
- облако
- код
- лыжных шлемов
- комбинации
- сочетании
- Сообщества
- сообщество
- Компании
- комплекс
- Вычисление
- компьютер
- Конфигурация
- Потребители
- потребление
- Container
- Контейнеры
- продолжается
- Создайте
- создает
- изготовленный на заказ
- Клиенты
- настроить
- данным
- день
- глубоко
- поставка
- демонстрировать
- убивают
- в зависимости
- развертывание
- развернуть
- развертывание
- развертывание
- Проект
- застройщиков
- развивающийся
- Развитие
- различный
- трудный
- Интернет
- непосредственно
- Дисплей
- Docker
- врач
- Документация
- домен
- доменов
- скачать
- каждый
- легко
- Эффективный
- затрат
- позволяет
- Конечная точка
- Инженеры
- организация
- Окружающая среда
- оценивать
- пример
- Примеры
- Расширьте
- ожидания
- опыт
- опытные
- эксперимент
- обширный
- Face
- БЫСТРО
- быстрее
- Особенности
- после
- формат
- Рамки
- каркасы
- от
- Общие
- порождать
- генерируется
- Глобальный
- хорошо
- Рост
- помощь
- полезный
- помогает
- высший
- Как
- How To
- HTTPS
- хаб
- человек читаемый
- определения
- изображение
- осуществлять
- реализация
- Осуществляющий
- важную
- включают
- В том числе
- информация
- инновации
- вход
- размышления
- пример
- интегрированный
- интеграции.
- заинтересованный
- Ирландия
- IT
- саму трезвость
- работа
- путешествие
- Основные
- знания
- язык
- Языки
- большой
- ведущий
- изучение
- уровни
- Библиотека
- рамки
- линия
- LINK
- Linux
- Список
- загрузка
- в местном масштабе
- Лондон
- поиск
- машина
- обучение с помощью машины
- сделать
- рынок
- Совпадение
- значимым
- заседаниях
- Участники
- Метрика
- ML
- модель
- Модели
- Мониторинг
- БОЛЕЕ
- самых
- с разными
- натуральный
- следующий
- узлы
- ноутбук
- Заметки
- предлагающий
- Предложения
- онлайн
- открытый
- работать
- операция
- Оптимизировать
- оптимизированный
- оптимизирующий
- Другое
- собственный
- страсть
- страстный
- производительность
- выполнения
- фразы
- Точка
- Популярное
- мощностью
- Подготовить
- предыдущий
- процесс
- обработка
- производит
- Производство
- Продукция
- проектов
- обеспечивать
- при условии
- приводит
- быстро
- ассортимент
- рекомендует
- снижение
- область
- зарегистрироваться
- запросить
- требовать
- Требования
- Полезные ресурсы
- в результате
- Роли
- Run
- Бег
- то же
- Шкала
- Ученые
- SDK
- бесшовные
- выбранный
- настроение
- Serverless
- Услуги
- набор
- несколько
- показанный
- просто
- одинарной
- So
- Решения
- конкретный
- скорость
- стандарт
- и политические лидеры
- современное состояние
- Статус:
- диск
- поддержка
- Стабильность
- системы
- задачи
- снижения вреда
- Технологии
- Тестирование
- Ассоциация
- три
- Через
- время
- кропотливый
- инструменты
- тема
- Обучение
- Переводы
- надежных
- Типы
- типично
- Uk
- под
- понимать
- понимание
- созданного
- использование
- разнообразие
- различный
- версия
- вертикалей
- видение
- тома
- способы
- Web
- веб-сервисы
- в
- без
- слова
- работает
- X
- лет
- ВАШЕ