AWS виконує тонке налаштування великої мовної моделі (LLM) для класифікації токсичного мовлення для великої ігрової компанії | Веб-сервіси Amazon

AWS виконує тонке налаштування великої мовної моделі (LLM) для класифікації токсичного мовлення для великої ігрової компанії | Веб-сервіси Amazon

Індустрія відеоігор має приблизно 3 мільярди користувачів у всьому світі1. Він складається з величезної кількості гравців, які віртуально взаємодіють один з одним щодня. На жаль, як і в реальному світі, не всі гравці спілкуються належним чином і з повагою. Щоб створити та підтримувати соціально відповідальне ігрове середовище, AWS Professional Services попросили створити механізм, який виявляє неприйнятну мову (токсичну мову) під час взаємодії гравців онлайн-ігор. Загальний бізнес-результат полягав у покращенні операцій організації шляхом автоматизації існуючого ручного процесу та покращенні взаємодії з користувачем шляхом підвищення швидкості та якості виявлення невідповідної взаємодії між гравцями, що в кінцевому підсумку сприяло чистішому та здоровішому ігровому середовищу.

Клієнт просив створити детектор англійської мови, який класифікує уривки голосу та тексту за власними категоріями токсичної мови. Вони хотіли спочатку визначити, чи є даний уривок мовлення токсичним, а потім класифікувати уривок у конкретну визначену клієнтом категорію токсичності, як-от нецензурна лексика або образлива лексика.

AWS ProServe вирішив цей варіант використання завдяки спільним зусиллям Generative AI Innovation Center (GAIIC) і ProServe ML Delivery Team (MLDT). AWS GAIIC — це група в AWS ProServe, яка об’єднує клієнтів із експертами для розробки генеративних рішень штучного інтелекту для широкого спектру бізнес-випадків використання, використовуючи збірки з підтвердженням концепції (PoC). Потім AWS ProServe MLDT виконує PoC у виробництві шляхом масштабування, зміцнення та інтеграції рішення для клієнта.

Цей приклад використання клієнтом буде продемонстровано в двох окремих публікаціях. Ця публікація (частина 1) є глибоким зануренням у наукову методологію. Він пояснює процес мислення та експериментування, що стоять за рішенням, у тому числі процес навчання та розробки моделі. Частина 2 заглиблюється в виробниче рішення, пояснюючи рішення щодо дизайну, потік даних і ілюструючи архітектуру навчання та розгортання моделі.

Ця публікація охоплює такі теми:

  • Проблеми, які AWS ProServe довелося вирішити для цього випадку використання
  • Історичний контекст про великі мовні моделі (LLM) і чому ця технологія ідеально підходить для цього випадку використання
  • Рішення PoC від AWS GAIIC і AWS ProServe MLDT з точки зору науки про дані та машинного навчання (ML)

Виклик даних

Основна проблема, з якою зіткнувся AWS ProServe під час навчання токсичного класифікатора мови, полягала в тому, щоб отримати від клієнта достатньо позначених даних для навчання точної моделі з нуля. AWS отримала близько 100 зразків позначених даних від замовника, що набагато менше, ніж 1,000 зразків, рекомендованих для точного налаштування LLM у спільноті наукових досліджень даних.

Історично відомо, що навчання класифікаторів обробки природної мови (NLP) є додатковим невід’ємним завданням і є дуже дорогим для навчання та потребує великого набору словників, відомого як тіло, щоб робити точні прогнози. Суворим і ефективним рішенням НЛП, якщо надати достатню кількість мічених даних, було б навчання спеціальної мовної моделі з використанням мічених даних клієнта. Модель буде навчено виключно з використанням ігрової лексики гравців, що робить її адаптованою до мови, яка спостерігається в іграх. Клієнт мав як фінансові, так і часові обмеження, які зробили це рішення нежиттєздатним. AWS ProServe був змушений знайти рішення для навчання точного класифікатора токсичності мови з відносно невеликим набором даних з мітками. Рішення полягало в тому, що відомо як трансферне навчання.

Ідея перенесення навчання полягає у використанні знань попередньо навченої моделі та застосуванні їх до іншої, але відносно подібної проблеми. Наприклад, якщо класифікатор зображень був навчений передбачати, чи зображення містить кота, ви можете використовувати знання, отримані моделлю під час навчання, щоб розпізнавати інших тварин, наприклад тигрів. Для цього випадку використання мови AWS ProServe потрібно було знайти попередньо навчений класифікатор мови, який був навчений виявляти токсичну мову та точно налаштовувати її за допомогою даних клієнта з мітками.

Рішенням було знайти та налаштувати LLM для класифікації токсичної мови. LLM — це нейронні мережі, які були навчені з використанням величезної кількості параметрів, як правило, порядку мільярдів, з використанням немаркованих даних. Перш ніж перейти до рішення AWS, у наступному розділі наведено огляд історії LLM та попередні випадки їх використання.

Використовуйте силу LLM

LLM нещодавно стали центром для компаній, які шукають нові програми машинного навчання, з тих пір, як ChatGPT захопив суспільну думку, ставши найшвидше зростаючою споживчою програмою в історії2, досягнувши 100 мільйонів активних користувачів до січня 2023 року, лише через 2 місяці після випуску. Однак LLM не є новою технологією в просторі ML. Вони широко використовувалися для виконання завдань НЛП, таких як аналіз настроїв, узагальнення корпусів, виділення ключових слів, переклад мови та класифікація тексту.

Через послідовний характер тексту рекурентні нейронні мережі (RNN) були найсучаснішими для моделювання НЛП. Зокрема, кодер-декодер мережева архітектура була сформульована тому, що вона створила структуру RNN, здатну приймати вхід довільної довжини та генерувати вихід довільної довжини. Це ідеально підходить для таких завдань НЛП, як переклад, де вихідну фразу однієї мови можна передбачити з вхідної фрази іншої мови, як правило, з різною кількістю слів між входом і виходом. Архітектура Transformer3 (Vaswani, 2017) було проривним удосконаленням кодера-декодера; це ввело поняття самоувага, що дозволило моделі зосередити свою увагу на різних словах у вхідних і вихідних фразах. У типовому кодері-декодері кожне слово інтерпретується моделлю однаковим чином. Оскільки модель послідовно обробляє кожне слово у вхідній фразі, семантична інформація на початку може бути втрачена до кінця фрази. Механізм самоконтролю змінив це, додавши рівень уваги як до кодера, так і до блоку декодера, щоб модель могла надавати різну вагу певним словам із вхідної фрази під час генерації певного слова у вихідній фразі. Так народилася основа моделі трансформатора.

Архітектура трансформатора була основою для двох найвідоміших і популярних LLM, які використовуються сьогодні, представлень двонаправленого кодувальника від Transformers (BERT).4 (Radford, 2018) і Generative Pretrained Transformer (GPT)5 (Девлін 2018). Пізніші версії моделі GPT, а саме GPT3 і GPT4, є рушієм, який забезпечує роботу програми ChatGPT. Останньою частиною рецепту, яка робить LLM такими потужними, є здатність дистилювати інформацію з величезних текстових корпусів без великого маркування чи попередньої обробки за допомогою процесу під назвою ULMFiT. У цьому методі є фаза попереднього навчання, на якій можна зібрати загальний текст і навчити модель передбачати наступне слово на основі попередніх слів; перевага тут полягає в тому, що будь-який вхідний текст, який використовується для навчання, за своєю суттю попередньо позначений на основі порядку тексту. LLM справді здатні вчитися на даних Інтернет-масштабу. Наприклад, оригінальна модель BERT була попередньо навчена на BookCorpus і цілих наборах текстових даних англійської Вікіпедії.

Ця нова парадигма моделювання породила дві нові концепції: основні моделі (FM) і Generative AI. На відміну від навчання моделі з нуля з даними, що стосуються конкретного завдання, що є звичайним випадком для класичного навчання під керівництвом, LLM попередньо навчаються видобувати загальні знання з широкого текстового набору даних перед адаптацією до конкретних завдань або доменів із набагато меншим обсягом. набір даних (зазвичай порядку сотень зразків). Новий робочий процес ML тепер починається з попередньо навченої моделі, яка називається базовою моделлю. Важливо будувати на правильному фундаменті, і існує все більше варіантів, таких як новий Amazon Titan FM, який буде випущено AWS як частину Amazon Bedrock. Ці нові моделі також вважаються генеративними, тому що їхні виходи інтерпретуються людиною та мають той самий тип даних, що й вхідні дані. У той час як минулі моделі ML були описовими, наприклад, класифікацією зображень котів проти собак, LLM є генеративними, оскільки їхніми результатами є наступний набір слів на основі вхідних слів. Це дозволяє їм використовувати інтерактивні програми, такі як ChatGPT, які можуть бути виразними у вмісті, який вони генерують.

Hugging Face співпрацює з AWS демократизувати FM і зробити їх легкими для доступу та створення. Hugging Face створив a Transformers API який об’єднує понад 50 різних архітектур трансформаторів на різних платформах ML, включаючи доступ до попередньо навчених вагових коефіцієнтів моделей у їх Модель Hub, яка зросла до понад 200,000 XNUMX моделей на момент написання цієї публікації. У наступних розділах ми досліджуємо підтвердження концепції, рішення та FM, які були протестовані та обрані як основа для вирішення цього токсичного випадку використання класифікації мовлення для клієнта.

Підтвердження концепції AWS GAIIC

AWS GAIIC вирішила поекспериментувати з базовими моделями LLM з архітектурою BERT, щоб налаштувати токсичний класифікатор мови. Всього було протестовано три моделі з модельного центру Hugging Face:

Усі три архітектури моделі базуються на BERTweet архітектура. BERTweet навчається на основі РоБЕРТа процедура попередньої підготовки. Процедура попереднього навчання RoBERTa є результатом реплікаційного дослідження попереднього навчання BERT, яке оцінювало вплив налаштування гіперпараметрів і розміру навчального набору для покращення рецепту навчання моделей BERT6 (Лю 2019). Експеримент мав на меті знайти метод попереднього навчання, який би покращив результати продуктивності BERT без зміни базової архітектури. Висновки дослідження показали, що наступні модифікації перед тренуванням суттєво покращили продуктивність BERT:

  • Навчання моделі з більшими пакетами на більшій кількості даних
  • Видалення мети передбачення наступного речення
  • Тренування на більш довгих послідовностях
  • Динамічна зміна шаблону маскування, застосованого до навчальних даних

Модель bertweet-base використовує попередню процедуру попереднього навчання з дослідження RoBERTa для попереднього навчання оригінальної архітектури BERT за допомогою 850 мільйонів твітів англійською мовою. Це перша публічна широкомасштабна мовна модель, попередньо навчена для твітів англійською мовою.

Вважалося, що попередньо підготовлені ФМ, які використовують твіти, відповідають цьому варіанту використання з двох основних теоретичних причин:

  • Довжина твіту дуже схожа на довжину недоречної або токсичної фрази, яку можна знайти в чатах онлайн-ігор
  • Твіти надходять від популяції з великою різноманітністю різних користувачів, подібних до популяції на ігрових платформах

AWS вирішив спочатку точно налаштувати BERTweet за допомогою даних клієнта з мітками, щоб отримати базову лінію. Потім вирішив налаштувати два інших FM в bertweet-base-offensive та bertweet-base-hate, які були додатково навчені спеціально для більш відповідних токсичних твітів для досягнення потенційно вищої точності. Модель bertweet-base-offensive використовує базовий BertTweet FM і попередньо навчена на 14,100 XNUMX анотованих твітів, які вважаються образливими7 (Зампієрі 2019). Модель bertweet-base-hate також використовує базовий BertTweet FM, але попередньо навчена на 19,600 XNUMX твітів, які були визнані мовою ненависті.8 (Базіль 2019).

Щоб ще більше підвищити продуктивність моделі PoC, AWS GAIIC прийняв два конструктивних рішення:

  • Створено двоетапний потік передбачення, де перша модель діє як бінарний класифікатор, який класифікує, чи є фрагмент тексту токсичним чи нетоксичним. Друга модель — це детальна модель, яка класифікує текст на основі визначених замовником токсичних типів. Лише якщо перша модель передбачає, що текст є токсичним, він передається до другої моделі.
  • Доповнено навчальні дані та додано підмножину стороннього набору токсичних текстових даних із публічного конкурсу Kaggle (Токсичність Jigsaw) до оригінальних 100 зразків, отриманих від замовника. Вони зіставили мітки Jigsaw із пов’язаними мітками токсичності, визначеними клієнтом, і зробили 80% розподілу як навчальні дані та 20% розподілу як тестові дані для перевірки моделі.

AWS виконує тонке налаштування великої мовної моделі (LLM) для класифікації токсичного мовлення для великої ігрової компанії | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Використовується AWS GAIIC Amazon SageMaker записники для проведення експериментів з тонкого налаштування та виявили, що модель bertweet-base-offensive досягла найкращих результатів у наборі перевірки. У наведеній нижче таблиці наведено результати спостережуваних показників.

Model Точність Згадувати F1 AUC
двійковий . 92 . 90 . 91 . 92
Дрібнозернистий . 81 . 80 . 81 . 89

З цього моменту GAIIC передав PoC групі доставки AWS ProServe ML для виробництва PoC.

Рішення AWS ProServe ML Delivery Team

Для виробництва архітектури моделі замовник попросив команду AWS ProServe ML Delivery Team (MLDT) створити рішення, яке є масштабованим і простим у обслуговуванні. Було кілька проблем з обслуговуванням підходу до двоетапної моделі:

  • Моделі вимагатимуть подвійного моніторингу моделей, що робить непослідовним час перенавчання. Бувають випадки, коли одну модель доведеться перенавчати частіше, ніж іншу.
  • Збільшені витрати на експлуатацію двох моделей на відміну від однієї.
  • Швидкість висновку сповільнюється, оскільки висновок проходить через дві моделі.

Щоб вирішити ці проблеми, AWS ProServe MLDT довелося з’ясувати, як перетворити двоетапну архітектуру моделі на єдину, зберігаючи при цьому точність двоетапної архітектури.

Рішення полягало в тому, щоб спочатку запитати у клієнта додаткові навчальні дані, а потім точно налаштувати модель bertweet-base-offensive на всіх етикетках, включаючи нетоксичні зразки, в одну модель. Ідея полягала в тому, що тонке налаштування однієї моделі з більшою кількістю даних призведе до таких же результатів, як і тонке налаштування двоетапної архітектури моделі на меншій кількості даних. Щоб налаштувати двоетапну архітектуру моделі, AWS ProServe MLDT оновив головку класифікації попередньо підготовленої моделі з кількома мітками, щоб включити один додатковий вузол для представлення нетоксичного класу.

Нижче наведено зразок коду того, як можна налаштувати попередньо навчену модель із концентратора моделей Hugging Face за допомогою їхньої платформи transformers і змінити голову класифікації моделі з кількома мітками, щоб передбачити бажану кількість класів. AWS ProServe MLDT використовував цей план як основу для тонкого налаштування. Припускається, що у вас є готові дані про потяг і дані перевірки в правильному форматі введення.

Спочатку модулі Python, а також бажана попередньо навчена модель імпортуються з центру моделей Hugging Face:

# Imports.
from transformers import ( AutoModelForSequenceClassification, AutoTokenizer, DataCollatorWithPadding, PreTrainedTokenizer, Trainer, TrainingArguments,
) # Load pretrained model from model hub into a tokenizer.
model_checkpoint = “cardiffnlp/bertweet-base-offensive”
tokenizer = AutoTokenizer.from_pretrained(checkpoint)

Потім попередньо навчена модель завантажується та готується до тонкого налаштування. Це крок, на якому визначається кількість токсичних категорій і всі параметри моделі:

# Load pretrained model into a sequence classifier to be fine-tuned and define the number of classes you want to classify in the num_labels parameter. model = AutoModelForSequenceClassification.from_pretrained( model_checkpoint, num_labels=[number of classes] ) # Set your training parameter arguments. The below are some key parameters that AWS ProServe MLDT tuned:
training_args = TrainingArguments( num_train_epochs=[enter input] per_device_train_batch_size=[enter input] per_device_eval_batch_size=[enter input] evaluation_strategy="epoch", logging_strategy="epoch", save_strategy="epoch", learning_rate=[enter input] load_best_model_at_end=True, metric_for_best_model=[enter input] optim=[enter input], )

Тонка настройка моделі починається з введення шляхів до наборів даних навчання та перевірки:

# Finetune the model from the model_checkpoint, tokenizer, and training_args defined assuming train and validation datasets are correctly preprocessed.
trainer = Trainer( model=model, args=training_args, train_dataset=[enter input], eval_dataset=[enter input], tokenizer=tokenizer, data_collator=data_collator, ) # Finetune model command.
trainer.train()

AWS ProServe MLDT отримав ще приблизно 5,000 мічених зразків даних, 3,000 нетоксичних і 2,000 токсичних, і налаштував усі три базові моделі bertweet, об’єднавши всі мітки в одну модель. Вони використовували ці дані на додаток до 5,000 зразків з PoC для точного налаштування нових одноступеневих моделей, використовуючи той самий метод 80% набору поїздів, 20% набору тестів. Наведена нижче таблиця показує, що показники продуктивності можна порівняти з показниками двоступеневої моделі.

Model Точність Згадувати F1 AUC
bertweet-base (1-етапний) . 76 . 72 . 74 . 83
bertweet-base-hate (1-ступенева) . 85 . 82 . 84 . 87
bertweet-base-offensive (1-етап) . 88 . 83 . 86 . 89
bertweet-base-offensive (2-етап) . 91 . 90 . 90 . 92

Одноетапний модельний підхід забезпечив покращення вартості та обслуговування, а точність знизилася лише на 3%. Після зважування компромісів клієнт вибрав AWS ProServe MLDT для виробництва одноетапної моделі.

Завдяки точному налаштуванню однієї моделі з більшою кількістю позначених даних, AWS ProServe MLDT зміг надати рішення, яке відповідало порогу точності моделі клієнта, а також задовольнити їхні запити щодо простоти обслуговування, одночасно знизивши вартість і підвищивши надійність.

Висновок

Великий ігровий клієнт шукав спосіб виявити токсичну мову в своїх каналах зв’язку, щоб сприяти створенню соціально відповідального ігрового середовища. AWS GAIIC створив PoC детектора токсичної мови шляхом тонкого налаштування LLM для виявлення токсичної мови. Потім AWS ProServe MLDT оновив потік навчання моделі з двоетапного підходу на одноетапний і створив LLM для клієнта для використання в масштабі.

У цій публікації AWS демонструє ефективність і практичність тонкого налаштування LLM для вирішення цього випадку використання клієнтом, ділиться контекстом історії базових моделей і LLM, а також представляє робочий процес між AWS Generative AI Innovation Center і AWS ProServe ML Команда доставки. У наступному дописі цієї серії ми глибше заглибимося в те, як AWS ProServe MLDT створив отриману одноетапну модель за допомогою SageMaker.

Якщо ви зацікавлені у співпраці з AWS для створення рішення Generative AI, зверніться до GAIIC. Вони оцінять ваш варіант використання, створять доказ концепції на основі Generative-AI і матимуть варіанти розширення співпраці з AWS для впровадження отриманого PoC у виробництво.

посилання

  1. Демографія гравців: факти та статистика про найпопулярніше хобі у світі
  2. ChatGPT встановлює рекорд щодо найшвидшого зростання бази користувачів – зауваження аналітиків
  3. Vaswani та ін., «Увага — це все, що вам потрібно»
  4. Редфорд та ін., «Поліпшення розуміння мови шляхом генеративної попередньої підготовки»
  5. Девлін та ін., «BERT: Попереднє навчання глибоких двонаправлених трансформаторів для розуміння мови»
  6. Yinhan Liu та ін., «RoBERTa: надійно оптимізований підхід до підготовки BERT»
  7. Маркос Зампієрі та ін., «Завдання 2019 SemEval-6: виявлення та класифікація образливої ​​лексики в соціальних мережах (OffensEval)»
  8. Валеріо Базіле та ін., «Завдання 2019 SemEval-5: Багатомовне виявлення ненависті проти іммігрантів і жінок у Twitter»

Про авторів

AWS виконує тонке налаштування великої мовної моделі (LLM) для класифікації токсичного мовлення для великої ігрової компанії | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Джеймс Поквіз є спеціалістом із Data Scientist з AWS Professional Services в окрузі Ориндж, Каліфорнія. Він має ступінь бакалавра комп’ютерних наук у Каліфорнійському університеті в Ірвіні та має кілька років досвіду роботи в області даних, виконуючи багато різних ролей. Сьогодні він працює над впровадженням і розгортанням масштабованих рішень ML для досягнення бізнес-результатів для клієнтів AWS.

AWS виконує тонке налаштування великої мовної моделі (LLM) для класифікації токсичного мовлення для великої ігрової компанії | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Хан Ман є старшим менеджером з обробки даних і машинного навчання в AWS Professional Services у Сан-Дієго, Каліфорнія. Він має ступінь доктора інженерних наук у Північно-західному університеті та кілька років досвіду роботи консультантом з питань управління, надаючи консультації клієнтам у сферах виробництва, фінансових послуг та енергетики. Сьогодні він пристрасно працює з ключовими клієнтами з різних галузевих вертикалей над розробкою та впровадженням рішень ML і GenAI на AWS.

AWS виконує тонке налаштування великої мовної моделі (LLM) для класифікації токсичного мовлення для великої ігрової компанії | Amazon Web Services PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Сафа Тіназтепе є фахівцем з обробки даних із AWS Professional Services. Він має ступінь бакалавра інформатики в Університеті Еморі та цікавиться MLOps, розподіленими системами та web3.

Часова мітка:

Більше від AWS Машинне навчання