Обробка природної мови (NLP) — це область машинного навчання (ML), яка займається наданням комп’ютерам здатності розуміти текст і вимовлені слова так само, як це можуть зробити люди. Останнім часом такі сучасні архітектури, як трансформаторна архітектура використовуються для досягнення майже людської продуктивності в наступних завданнях НЛП, таких як узагальнення тексту, класифікація тексту, розпізнавання сутностей тощо.
Великі мовні моделі (LLM) — це трансформаторні моделі, навчені на великій кількості тексту без міток із сотнями мільйонів (БЕРТ) до понад трильйона параметрів (MiCS), розмір якого робить навчання з одним GPU непрактичним. Через притаманну їм складність навчання LLM з нуля є дуже складним завданням, яке можуть собі дозволити лише деякі організації. Загальною практикою для подальших завдань НЛП є взяти попередньо підготовленого магістра права та налаштувати його. Додаткову інформацію про точне налаштування див Адаптація до домену Точне налаштування базових моделей в Amazon SageMaker JumpStart on Financial data та Точна настройка мовних моделей трансформаторів для мовного розмаїття за допомогою Hugging Face на Amazon SageMaker.
Безпосереднє навчання в НЛП дозволяє a попередньо підготовлений LLM генерувати відповіді на завдання, для яких його явно не навчили (навіть без тонкого налаштування). Якщо говорити конкретно про класифікацію тексту, класифікація тексту з нуля це завдання обробки природної мови, де модель NLP використовується для класифікації тексту з невидимих класів, на відміну від контрольована класифікація, де моделі NLP можуть класифікувати лише текст, який належить до класів у навчальних даних.
Нещодавно ми запустили підтримку моделі класифікації нульового удару в Amazon SageMaker JumpStart. SageMaker JumpStart є центром машинного навчання Amazon SageMaker який надає доступ до попередньо підготовлених базових моделей (FM), LLM, вбудованих алгоритмів і шаблонів рішень, які допоможуть вам швидко розпочати роботу з машинним навчанням. У цьому дописі ми покажемо, як можна виконати класифікацію з нульового удару за допомогою попередньо навчених моделей у SageMaker Jumpstart. Ви дізнаєтесь, як використовувати SageMaker Jumpstart UI та SageMaker Python SDK для розгортання рішення та виконання висновків за допомогою доступних моделей.
Навчання з нульовим пострілом
Класифікація з нульовим ударом — це парадигма, за якою модель може класифікувати нові, невидимі приклади, які належать до класів, яких не було в навчальних даних. Наприклад, мовну модель, навчену розуміти людську мову, можна використовувати для класифікації твітів з новорічними обіцянками на кілька класів, як-от career
, health
та finance
, без явного навчання моделі мови на задачі класифікації тексту. Це на відміну від точного налаштування моделі, оскільки останнє передбачає повторне навчання моделі (через навчання за перенесенням), тоді як навчання з нульовим випадком не потребує додаткового навчання.
Наступна діаграма ілюструє відмінності між навчанням за перенесенням (ліворуч) і навчанням з нульовим випадком (праворуч).
Інь та ін. запропонував структуру для створення нульових класифікаторів з використанням природного мовного висновку (NLI). Структура працює, створюючи послідовність, яку потрібно класифікувати як передумову NLI, і будує гіпотезу з кожної мітки-кандидата. Наприклад, якщо ми хочемо оцінити, чи належить послідовність до класу politics
, ми могли б побудувати гіпотезу «Цей текст про політику». Імовірності випливання та протиріччя потім перетворюються на ймовірності міток. Як короткий огляд NLI розглядає два речення: передумову та гіпотезу. Завдання полягає в тому, щоб визначити, чи є гіпотеза істинною (виведення) чи хибною (протиріччя) з огляду на передумову. У наступній таблиці наведено кілька прикладів.
Приміщення | етикетка | Гіпотеза |
Чоловік оглядає уніформу фігури в якійсь східно-азійській країні. | протиріччя | Чоловік спить. |
Старший і молодший чоловіки посміхаються. | Нейтральний | Двоє чоловіків посміхаються і сміються над котами, які граються на підлозі. |
Футбольна гра за участю кількох чоловіків. | тяга | Деякі чоловіки займаються спортом. |
Огляд рішення
У цій публікації ми обговорюємо наступне:
- Як розгорнути попередньо підготовлені моделі текстової класифікації з нульовим ударом за допомогою інтерфейсу користувача SageMaker JumpStart і виконати висновок на розгорнутій моделі за допомогою коротких текстових даних
- Як використовувати SageMaker Python SDK для доступу до попередньо підготовлених моделей класифікації тексту з нульовим ударом у SageMaker JumpStart і використовувати сценарій висновку для розгортання моделі в кінцевій точці SageMaker для використання класифікації тексту в реальному часі
- Як використовувати SageMaker Python SDK для доступу до попередньо підготовлених моделей класифікації тексту з нульовим ударом і використання пакетного перетворення SageMaker для сценарію використання класифікації пакетного тексту
SageMaker JumpStart забезпечує тонке налаштування та розгортання одним клацанням миші для широкого спектру попередньо навчених моделей для популярних завдань ML, а також набір наскрізних рішень, які вирішують типові бізнес-проблеми. Ці функції знімають важку роботу з кожного етапу процесу машинного навчання, спрощуючи розробку високоякісних моделей і скорочуючи час до розгортання. The API JumpStart дозволяють програмним шляхом розгортати та точно налаштовувати широкий вибір попередньо навчених моделей на ваших власних наборах даних.
Центр моделей JumpStart надає доступ до великої кількості моделей NLP, які дозволяють передати навчання та точне налаштування користувацьких наборів даних. На момент написання цієї статті центр моделей JumpStart містить понад 300 текстових моделей у різноманітних популярних моделях, таких як Stable Diffusion, Flan T5, Alexa TM, Bloom тощо.
Зауважте, що, виконавши кроки в цьому розділі, ви розгорнете інфраструктуру свого облікового запису AWS, що може спричинити витрати.
Розгорніть окрему модель класифікації тексту з нуля
У цьому розділі ми демонструємо, як розгорнути модель класифікації нульового удару за допомогою SageMaker JumpStart. Ви можете отримати доступ до попередньо навчених моделей через цільову сторінку JumpStart у Студія Amazon SageMaker. Виконайте наступні дії:
- У SageMaker Studio відкрийте цільову сторінку JumpStart.
Відноситься до Відкрийте та використовуйте JumpStart щоб дізнатися більше про те, як перейти до SageMaker JumpStart. - У Текстові моделі каруселі, знайдіть картку моделі «Класифікація нульового тексту».
- Вибирати Переглянути модель щоб отримати доступ до
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 — це наскрізні рішення в один клік для багатьох типових випадків використання машинного навчання. На момент написання цієї статті доступно понад 20 рішень для різноманітних випадків використання, таких як прогнозування попиту, виявлення шахрайства та персоналізовані рекомендації тощо.
Рішення Zero Shot Text Classification with Hugging Face дає змогу класифікувати текст без необхідності навчання моделі для певних міток (класифікація нульового пострілу) за допомогою попередньо навченого класифікатора тексту. Стандартною моделлю класифікації нульового удару для цього рішення є facebook-bart-large-mnli (BART) моделі. Для цього рішення ми використовуємо Набір даних про новорічні рішення 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
модель за допомогою SageMaker Python SDK. Виконайте наступні дії:
- Відформатуйте вхідні дані у форматі рядків JSON і завантажте файл на Amazon S3.
Пакетне перетворення SageMaker виконає висновок на основі точок даних, завантажених у файл S3. - Налаштуйте артефакти розгортання моделі з такими параметрами:
- Model_id - Використовуйте
huggingface-zstc-facebook-bart-large-mnli
. - deploy_image_uri - Використовувати
image_uris
Функція Python SDK для отримання попередньо створеного образу SageMaker Docker дляmodel_id
. Функція повертає Реєстр контейнерів Amazon Elastic (Amazon ECR) URI. - deploy_source_uri – Використовувати
script_uris
API утиліти для отримання URI S3, який містить сценарії для запуску попередньо навченого висновку моделі. Уточнюємо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» (скорочення від zero-shot text classification) у рядку пошуку, щоб знайти всі моделі, здатні здійснювати zero-shot text classification.
Прибирати
Після того, як ви завершите роботу блокнота, обов’язково видаліть усі ресурси, створені в процесі, щоб гарантувати, що витрати, понесені активами, розгорнутими в цьому посібнику, зупинені. Код для очищення розгорнутих ресурсів надається в блокнотах, пов’язаних із рішенням і моделлю нульової класифікації тексту.
Конфігурації безпеки за замовчуванням
Моделі SageMaker JumpStart розгортаються з використанням таких стандартних конфігурацій безпеки:
Щоб дізнатися більше про теми, пов’язані з безпекою SageMaker, перегляньте Налаштуйте безпеку в Amazon SageMaker.
Висновок
У цій публікації ми показали вам, як розгорнути модель класифікації з нульовим випадком за допомогою інтерфейсу користувача SageMaker JumpStart і зробити висновки за допомогою розгорнутої кінцевої точки. Ми використали рішення SageMaker JumpStart для новорічних резолюцій, щоб показати, як ви можете використовувати SageMaker Python SDK для створення наскрізного рішення та впровадження програми класифікації з нульовим випадком. SageMaker JumpStart надає доступ до сотень попередньо підготовлених моделей і рішень для таких завдань, як комп’ютерне бачення, обробка природної мови, системи рекомендацій тощо. Спробуйте рішення самостійно та повідомте нам свої думки.
Про авторів
Девід Ларедо є архітектором прототипування в AWS Envision Engineering в Латинської Америки, де він допоміг розробити кілька прототипів машинного навчання. Раніше він працював інженером машинного навчання та займався машинним навчанням понад 5 років. Сфери його інтересів – НЛП, часові ряди та наскрізне машинобудування.
Вікрам Еланго є архітектором AI/ML Specialist Solutions в Amazon Web Services, що базується у Вірджинії, США. Vikram допомагає клієнтам у фінансовій та страховій галузях завдяки дизайну та інтелектуальному лідерству створювати та розгортати програми машинного навчання в масштабі. Зараз він зосереджений на обробці природної мови, відповідальному штучному інтелекті, оптимізації висновків і масштабуванні ML на підприємстві. У вільний час він любить подорожувати, піти в походи, готувати їжу та кемпінг зі своєю сім’єю.
Доктор Вівек Мадан є прикладним науковцем у команді Amazon SageMaker JumpStart. Він отримав ступінь доктора філософії в Університеті Іллінойсу в Урбана-Шампейн і був науковим співробітником у технічному університеті Джорджії. Він є активним дослідником машинного навчання та розробки алгоритмів і публікував статті на конференціях EMNLP, ICLR, COLT, FOCS і SODA.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. Автомобільні / електромобілі, вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- ChartPrime. Розвивайте свою торгову гру за допомогою ChartPrime. Доступ тут.
- BlockOffsets. Модернізація екологічної компенсаційної власності. Доступ тут.
- джерело: 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
- здатність
- МЕНЮ
- вище
- доступ
- рахунки
- Achieve
- через
- активний
- Додатковий
- проти
- AI
- AI / ML
- AL
- Alexa
- алгоритм
- алгоритми
- ВСІ
- дозволяти
- дозволяє
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- кількість
- an
- та
- будь-який
- API
- додаток
- застосування
- прикладної
- архітектура
- ЕСТЬ
- області
- AS
- азіатський
- Активи
- призначений
- асоційований
- At
- автоматично
- доступний
- AWS
- бар
- база
- заснований
- BE
- було
- буття
- належить
- між
- Цвісти
- тіло
- книги
- сніданок
- будувати
- вбудований
- бізнес
- але
- by
- CAN
- кандидат
- здатний
- карта
- кар'єра
- карусель
- випадків
- категорії
- коти
- складні
- перевірка
- Вибирати
- клас
- класів
- класифікація
- класифікований
- Класифікувати
- код
- Колони
- загальний
- повний
- складність
- комп'ютер
- Комп'ютерне бачення
- комп'ютери
- стурбований
- конференції
- конфігурація
- вважає
- Консоль
- будувати
- Контейнер
- містить
- контрастність
- перероблений
- витрати
- може
- країна
- Пара
- створювати
- створений
- створення
- В даний час
- виготовлений на замовлення
- Клієнти
- дані
- точки даних
- набори даних
- присвячених
- дефолт
- визначати
- певний
- Попит
- Прогнозування попиту
- демонструвати
- залежно
- залежний
- розгортання
- розгорнути
- розгортання
- дизайн
- бажаний
- деталі
- Виявлення
- Визначати
- розвивати
- розробка
- Відмінності
- радіомовлення
- обговорювати
- різноманітність
- Docker
- документація
- Ні
- справи
- зроблений
- два
- E&T
- кожен
- Схід
- Освіта
- включіть
- шифрування
- кінець в кінець
- Кінцева точка
- інженер
- Машинобудування
- забезпечувати
- підприємство
- суб'єкта
- передбачення
- оцінювати
- Навіть
- приклад
- Приклади
- Face
- false
- сім'я
- риси
- кілька
- поле
- Рисунок
- філе
- фінансування
- фінансовий
- знайти
- Поверх
- увагу
- після
- для
- формат
- фонд
- Рамки
- шахрайство
- виявлення шахрайства
- від
- функція
- гра
- породжувати
- Грузія
- отримати
- GitHub
- даний
- дає
- Земля
- Зростання
- керівництво
- Обробка
- Мати
- he
- здоров'я
- важкий
- важкий підйом
- допомога
- допоміг
- допомагає
- високоякісний
- його
- хостинг
- хостів
- Як
- How To
- HTML
- HTTP
- HTTPS
- Концентратор
- людина
- гумор
- Сотні
- сотні мільйонів
- ID
- Особистість
- if
- Іллінойс
- ілюструє
- зображення
- здійснювати
- імпорт
- in
- включені
- includes
- промисловість
- інформація
- Інфраструктура
- притаманне
- вхід
- витрати
- екземпляр
- страхування
- інтерес
- IT
- робота
- Джобс
- JPG
- json
- ключ
- ключі
- Знати
- етикетка
- етикетки
- посадка
- мова
- великий
- LATAM
- запущений
- Керівництво
- УЧИТЬСЯ
- вивчення
- залишити
- дозволяти
- підйомний
- як
- Лінія
- ліній
- список
- LLM
- погрузка
- ВИГЛЯДИ
- машина
- навчання за допомогою машини
- зробити
- РОБОТИ
- людина
- управління
- багато
- Макс
- Може..
- люди
- метод
- мільйони
- хвилин
- хвилин
- ML
- модель
- Моделі
- монітор
- більше
- множинний
- my
- ім'я
- Природний
- Обробка природних мов
- Переміщення
- навігація
- Необхідність
- Нові
- Новий рік
- nlp
- немає
- ноутбук
- номер
- об'єкт
- of
- on
- тільки
- відкрити
- оптимізація
- or
- порядок
- організації
- оригінал
- Інше
- з
- вихід
- над
- власний
- сторінка
- pane
- документи
- парадигма
- параметри
- частина
- шлях
- для
- Виконувати
- продуктивність
- Дозволи
- персонал
- Персоналізовані
- Вчений ступінь
- МЕЖЕВІТНІСТЬ
- трубопровід
- plato
- Інформація про дані Платона
- PlatoData
- ігри
- точок
- політика
- популярний
- пошта
- практика
- прогноз
- Прогнози
- представити
- раніше
- проблеми
- процес
- обробка
- запропонований
- Прототипи
- макетування
- забезпечувати
- за умови
- забезпечує
- забезпечення
- опублікований
- Python
- піторх
- Швидко
- швидко
- Читати
- реальний
- реального часу
- нещодавно
- визнання
- Рекомендація
- рекомендації
- зниження
- видаляти
- запросити
- вимагати
- вимагається
- дослідник
- ресурси
- відповідь
- відповіді
- відповідальний
- результат
- результати
- Умови повернення
- огляд
- право
- Роль
- прогін
- біг
- s
- мудрець
- то ж
- зберегти
- шкала
- Масштабування
- вчений
- рахунок
- подряпати
- scripts
- прокрутки
- Sdk
- Пошук
- розділ
- безпеку
- побачити
- вибір
- Послідовність
- Серія
- Послуги
- налаштування
- Короткий
- постріл
- Показувати
- показав
- простий
- спрощення
- з
- Розмір
- Футбол
- рішення
- Рішення
- ВИРІШИТИ
- деякі
- що в сім'ї щось
- розмова
- спеціаліст
- конкретний
- конкретно
- зазначений
- говорять
- Спорт
- стабільний
- автономні
- старт
- почалася
- впроваджений
- залишатися
- Крок
- заходи
- зупинений
- зберігання
- зберігання
- рядок
- структура
- студія
- такі
- підтримка
- Переконайтеся
- Systems
- таблиця
- Приймати
- приймає
- Завдання
- завдання
- команда
- технології
- Шаблони
- Класифікація тексту
- Що
- Команда
- їх
- потім
- Ці
- це
- думка
- думка лідерства
- через
- час
- Часовий ряд
- TM
- до
- теми
- поїзд
- навчений
- Навчання
- переклад
- Перетворення
- Перетворення
- трансформатор
- Трансформатори
- Подорож
- трильйон
- правда
- Правда
- намагатися
- твітів
- два
- тип
- ui
- при
- розуміти
- університет
- завантажено
- us
- використання
- використовуваний
- використання
- утиліта
- різноманітність
- величезний
- версія
- дуже
- Відео
- Віргінія
- бачення
- vs
- покрокове керівництво
- хотіти
- було
- шлях..
- we
- Web
- веб-сервіси
- ДОБРЕ
- були
- коли
- Чи
- в той час як
- чий
- широкий
- волі
- з
- без
- слова
- працював
- працює
- лист
- рік
- років
- Ти
- молодший
- вашу
- зефірнет
- нуль
- Zero-Shot Навчання