Токсичность в интернете — распространенная проблема, с которой сталкивался каждый. В период бурного развития AI само собой напрашивается решение для автоматического удаления токсичных паттернов с сохранением исходного смысла и оригинального стиля автора. Один из таких подходов - использование NLP seq2seq моделей, которые мы обучаем на парах (тоcкичное предложение; нетоксичное предложение):
Так же, перед обучением модели стоит определиться с метриками, по которым будем измерять качество:
Content preservation, SIM - косинусное сходство между эмбеддингами оригинального предложения и детоксифицированной версией.
Fluency, FL - процент естественных предложений. Вычисляется с помощью RoBERTa-base классификатора, обученного на датасете CoLA.
-
Style accuracy, STA - процент нетоксичных токенов, идентифицированных с помощью RoBERTa классификатора, обученного на половине смерженных датасетов Jigsaw разных годов (2018, 2019, 2020).
Для удобства мы ввели Joint score, J - произведение трех вышеописанных метрик. Именно на основе J будет осуществляться оценка качества детоксификации:
n - количество предложений в eval-датасете;
x - исходное предложение, y - детоксифицированная версия x
Для английского языка существуют эффективные решения для детоксификации текста, например вот это, разработанное моими коллегами в Сколтехе. Но что насчет системы, которая бы детектировала универсальные паттерны токсичности без привязки к конкретному языку? Именно такую задачу мы решали на соревновании PAN-2024. Самбмит нашего решения на английском можно найти здесь.
Обработка и аугментация данных
Для аугментации мы использовали следующую стратегию:
Перевод с английского языка на целевой с помощью Deep-translator.
Проверка сохранения смысла при переводе с помощью сравнения LaBSE эмбеддингов между переведенными парами.
Оценка сохранения токсичности через XLM-R
В результате выровняли распределение данных и нагенерировали дополнительные семплы для низкоресурсных языков.
Методы детоксификации
Supervised finetuning
В качестве основного подхода мы выбрали дообучение различных многоязычных языковых моделей. Мы считаем, что наиболее перспективными моделями для дальнейшего дообучения являются модели из семейства mT0. Это семейство моделей Transformer, работающих по принципу "sequence2sequence", наследованных от mT5. Семейство mT0 было выбрано из-за оптимальной работы с мультиязычными данными, поэтому эти модели были адаптированы для каждого языка конкурса. Так же, мы провели эксперименты с новой моделью Aya-101, которая является дообученной версией mT5-xl на многоязычных инструкциях.
Гиперпараметры обучения для всех моделей инициализировались почти одинаково. Скорость обучения была установлена на уровне 1e-5, общий размер батча — 8, а коэффициент weight decay — 0.01. Для обучения использовался cosine scheduler. В общей сложности все модели обучались в течение 4 эпох. Все остальные параметры обучения были по дефолтными согласно HuggingFace Seq2SeqTrainer. Единственное отличие заключалось в том, что для mT0-XL мы обновляли веса всей модели, так как наши вычислительные ресурсы это позволяли. В случае более крупной модели, такой как Aya-101 или mT0-XXL, обучался только адаптер LoRA. Настройки адаптера LoRA были следующими: r и lora alpha установлены на 32, параметр lora dropout — на 0.1, остальные параметры — по умолчанию. Лучшая модель выбиралась на основе потерь на валидации.
Чтобы усилить способности моделей в контексте, мы добавили специфический префикс к каждому токсичному предложению в зависимости от языка. В результате мы передавали токсичные предложения с особым префиксом в модель во время обучения.
Отбор кандидатов на инференсе
Во время инференса мы сгенерировали 10 гипотез и выбрали 5 наиболее вероятных с помощью метода diverse beam search. Количество лучей - 10 с 5 группами лучей, diversity penalty составило 2.5, а штраф за повторение — 1.2. Для выбора наилучшего варианта мы рассчитали метрику релевантности, используя произведение оценок схожести и токсичности. Схожесть вычислялась с помощью встраиваний LaBSE, а токсичность оценивалась с помощью классификатора токсичности xlm-roberta-large. После расчета оценок релевантности мы выбрали лучший кандидат с наивысшим баллом.
ORPO
После файнтюнинга мы решили дополнительно оптимизировать модель для достижения наилучших результатов с помощью метода оптимизации Odds Ratio Preference Optimization (ORPO). Эта оптимизация не требует референсной модели, как в случае DPO. Выравнивание проводилось на невидимом тестовом наборе данных.
В качестве предпочтительного набора данных мы генерировали гипотезы с помощью разнообразного поиска по образцам из тестового набора и аннотировали их, используя ранее описанную оценку релевантности. Только кандидаты с наивысшими оценками релевантности были выбраны как лучшие, в то время как все остальные были отнесены к отвергнутым образцам.
Итоговый набор данных ORPO для выравнивания содержал запрос (токсичное предложение), отвергнутый образец (негативный кандидат) и выбранный образец (лучший кандидат). Мы обучили модель на этом наборе данных, используя те же параметры, что и для обучения других моделей. Параметр бета для ORPO был установлен на уровне 0.1. Для окончательной подачи мы использовали выровненную модель с описанным выше алгоритмом для выбора лучшего кандидата.
Результаты
Финальные результаты автоматической оценки представлены в таблице ниже:
Модель mT0-XL с ORPO показала наилучшие результаты среди всех подходов в лидерборде для всех языков. По сравнению с mT0-XL, которая была до выравнивания ORPO, новая версия немного улучшила показатели модели, увеличив средние результаты на 0.01 балла. Удивительно, но более крупные модели не показали лучших результатов. Например, модель mT0-XXL с 13 миллиардами параметров работала даже хуже, чем mT0-XL с 3.7 миллиарда параметров. Модель Aya-101, основанная на mT5-XXL и дополнительно настроенная на инструктивные данные для различных языков, также показала худшие результаты по сравнению с другими моделями. Поскольку Aya-101 и mT0-XXL продемонстрировали еще худшие результаты по сравнению с mT0-XL, мы не проводили этап выравнивания ORPO для этих моделей. Среди других команд в автоматической оценке наши контрольные точки, в основном mT0-XL-ORPO и mT0-XL, являются двумя лучшими подходами для всех языков, кроме китайского.
Заключение
В заключение можно сказать, что наша система продемонстрировала мощный пайплайн для пополнения обучающих данных для низкоресурсных языков и дальнейшей. В наших будущих исследованиях мы можем рассмотреть вопрос о том, как адаптировать возможности работы без перевода, поскольку машинный перевод для малораспространенных языков обычно демонстрирует низкое качество. Дальнейшее направление исследований - интерпретируемость моделей и понимание того, какие лексемы были заменены моделью в процессе работы над текстом и обоснование этого.
Комментарии (22)
ganqqwerty
25.10.2024 20:33В корпоративный аутлук если будет такой плагин, по мощи воздействия будет сравним с боксерской грушей с лицом шефа из японских городских легенд. Пишешь все как думаешь, а оно переформулирует в энтерпрайзные округлые штампы без фингерпойнтинга и виктимблейминга.
Nansch
25.10.2024 20:33А потом случайно отвалится плагин, нажмёшь как обычно, не думая, отправить. И текст-то не поменялся, аааааа! Ааааа! Ах-ах-ах...
rinace
25.10.2024 20:33Токсичность в интернете — распространенная проблема, с которой сталкивался каждый.
А это действительно проблема ? Или очередное обоснование/попытка внедрения автоматической цензуры?
С академической научной точки зрения , конечно тема интересная . С практической - смысл и обоснование пользы сомнителено .
jackchickadee
25.10.2024 20:33А это действительно проблема ?
да. но не для всех. конкретнее:
снежинки
подача иска в суд за харрасмент.
... впишите сами типовой сценарий
SensDj
25.10.2024 20:33Покажите как будут выглядеть диалоги людей, где одни защищают педофилов и бездомных собак, а другие доказывают что это плохо
freebzzzd
25.10.2024 20:33Подскажите, пожалуйста, какой уровень у данной задачи? ML мидл, синьёр? Ну и до кучи сколько примерно платят челам, которым эта вся тарабарщина понятна и является рутиной.
Заранее спасибо! Вопрос серьёзный!
tkutru
25.10.2024 20:33То, чем вы занимаетесь, называется цензура.
GospodinKolhoznik
25.10.2024 20:33После обработки нейросетью, слово цензура было заменено на "система для спасения интернета от токсичности".
Deosis
25.10.2024 20:33Они изобретают розовые очки для интернета.
Wesha
25.10.2024 20:33Всё уже украдено до них
– Прошу надеть зеленые очки! – строго сказал Фарамант, раскрывая сумочку, наполненную очками. – Без зеленых очков вход в Изумрудный город воспрещается – таков приказ Гудвина, Великого и Ужасного! Улетая к своему другу, великому волшебнику Солнцу, Гудвин предупредил нас, что жители города никогда не должны снимать зеленых очков и что нарушение этого закона повлечет за собой великие бедствия.
AChevozerov
25.10.2024 20:33Спасли интернет от токсичности? Молодцы!
А теперь пусть ваша модель запретит людям быть токсичными ИРЛ. Пусть запретит людям творить зло. Пусть запретит человеческую природу и переформатирует человечество в добрых няшных снежинок
И тогда это будет иметь смысл с продуктовой точки зрения как что-то что спасает от токсичности, а сейчас это просто отмыв бюджетов на цензуру
MAXH0
25.10.2024 20:33К чему полумеры? Источник токсичности расположен между стулом и монитором... Надо вычислять то айпи и высылать страж-птицу...
polar_winter
25.10.2024 20:33Если бы вы были постарше то поимнили, что чебурнет начинался с борьбы с педофилией. Уже тогда было понятно, что это лишь повод для строительства всяких РКН и прочее. Ваши наработки на прямую угрожаеют свободе обмена информации и будут использованы для уселения цензуры. И вы принимаете участие в строительстве цифрового концлагеря.
За сим вопрос вы аморальны или не можете понять опасность?
Dynasaur
Чем вас слово "оскорбительное" не устраивает? Ну или "хамское"? "Токсичность" это всё-таки о другом. Ну а вообще ваша методика напоминает словарь из к/ф "Джентельмены удачи": "Пиши: "Редиска - нехороший человек"".
diakin
Только что об этом вспоминал. "Этот Василий Алибабаевич, этот нехороший человек..." ))
NickDoom
А я вспоминал анекдот про «нежные все стали, токсичность какую-то выдумали, ***** идти не хотят…»
Nansch
Ну, б#ядский токсик - это довольно слащаво. Не сравнить с е#учим хамлом. Это прям жёсткое оскорбление.