AWS выполняет точную настройку модели большого языка (LLM) для классификации токсичной речи для крупной игровой компании | Веб-сервисы Амазонки

AWS выполняет точную настройку модели большого языка (LLM) для классификации токсичной речи для крупной игровой компании | Веб-сервисы Амазонки

По оценкам, индустрия видеоигр насчитывает более 3 миллиардов пользователей по всему миру.1. Он состоит из огромного количества игроков, виртуально взаимодействующих друг с другом каждый божий день. К сожалению, как и в реальном мире, не все игроки общаются корректно и уважительно. Стремясь создать и поддерживать социально ответственную игровую среду, AWS Professional Services попросили создать механизм, который выявляет неприемлемую лексику (токсичную речь) во взаимодействиях с игроками в онлайн-играх. Общий бизнес-результат заключался в улучшении операций организации за счет автоматизации существующего ручного процесса и улучшении взаимодействия с пользователем за счет повышения скорости и качества обнаружения неуместных взаимодействий между игроками, что в конечном итоге способствовало созданию более чистой и здоровой игровой среды.

Клиент попросил создать детектор английского языка, который классифицирует голосовые и текстовые отрывки по собственным категориям токсичных языков. Они хотели сначала определить, является ли данная языковая выдержка токсичной, а затем классифицировать эту выдержку в определенной определяемой пользователем категории токсичности, такой как ненормативная лексика или оскорбительные выражения.

AWS ProServe решил этот вариант использования благодаря совместным усилиям Инновационного центра генеративного ИИ (GAIIC) и группы доставки машинного обучения ProServe (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 недавно стали центром внимания предприятий, ищущих новые приложения ML, с тех пор, как ChatGPT завоевал общественное мнение, став самым быстрорастущим потребительским приложением в истории.2, достигнув 100 миллионов активных пользователей к январю 2023 года, всего через 2 месяца после его выпуска. Однако LLM не являются новой технологией в сфере машинного обучения. Они широко использовались для выполнения задач НЛП, таких как анализ настроений, обобщение корпусов, извлечение ключевых слов, перевод речи и классификация текста.

Из-за последовательного характера текста рекуррентные нейронные сети (RNN) были современным средством моделирования НЛП. В частности, кодер-декодер Сетевая архитектура была сформулирована потому, что она создала структуру RNN, способную принимать входные данные произвольной длины и генерировать выходные данные произвольной длины. Это было идеально для таких задач НЛП, как перевод, когда выходную фразу одного языка можно было предсказать по входной фразе другого языка, как правило, с разным количеством слов между входом и выходом. Архитектура Трансформера3 (Vaswani, 2017) было прорывным усовершенствованием кодировщика-декодера; он ввел понятие самостоятельно внимание, что позволило модели сфокусировать внимание на разных словах входных и выходных фраз. В типичном кодировщике-декодере каждое слово интерпретируется моделью одинаково. Поскольку модель последовательно обрабатывает каждое слово во входной фразе, семантическая информация в начале может быть потеряна к концу фразы. Механизм внутреннего внимания изменил это, добавив слой внимания как к блоку кодировщика, так и к блоку декодера, чтобы модель могла присваивать разные веса определенным словам из входной фразы при генерации определенного слова в выходной фразе. Так родилась основа модели-трансформера.

Архитектура трансформатора была основой для двух самых известных и популярных LLM, используемых сегодня, двунаправленных представлений кодировщика от трансформаторов (BERT).4 (Рэдфорд, 2018) и генеративный предварительно обученный преобразователь (GPT)5 (Девлин, 2018). Более поздние версии модели GPT, а именно GPT3 и GPT4, являются ядром, на котором работает приложение ChatGPT. Последняя часть рецепта, который делает LLM такими мощными, — это способность извлекать информацию из обширных корпусов текстов без обширной маркировки или предварительной обработки с помощью процесса, называемого ULMFiT. Этот метод имеет этап предварительной подготовки, на котором можно собрать общий текст, а модель обучается задаче прогнозирования следующего слова на основе предыдущих слов; Преимущество здесь в том, что любой входной текст, используемый для обучения, изначально помечен заранее в зависимости от порядка текста. LLM действительно способны учиться на данных в масштабе Интернета. Например, исходная модель BERT была предварительно обучена на BookCorpus и на всех наборах текстовых данных английской Википедии.

Эта новая парадигма моделирования породила две новые концепции: базовые модели (FM) и генеративный ИИ. В отличие от обучения модели с нуля с использованием данных для конкретной задачи, что является обычным случаем классического обучения с учителем, LLM предварительно обучаются для извлечения общих знаний из широкого набора текстовых данных, прежде чем они будут адаптированы к конкретным задачам или областям с гораздо меньшими затратами. набор данных (обычно порядка сотен образцов). Новый рабочий процесс машинного обучения теперь начинается с предварительно обученной модели, называемой базовой моделью. Важно строить на правильном фундаменте, и существует все больше вариантов, таких как новый Амазонка Титан FM, который будет выпущен AWS как часть Коренная порода Амазонки. Эти новые модели также считаются генеративными, поскольку их выходные данные доступны для интерпретации человеком и имеют тот же тип данных, что и входные данные. В то время как прошлые модели машинного обучения были описательными, такими как классификация изображений кошек и собак, LLM являются генеративными, поскольку их выходом является следующий набор слов, основанный на входных словах. Это позволяет им создавать интерактивные приложения, такие как ChatGPT, которые могут быть выразительными в генерируемом ими контенте.

Hugging Face стала партнером AWS чтобы демократизировать FM и сделать их доступными и удобными для создания. Hugging Face создал API Трансформеров который объединяет более 50 различных архитектур преобразователей на разных платформах машинного обучения, включая доступ к предварительно обученным весам моделей в их Модельный концентратор, который на момент написания этой статьи вырос до более чем 200,000 XNUMX моделей. В следующих разделах мы рассмотрим доказательство концепции, решение и FM, которые были протестированы и выбраны в качестве основы для решения этого варианта использования классификации токсичной речи для клиента.

Доказательство концепции AWS GAIIC

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

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

  • Обучение модели с большими партиями по большему количеству данных
  • Удаление цели предсказания следующего предложения
  • Тренировка на более длинных последовательностях
  • Динамическое изменение шаблона маскирования, применяемого к обучающим данным.

Базовая модель bertweet использует предыдущую процедуру предварительного обучения из исследования RoBERTa для предварительного обучения исходной архитектуры BERT с использованием 850 миллионов твитов на английском языке. Это первая общедоступная крупномасштабная языковая модель, предварительно обученная для твитов на английском языке.

Считалось, что предварительно обученные FM с использованием твитов подходят для варианта использования по двум основным теоретическим причинам:

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

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 (Токсичность головоломки) к исходным 100 образцам, полученным от заказчика. Они сопоставили метки Jigsaw с соответствующими метками токсичности, определенными заказчиком, и разделили 80% в качестве обучающих данных и 20% в качестве тестовых данных для проверки модели.

AWS выполняет тонкую настройку модели большого языка (LLM) для классификации токсичной речи для крупной игровой компании | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Используется AWS GAIIC Создатель мудреца Амазонки ноутбуков для проведения своих экспериментов по точной настройке и обнаружили, что модель bertweet-base-offensive показала наилучшие результаты в проверочном наборе. В следующей таблице приведены наблюдаемые оценки показателей.

Модель Точность Вспоминать F1 ППК
Двоичный .92 .90 .91 .92
Мелкозернистый .81 .80 .81 .89

С этого момента GAIIC передал PoC группе доставки AWS ProServe ML для производства PoC.

Решение группы доставки AWS ProServe ML

Чтобы внедрить архитектуру модели в производство, клиент попросил группу доставки AWS ProServe ML (MLDT) создать масштабируемое и простое в обслуживании решение. Было несколько проблем с обслуживанием двухэтапного модельного подхода:

  • Для моделей потребуется удвоить объем мониторинга моделей, что делает сроки переобучения непоследовательными. Могут быть случаи, когда одну модель придется переобучать чаще, чем другую.
  • Увеличение затрат на эксплуатацию двух моделей вместо одной.
  • Скорость вывода замедляется, потому что вывод проходит через две модели.

Чтобы решить эти проблемы, команде AWS ProServe MLDT пришлось выяснить, как превратить архитектуру двухэтапной модели в архитектуру с одной моделью, сохранив при этом точность двухэтапной архитектуры.

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

Ниже приведен пример кода, показывающий, как можно настроить предварительно обученную модель из концентратора моделей Hugging Face с помощью их платформы преобразователей и изменить классификационный заголовок модели с несколькими метками, чтобы предсказать желаемое количество классов. 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% тестового набора. В следующей таблице показано, что показатели производительности были сопоставимы с показателями двухэтапной модели.

Модель Точность Вспоминать F1 ППК
bertweet-база (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 для создания решения для генеративного ИИ, обратитесь к ГАИИК. Они оценят ваш вариант использования, создадут доказательство концепции на основе генеративного ИИ и предложат варианты расширения сотрудничества с AWS для внедрения полученного PoC в производство.

Рекомендации

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

Об авторах

AWS выполняет тонкую настройку модели большого языка (LLM) для классификации токсичной речи для крупной игровой компании | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Джеймс Покиз — специалист по обработке и анализу данных компании AWS Professional Services, расположенной в округе Ориндж, штат Калифорния. Он имеет степень бакалавра компьютерных наук Калифорнийского университета в Ирвине и имеет многолетний опыт работы в области данных, сыграв множество различных ролей. Сегодня он работает над внедрением и развертыванием масштабируемых решений машинного обучения для достижения бизнес-результатов для клиентов AWS.

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

AWS выполняет тонкую настройку модели большого языка (LLM) для классификации токсичной речи для крупной игровой компании | Веб-сервисы Amazon PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Сафа Тиназтепе — специалист по обработке и анализу данных полного цикла, работающий с AWS Professional Services. Он имеет степень бакалавра компьютерных наук Университета Эмори и интересуется MLOps, распределенными системами и web3.

Отметка времени:

Больше от Машинное обучение AWS