У цій публікації ми покажемо вам, як реалізувати одну з найбільш завантажуваних попередньо навчених моделей Hugging Face, що використовуються для узагальнення тексту, DistilBART-CNN-12-6, у блокноті Jupyter за допомогою Amazon SageMaker і SageMaker Hugging Face Inference Toolkit. На основі кроків, показаних у цій публікації, ви можете спробувати узагальнити текст із Вікітекст-2 набору даних керується fast.ai, доступний за адресою Реєстр відкритих даних на AWS.
Глобальні обсяги даних зростають у масштабі зеттабайт, оскільки компанії та споживачі розширюють використання цифрових продуктів та онлайн-сервісів. Щоб краще зрозуміти ці зростаючі дані, методи машинного навчання (ML) обробки природною мовою (NLP) для аналізу тексту були розроблені для вирішення випадків використання, що включають узагальнення тексту, розпізнавання сутностей, класифікацію, переклад тощо. AWS пропонує попереднє навчання Сервіси AWS AI які можна інтегрувати в програми за допомогою викликів API і не потребують досвіду ML. Наприклад, «Амазонка» може виконувати завдання НЛП, такі як розпізнавання користувацьких сутностей, аналіз настроїв, виділення ключових фраз, моделювання тем тощо, щоб отримати інформацію з тексту. Це може виконувати аналіз тексту на різних мовах за його різноманітні особливості.
Узагальнення тексту є корисною технікою для розуміння великих обсягів текстових даних, оскільки воно створює підмножину контекстуально значущої інформації з вихідних документів. Ви можете застосувати цю техніку НЛП до текстових документів і статей більш довгої форми, що дозволить пришвидшити використання та ефективніше індексувати документи, наприклад, для узагальнення нотаток про дзвінки з зустрічей.
Обіймати обличчя це популярна бібліотека з відкритим вихідним кодом для НЛП, що містить понад 49,000 185 попередньо навчених моделей більш ніж XNUMX мовами з підтримкою різних фреймворків. AWS і Hugging Face мають a партнерство що забезпечує безперебійну інтеграцію через SageMaker з набором контейнерів глибокого навчання (DLC) AWS для навчання та висновків у PyTorch або TensorFlow, а також оцінювачами та предикторами Hugging Face для SageMaker Python SDK. Ці можливості в SageMaker допомагають розробникам і дослідникам даних легше розпочати роботу з НЛП на AWS. Обробка текстів за допомогою трансформаторів у фреймворках глибокого навчання, таких як PyTorch, як правило, є складним і трудомістким завданням для науковців даних, що часто призводить до розчарування та недостатньої ефективності при розробці проектів НЛП. Зростання AI-спільнот, таких як Hugging Face, у поєднанні з потужністю сервісів машинного навчання в хмарі, як-от SageMaker, прискорюють і спрощують розробку цих завдань обробки тексту. SageMaker допомагає створювати, навчати, розгортати та впроваджувати моделі Hugging Face.
Огляд узагальнення тексту
Ви можете застосувати узагальнення тексту для визначення ключових речень у документі або визначення ключових речень у кількох документах. Підсумування тексту може створювати два типи резюме: екстрактивне та абстрактне. Витягувані підсумки не містять машинно згенерованого тексту і представляють собою набір важливих речень, вибраних із вхідного документа. Абстрактні резюме містять нові зрозумілі людині фрази та речення, згенеровані моделлю узагальнення тексту. Більшість систем узагальнення тексту засновані на екстрактивному підсумовуванні, тому що точного абстрактного узагальнення тексту важко досягти.
Hugging Face має понад 400 попередньо підготовлених найсучасніших Доступні моделі узагальнення тексту, реалізуючи різні комбінації технік НЛП. Ці моделі навчаються на різних наборах даних, завантажуються та підтримуються технологічними компаніями та членами спільноти Hugging Face. Ви можете фільтрувати моделі за найбільшою кількістю завантажуваних або найбільш подобаних моделей і безпосередньо завантажувати їх під час використання конвеєр підсумків Hugging Face transformer API. Трансформатор Hugging Face спрощує процес впровадження НЛП, щоб високопродуктивні моделі НЛП можна було точно налаштувати для надання текстових зведень, не вимагаючи великих знань з ML.
Моделі узагальнення тексту Hugging Face на AWS
SageMaker пропонує бізнес-аналітикам, науковцям з даних та інженерам MLOps вибір інструментів для проектування та керування робочими навантаженнями ML на AWS. Ці інструменти забезпечують швидшу реалізацію та тестування моделей машинного навчання для досягнення оптимальних результатів.
Від SageMaker Hugging Face Inference Toolkit, бібліотека з відкритим вихідним кодом, ми викладаємо три різні способи реалізації та розміщення моделей узагальнення тексту Hugging Face за допомогою блокнота Jupyter:
- Конвеєр підсумків Hugging Face - Створити Конвеєр підсумків Hugging Face за допомогою
summarization
” ідентифікатор завдання, щоб використовувати модель узагальнення тексту за замовчуванням для висновку у вашому блокноті Jupyter. Ці конвеєри абстрагують складний код, пропонуючи початківцям, які практикують ML, простий API для швидкої реалізації узагальнення тексту без налаштування кінцевої точки висновку. Конвеєр також дозволяє фахівцеві, що практикує ML, вибрати конкретну попередньо навчену модель і пов’язаний з нею токенізатор. Токенізатори готують текст до готовності як вхідних даних для моделі, розбиваючи текст на слова або підслова, які потім перетворюються на ідентифікатори за допомогою таблиці пошуку. Для простоти наведений нижче фрагмент коду передбачає регістр за замовчуванням при використанні конвеєрів. The DistilBART-CNN-12-6 модель є однією з найбільш завантажуваних моделей узагальнення на Hugging Face і є модель за замовчуванням для конвеєра підсумовування. Останній рядок викликає попередньо навчену модель, щоб отримати підсумок для переданого тексту з урахуванням двох наданих аргументів. - Кінцева точка SageMaker із попередньо навченою моделлю – Створіть кінцеву точку SageMaker з попередньо навченою моделлю з Hugging Face Model Hub і розгорніть його на кінцевій точці висновку, як-от екземпляр ml.m5.xlarge у наведеному нижче фрагменті коду. Цей метод дозволяє досвідченим практикам ML швидко вибирати конкретні моделі з відкритим вихідним кодом, точно налаштовувати їх і розгортати моделі на високопродуктивних екземплярах висновку.
- Кінцева точка SageMaker із навченою моделлю – Створіть кінцеву точку моделі SageMaker із навченою моделлю, що зберігається в файлі Служба простого зберігання Amazon (Amazon S3) і розгорніть його на кінцевій точці висновку. Цей метод дозволяє досвідченим практикам ML швидко розгортати власні моделі, збережені на Amazon S3, на високопродуктивних екземплярах висновку. Сама модель завантажується з Hugging Face і стискається, а потім може бути завантажена на Amazon S3. Цей крок демонструється в наступному фрагменті коду:
AWS має кілька доступних ресурсів, які допоможуть вам розгорнути робочі навантаження ML. The Об’єктив машинного навчання в Добре архітектурна платформа AWS рекомендує найкращі методи роботи з ML, включаючи оптимізацію ресурсів і зниження витрат. Ці рекомендовані принципи проектування гарантують, що добре спроектовані робочі навантаження ML на AWS будуть розгорнуті у виробництво. Amazon SageMaker Inference Recommender допомагає вибрати правильний екземпляр для розгортання ваших моделей машинного навчання з оптимальною продуктивністю та вартістю висновку. Inference Recommender прискорює розгортання моделі та скорочує час виходу на ринок завдяки автоматизації навантажувального тестування та оптимізації продуктивності моделі в екземплярах ML.
У наступних розділах ми продемонструємо, як завантажити навчену модель із сегмента S3 та розгорнути її у відповідний екземпляр висновку.
Передумови
Для цього покрокового керівництва ви повинні мати такі передумови:
- An Обліковий запис AWS.
- Блокнот Jupyter всередині Студія Amazon SageMaker або екземпляри блокнота SageMaker. У цій публікації ми використовуємо зображення «Python 3 (PyTorch 1.4 Python 3.6 CPU Optimized)» із наданими фрагментами коду, але ви можете використовувати будь-яке інше зображення PyTorch вищої версії з доступні ядра SageMaker.
- Набір даних у вашому сегменті S3, наприклад Вікітекст-2 набір даних з Реєстр відкритих даних на AWS.
Завантажте модель «Обіймає обличчя» в SageMaker, щоб узагальнити текст
Використовуйте наступний код, щоб завантажити попередньо навчену модель узагальнення тексту Hugging Face DistilBART-CNN-12-6 та його токенізатор, і збережіть їх локально в SageMaker у вашому каталозі ноутбука Jupyter:
Стисніть збережену модель підсумовування тексту та її токенізатор у формат tar.gz та завантажте стиснутий артефакт моделі в сегмент S3:
Виберіть висновок зображення контейнера Docker зробити висновок узагальнення тексту. Визначте версію ОС Linux, фреймворк PyTorch і Hugging Face Transformer і вкажіть Обчислювальна хмара Amazon Elastic (Amazon EC2) тип екземпляра для запуску контейнера.
Образ Docker доступний у файлі Реєстр контейнерів Amazon Elastic (Amazon ECR) того самого облікового запису AWS, а посилання для цього зображення контейнера повертається як URI.
Визначте модель узагальнення тексту, яка буде розгорнута вибраним зображенням контейнера, виконуючи висновок. У наступному фрагменті коду розгорнута стиснена модель, завантажена в Amazon S3:
Перевірте розгорнуту модель узагальнення тексту на зразку введення:
Використовуйте Inference Recommender, щоб оцінити оптимальний екземпляр EC2 для завдання висновку
Далі створіть кілька зразків корисного навантаження введеного тексту у форматі JSON і стисніть їх в один файл корисного навантаження. Ці зразки корисного навантаження використовуються Inference Recommender для порівняння продуктивності висновку між різними типами екземплярів EC2. Кожен із зразків корисних даних має відповідати формату JSON, показаному раніше. Ви можете отримати приклади з Вікітекст-2 набору даних керується fast.ai, доступний за адресою Реєстр відкритих даних на AWS.
Завантажте артефакт моделі узагальнення стисненого тексту та стиснутий зразок корисного файлу в сегмент S3. Ми завантажили модель на попередньому кроці, але для ясності додаємо код, щоб завантажити її знову:
Перегляньте список стандартних моделей ML, доступних на SageMaker типові зоопарки, таких як НЛП і комп'ютерний зір. Виберіть модель НЛП для виконання висновку з підсумовування тексту:
У наступному прикладі використовується bert-base-cased
Модель НЛП. Зареєструйте модель узагальнення тексту в Реєстр моделі SageMaker з правильно визначеним доменом, структурою та завданням з попереднього кроку. Параметри для цього прикладу показані на початку наступного фрагмента коду.
Зверніть увагу на діапазон типів екземплярів EC2, які будуть оцінені Inference Recommender SupportedRealtimeInferenceInstanceTypes
у наступному коді. Переконайтеся, що ліміти обслуговування для облікового запису AWS дозволяють розгортати ці типи вузлів висновку.
Створіть завдання за замовчуванням Recommender Inference Recommender за допомогою ModelPackageVersion
в результаті попереднього кроку. The uuid
Бібліотека Python використовується для створення унікальної назви завдання.
Ви можете отримати статус завдання Inference Recommender, запустивши такий код:
Коли статус роботи COMPLETED
, порівняйте затримку висновку, час виконання та інші показники типів екземплярів EC2, оцінені завданням Inference Recommender за замовчуванням. Виберіть відповідний тип вузла на основі ваших вимог.
Висновок
SageMaker пропонує кілька способів використання моделей Hugging Face; більше прикладів див Зразки AWS GitHub. Залежно від складності варіанту використання та необхідності точного налаштування моделі можна вибрати оптимальний спосіб використання цих моделей. Конвеєри Hugging Face можуть стати гарною відправною точкою для швидкого експерименту та вибору відповідних моделей. Коли вам потрібно налаштувати та параметризувати вибрані моделі, ви можете завантажити моделі та розгорнути їх у налаштованих кінцевих точках висновку. Щоб детальніше налаштувати модель для конкретного випадку використання, вам потрібно буде навчити модель після її завантаження.
Моделі НЛП загалом, включаючи моделі узагальнення тексту, працюють краще після навчання на наборі даних, який є специфічним для випадку використання. MLOP і функції моніторингу моделі SageMaker гарантують, що розгорнута модель продовжує працювати в межах очікувань. У цій публікації ми використали Inference Recommender, щоб оцінити найкращий тип екземпляра для розгортання моделі узагальнення тексту. Ці рекомендації можуть оптимізувати продуктивність і вартість для вашого випадку використання ML.
Про авторів
Доктор Нідал Аль-Бейруті є старшим архітектором рішень Amazon Web Services, який захоплюється рішеннями машинного навчання. Нідал має понад 25-річний досвід роботи на різних глобальних IT-ролях на різних рівнях і вертикалях. Nidal виступає в якості надійного радника для багатьох клієнтів AWS, щоб підтримати та прискорити їхнє впровадження в хмару.
Даррен Ко є архітектором рішень із Лондона. Він консультує клієнтів малого та середнього бізнесу у Великобританії та Ірландії щодо реорганізації та інновацій у хмарі. Даррена цікавлять програми, створені з безсерверною архітектурою, і він захоплений вирішенням проблем стійкості за допомогою машинного навчання.
- Coinsmart. Найкраща в Європі біржа біткойн та криптовалют.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. БЕЗКОШТОВНИЙ ДОСТУП.
- CryptoHawk. Альткойн Радар. Безкоштовне випробування.
- Джерело: https://aws.amazon.com/blogs/machine-learning/text-summarization-with-amazon-sagemaker-and-hugging-face/
- '
- "
- 000
- 10
- 100
- 28
- a
- МЕНЮ
- РЕЗЮМЕ
- прискорювати
- рахунки
- точний
- Achieve
- через
- адреса
- Прийняття
- радник
- AI
- дозволяє
- Amazon
- Amazon Web Services
- суми
- аналіз
- API
- Apple
- застосування
- Застосовувати
- аргументація
- статті
- асоційований
- автоматизація
- доступний
- нагороджений
- AWS
- оскільки
- початок
- буття
- КРАЩЕ
- передового досвіду
- між
- будувати
- бізнес
- call
- Може отримати
- можливості
- випадок
- випадків
- проблеми
- вибір
- клас
- класифікація
- хмара
- код
- збір
- комбінації
- комбінований
- спільноти
- співтовариство
- Компанії
- комплекс
- обчислення
- комп'ютер
- конфігурація
- Споживачі
- споживання
- Контейнер
- Контейнери
- триває
- створювати
- створює
- виготовлений на замовлення
- Клієнти
- налаштувати
- дані
- день
- глибокий
- доставка
- демонструвати
- продемонстрований
- Залежно
- розгортання
- розгорнути
- розгортання
- розгортання
- дизайн
- розробників
- розвивається
- розробка
- різний
- важкий
- цифровий
- безпосередньо
- дисплей
- Docker
- Лікар
- документація
- домен
- домени
- скачати
- кожен
- легко
- Ефективний
- ефективність
- дозволяє
- Кінцева точка
- Інженери
- суб'єкта
- Навколишнє середовище
- оцінювати
- приклад
- Приклади
- Розширювати
- очікування
- досвід
- досвідчений
- експеримент
- обширний
- Face
- ШВИДКО
- швидше
- риси
- після
- формат
- Рамки
- каркаси
- від
- Загальне
- породжувати
- генерується
- Глобальний
- добре
- Зростання
- допомога
- корисний
- допомагає
- вище
- Як
- How To
- HTTPS
- Концентратор
- читається людиною
- ідентифікувати
- зображення
- здійснювати
- реалізація
- реалізації
- важливо
- включати
- У тому числі
- інформація
- інноваційний
- вхід
- розуміння
- екземпляр
- інтегрований
- інтеграція
- зацікавлений
- Ірландія
- IT
- сам
- робота
- подорож
- ключ
- знання
- мова
- мови
- великий
- провідний
- вивчення
- рівні
- бібліотека
- рамки
- Лінія
- LINK
- Linux
- список
- загрузка
- локально
- Лондон
- пошук
- машина
- навчання за допомогою машини
- зробити
- ринок
- матч
- значущим
- зустрічі
- члени
- Метрика
- ML
- модель
- Моделі
- моніторинг
- більше
- найбільш
- множинний
- Природний
- наступний
- вузли
- ноутбук
- примітки
- пропонує
- Пропозиції
- онлайн
- відкрити
- працювати
- операція
- Оптимізувати
- оптимізований
- оптимізуючий
- Інше
- власний
- пристрасть
- пристрасний
- продуктивність
- виконанні
- фрази
- точка
- популярний
- влада
- Готувати
- попередній
- процес
- обробка
- виробляти
- Production
- Продукти
- проектів
- забезпечувати
- за умови
- забезпечує
- швидко
- діапазон
- рекомендує
- зниження
- регіон
- реєструвати
- запросити
- вимагати
- Вимога
- ресурси
- в результаті
- Роль
- прогін
- біг
- то ж
- шкала
- Вчені
- Sdk
- безшовні
- обраний
- настрій
- Без сервера
- Послуги
- комплект
- кілька
- показаний
- простий
- один
- So
- Рішення
- конкретний
- швидкість
- standard
- почалася
- впроваджений
- Статус
- зберігання
- підтримка
- Sustainability
- Systems
- завдання
- методи
- Технологія
- Тестування
- Команда
- три
- через
- час
- трудомісткий
- інструменти
- тема
- Навчання
- Переклад
- Довірений
- Типи
- типово
- Uk
- при
- розуміти
- розуміння
- створеного
- використання
- різноманітність
- різний
- версія
- вертикалі
- бачення
- Обсяги
- способи
- Web
- веб-сервіси
- в
- без
- слова
- робочий
- X
- років
- вашу