Доклады Российской академии наук. Математика, информатика, процессы управления, 2023, T. 514, № 2, стр. 375-384

БЕЗОПАСНОЕ ПРЕДОБУЧЕНИЕ ГЛУБОКИХ ЯЗЫКОВЫХ МОДЕЛЕЙ НА СИНТЕТИЧЕСКОМ ПСЕВДОЯЗЫКЕ

Т. Е. Горбачева 1*, И. Бондаренко 1**

1 Новосибирский государственный университет
Новосибирск, Россия

* E-mail: t.gorbacheva@alumni.nsu.ru
** E-mail: i.bondarenko@g.nsu.ru

Поступила в редакцию 03.09.2023
После доработки 15.09.2023
Принята к публикации 24.10.2023

Полный текст (PDF)

Аннотация

В данной работе проводится сравнение предварительного обучения трансформера на текстах естественного языка и на предложениях синтетического псевдоязыка. Искусственные тексты были автоматически сгенерированы по написанным нами правилам в контекстно-свободной грамматике. Результаты дообучения на выполнение заданий проекта RussianSuperGLUE статистически достоверно показали, что модели имеют одинаковые оценки, т.е. можно считать, что использование искусственных данных дает преимущество для “безопасности” искусственного интеллекта за счет возможности полностью контролировать состав выборки. Также мы можем говорить о том, что на этапе предобучения модели типа RoBERTa достаточно научиться распознавать только синтаксические и морфологические закономерности языка, которые могут быть успешно созданы довольно таким простым способом, как контекстно-свободная грамматика.

Ключевые слова: методы глубокого обучения, трансформеры, предварительное обучение, автоматическое создание текста, глубокие языковые модели, синтетические данные, “безопасность” нейросети

1. ВВЕДЕНИЕ

Глубокие нейронные сети за последнее время стали наиболее популярным инструментом для решения большинства задач искусственного интеллекта и особенно задач анализа и генерации текстов на естественном языке, относящихся к т.н. “разговорному искусственному интеллекту”. Это произошло по двум причинам:

$ \bullet $ нейронная сеть строит обучаемую иерархию представлений;

$ \bullet $ эта иерархия представлений является переиспользуемой между задачами, на чем основана известная техника переноса обучения, когда нейросетевая модель предварительно обучается (предобучается) на большой обучающей выборке решать ненужную задачу, для которой доступна “дешевая” или автоматическая разметка, а потом дообучается на малой обучающей выборке, описывающей конечную задачу и размеченной вручную.

При этом глубокие нейронные сети, как и другие методы машинного обучения, могут быть неустойчивы к ряду уязвимостей и угроз, что создает препятствия при создании доверительного искусственного интеллекта на базе нейросетевого подхода.

Существует ряд ключевых направлений работ по обеспечению доверия к нейросетевым системам искусственного интеллекта, включающий в себя как традиционные способы обеспечения безопасности информационных систем (например, создание доверенных фреймворков машинного обучения), так и особые подходы применительно к системам искусственного интеллекта как отдельному виду информационных систем со своими специфическими уязвимостями и угрозами (более полно такие направления работ перечислены, например, в [1]).

Среди специфических угроз нейросетевым системам искусственного интеллекта следует отметить неустойчивость к изменению распределения обучающей выборки, что может обеспечить внедрение закладок в обученную на такой выборке нейросеть [2]. И если доступ к малой обучающей выборке для дообучения можно контролировать, а “отравление” такой выборки – выявить, то с гигантскими обучающими выборками для предобучения это сделать практически невозможно. Единственный способ гарантировать отсутствие “закладок” в обучающей выборке для предобучения – это автоматический синтез такой выборки на основе специальной модели порождения данных и произвольного начального значения генератора случайных чисел, известного только создателю выборки. В задачах компьютерного зрения подход с использованием синтетических данных для предобучения (вместо популярного ранее датасета ImageNet, известного в том числе и своими проблемами) уже применяется – например, синтетические изображения могут быть сгенерированы с помощью фракталов [3]. Но в задачах разговорного искусственного интеллекта подобный подход не используется. Цель данной работы – восполнить этот пробел хотя бы для трансформерных нейросетей-кодировщиков типа RoBERTa [4] решив следующие задачи:

1) задачу создания простого и прозрачного метода синтеза большого текстового корпуса для предобучения, целью которого является восстановление замаскированных токенов (Masked Language Modeling, или MLM);

2) задачу анализа эффективности предобучения трансформерной нейросети-кодировщика на синтетическом текстовом корпусе по сравнению с предварительным обучением на “натуральном” текстовом корпусе аналогичного размера.

2. СОЗДАНИЕ СИНТЕТИЧЕСКОГО ТЕКСТОВОГО КОРПУСА

Известно, что основной задачей, решению которой предобучается трансформерная нейросеть-кодировщик перед ее дообучением конкретным задачам анализа текстов, является задача восстановления замаскированных токенов (Masked Language Modeling, или MLM) в тексте на естественном языке. Так, для предобучения нейрости типа BERT эта задача является одной из двух, а для предобучения нейросети типа RoBERTa – вообще единственной задачей, как, например, показано на рис. 1.

Рис. 1.

Пример решения задачи восстановления замаскированных токенов трансформерной нейросетью-кодировщиком типа RoBERTa (здесь токены <CLS> и <SEP> являются специальными лексическими единицами, обозначающими начало и конец текста, а токен [MASK] используется для маскирования во входном тексте тех слов, которые должна предсказать нейросеть).

Возможность решения такой задачи нейронной сетью основана на том, что естественный язык обладает синтаксической структурой, а значит, связи между словами даже в словосочетаниях и простых предложениях подчиняются некоторым грамматическим правилам. На основе этого был предложен метод синтеза текстового корпуса для предобучения, основанный на следующем:

1) создается формальная грамматика подмножества естественного языка, в которой алфавит терминальных символов формируется на основе лингвистических тезаурусов типа WordNet;

2) на основе грамматики генерируются предложения как синтаксические единицы языка, причем выбор конкретного терминального символа из алфавита выполняется генератором псевдослучайных чисел;

3) в результате формируется текстовый корпус, состав которого определяется только формальной грамматикой, заданным количеством предложений и начальным значением генератора псевдослучайных чисел.

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

Во-первых, в отличие от различных генеративных трансформеров, контекстно-свободная грамматика является полностью предсказуемой и, соответственно, более “безопасной” системой.

Во-вторых, такой способ менее сложен вычислительно по сравнению, например, с цепями Маркова.

В-третьих, было выдвинуто предположение, что в текстовом корпусе для предобучения нейросетевых моделей языка достаточным является моделирование наиболее простых синтаксических правил, в то время как получение “знаний” о семантике языка нейросетью происходит на этапе дообучения конечной задаче, носящей более семантический характер. Это предположение было основано на том, что глубокая нейронная сеть – это иерархия обучаемых представлений, выстраиваемая в направлении “от простого к сложному”: первые слои нейронной сети моделируют весьма простые представления, общие для широкого класса задач, а чем ближе к последнему слою, тем более сложными, специфичными для конкретной решаемой задачи, становятся представления. И при переносе обучения на новую задачу наиболее полезными оказываются не последние, специфичные для конкретной задачи, представления, а те более общие представления, которые формируются начальными и средними слоями. В лингвистике же более простыми уровнями представления языка являются морфология и синтаксис, более сложным (и более специфичным) уровнем считается семантика, далее – прагматика, и т.п. Таким образом, на этапе предобучения нейросетевой модели языка наиболее полезными представлениями, приобретаемыми обучаемой моделью, являются синтаксические, поэтому именно синтаксис должен быть представлен в синтезируемом текстовом корпусе.

Для описания правил контекстно-свободной грамматики использовался формат JSGF (Java Speech Grammar Format или JSpeech Grammar Format) [5].

В качестве языка, для которого будет происходить моделирование, был выбран русский язык. В разработке контекстно-свободного “псевдорусского” языка мы руководствовались морфологическими и синтаксическими правилами русского языка, составление происходило с опорой на материал справочника русского языка Баранова М.Т. и др., составленного под редакцией Н.М. Шанского [6], без учета семантики.

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

Для удобства созданные правила были сформированы в несколько групп:

$ \bullet $ так называемая “группа подлежащего”, состоит из правил подлежащего, согласованного и несогласованного определений;

$ \bullet $ “группа сказуемого”, состоит из правил простого или составного сказуемого и обстоятельства образа действия;

$ \bullet $ “группа дополнения”, состоит из правил дополнения, согласованного и несогласованного определений;

$ \bullet $ “группа обстоятельства”, состоит из правил деепричастия и обстоятельства места и времени.

Помимо этих групп, были созданы правила для частиц, предлогов и союзов. Все элементы правил согласуются между собой. Каждое правило для члена предложения может быть представлено одним или несколькими правилами определенных частей речи. Более детальное описание грамматики с рядом примеров доступно для ознакомления в Приложении 1 . Созданные правила размещены на GitHub 11.

Для заполнения словаря терминалов контекстно-свободной грамматики были необходимы слова русского языка с указанием их морфологической информации. Небольшая часть необходимых данных была взята из справочника русского языка Баранова М.Т. и др. [6], а для получения информации о большинстве слов использовались два набора данных: тезаурус RuWordNet [7] и корпус “Тайга” [8]. RuWordNet представляет собой вручную размеченные синсеты, однако только для трех частей речи (существительных, прилагательных и глаголов), причем каждая представлена лишь начальной формой. Для получения всех грамматических форм с указанием морфологической информации слова мы использовали морфологический анализатор pymorphy2 [10]. “Тайга” является большой подборкой данных, но они были размечены автоматически парсером UDPipe [11]. Для валидации авторазметки “Тайги” применялся следующий подход: морфологическая информация в “Тайге”, сгенерированная UDPipe, сравнивалась с той, которую определяет парсер Spacy [12] с русскоязычной моделью 22, и затем в алфавит терминалов добавлялись только те слова, в которых авторазметка двух систем совпадает.

Из “Тайги” было выбрано шесть под-корпусов (Lenta.ru, Интерфакс, N+1, Facebook, Vkontakte, Twitter). Из каждого корпуса брались слова, написанные только кириллицей. Под-корпуса социальных сетей также потребовали дополнительной чистки от опечаток и ругательств. Таким образом, после чистки корпуса социальных сетей, объединения всех корпусов “Тайги” с грамматическими парадигмами слов из тезауруса RuWordNet общий объем алфавита терминалов разработанной контекстно-свободной грамматики составил 2   477  009 уникальных слов.

Для генерации по правилам использовалась система JSGFTools [13]. Данный система обладала некоторыми недостатками, которые потребовали доработок. Часть из них была внесена в саму систему, а другая часть – в правила созданной нами грамматики. Исправленная нами версия JSGFTools доступна на GitHub33.

Было принято решение, что датасет текстов нашего синтетического псевдоязыка должен содержать два миллиона предложений. Такое число показалось нам оптимальным в вопросе полноты предобучения модели и затраченного на это времени. Ниже приведем несколько предложений полученной выборки (сохранено оригинальное отсутствие пунктуации и больших букв):

1) либерализуем мы хоронив между согреваньем;

2) не предо календариком обкидавши и я измыслить укрощать поглубже б желал;

3) и вы исключительно устыдив собираетесь фырчать милитаризировавши;

4) почти затупив не виноватого сто первого преуспевания почти гриппуя шестиклассник с краснознаменском дидактиков сто десятые ваши даже и рекламировать выболтать принимают все-таки навернув;

5) будто отпиливаемой типично становишься ли ты гофрирования;

6) вот я чванюсь;

7) едва ли заскрипевши справа от коллекции уложить решало убийственно осчастливливание видеобращения спешившее почти с мини-футбол просачиваясь;

8) по врачам подговаривавши годимся уж мы какие-то;

9) и на туринск воюя и бездетность при приволжье распоясавшись выясняла;

10) словно вы называетесь не вы.

Из приведенных примеров можно заметить, что полученные конструкции отличаются разнообразной синтаксической и морфологической структурой. Помимо этого, предложения корректны с точки зрения морфологических и синтаксических правил русского языка. Следует пояснить, почему нами не учитывается пунктуация и расстановка прописных букв. Целью постановки знаков препинания и больших букв является организация письменного текста для облегчения его понимания. Такую задачу можно больше отнести к семантике, однако на данном этапе исследования мы ее не учитывали.

3. ПРЕДОБУЧЕНИЕ ГЛУБОКОЙ ЯЗЫКОВОЙ МОДЕЛИ

Для проведения в дальнейшем сравнения было предобучено две модели типа RoBERTa: одна на полученной выборке искусственных предложений и другая на выборке “естественных” текстов. Полученные языковые модели размещены на Hugging Face44.

Для получения датасета из двух миллионов “естественных” предложений мы использовали два источника данных: новостные под-корпуса “Тайги” (Lenta.ru, Интерфакс, N+1) [8] и тексты русской Википедии. При выборе предложений учитывались особенности сгенерированных текстов, а именно не использовались предложения, содержащие:

$ \bullet $ числительные, написанные цифрами;

$ \bullet $ только подлежащее без сказуемого, выраженного глаголом;

$ \bullet $ какие-либо символы помимо кириллических.

Предварительное обучение обеих моделей происходило аналогично. Подробное описание параметров запусков находится в Приложении 2 .

Для удобства введем следующие обозначения: NaturalRoBERTa – трансформер RoBERTa, предобученный на предложениях естественного языка; SyntheticRoBERTa – трансформер RoBERTa, предобученный на предложениях синтетического псевдоязыка. Предобучение NaturalRoBERTa было завершено на 34 эпохе со значением функции потерь, равным 8.7587. SyntheticRoBERTa завершила свое предобучение на 12 эпохе со значением функции потерь 8.6713. На рис. 2 представлены графики зависимости значения функции потерь на обучающей и “валидационной” выборках от эпохи обучения моделей: можно видеть, что нейросети демонстрируют практически одинаковый результат во время предварительного обучения.

Рис. 2.

Значения функции потерь во время предобучения трансформеров на предложениях естественного языка (a) и на предложениях синтетического псевдоязыка (б).

4. ЭКСПЕРИМЕНТЫ С ДООБУЧЕНИЕМ

Для тестирования и сравнения полученных моделей был использован задачник Russian SuperGLUE [9]. Тесты из этого задачника позволяют оценить качество любой нейросетевой модели, предобученной на русскоязычном текстовом корпусе, путем дообучения этой модели выполнению девяти задач, таких как понимание логической связи между двумя фразами, разрешение полисемии слов с учетом их контекста, определение истинности или ложности высказываний, и т.п. В целом данный задачник охватывает широкий круг задач на понимание естественного языка (Natural language understanding, NLU).

В табл. 1 приведены общие результаты тестирования моделей NaturalRoBERTa и SyntheticRoBERTa. Также приведены результаты известной и ранее апробированной модели RuGPT3Small – нейросетевой модели языка, которая обладает наиболее близким количеством параметров среди всех моделей, представленных в Russian SuperGLUE – в решении аналогичных задач. Следует заметить, что модель NaturalRoBERTa демонстрирует результаты, приблизительно равные результатам RuGPT3Small, что исключает возможные ошибки предобучения NaturalRoBERTa и позволяет использовать ее как эталон при сравнении с SyntheticRoBERTa.

Таблица 1.

Значения метрик, полученные при тестировании NaturalRoBERTa, SyntheticRoBERTa и RuGPT3Small в некоторых заданиях RussianSuperGLUE

Задание NaturalRoBERTa SyntheticRoBERTa RuGPT3Small Метрика
LiDiRus 0.0 0.0 –0.013 Коэффициент Мэтью
RCB 0.217/0.484 0.091/0.158 0.356/0.473 F1/Точность
PARus 0.498 0.502 0.562 Точность
TERRa 0.487 0.487 0.488 Точность
RUSSE 0.587 0.587 0.57 Точность
RWSD 0.669 0.331 0.669 Точность

Для того, чтобы статистически достоверно сравнить все полученные результаты тестирования моделей, был использован знаковый критерий Вилкоксона (Уилкоксона). В качестве одной выборки рассматривались экспериментальные результаты модели NaturalRoBERTa, а в качестве другой выборки – результаты модели SyntheticRoBERTa. Проверялись следующие гипотезы:

$ \bullet $ Нулевая гипотеза H0: математические ожидания двух выборок равны;

$ \bullet $ Альтернативная гипотеза H1: математические ожидания двух выборок различны.

Было получено значение статистики теста 1.0, соответствующее двустороннее значение p равно 0.14413, т.е. нулевая гипотеза подтвердилась, и принципиальных различий между NaturalRoBERTa и SyntheticRoBERTa в способности анализировать тексты на естественном (русском) языке обнаружено не было.

5. ВЫВОДЫ

Предложенный в данной работе метод синтеза текстового корпуса на основе контекстно-свободной грамматики показал свою эффективность: трансформерная нейросеть-кодировщик типа RoBERTa предобучалась на синтетических текстах не менее эффективно, чем на “натуральных” (критерием эффективности здесь выступала способность предобученной модели дообучаться на открытом наборе разнообразных задач анализа естественного языка Russian SuperGLUE). Этот результат демонстрирует возможность построения более безопасного (доверенного) разговорного искусственного интеллекта, чем это было ранее, причем безопасность использования синтетических текстов для предобучения достигается одновременно как за счет формирования простого и проверяемого набора правил грамматики, так и за счет применения генератора псевдослучайных чисел для выбора терминальных символов. Но помимо этого, данный результат дает определенное основание для следующих рассуждений.

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

Во-вторых, на этапе предобучения можно считать несущественным то, что семантика естественного языка (не говоря уже о прагматике) практически не может быть отражена моделью на основе контекстно-свободной грамматики со случайным выбором порождаемого варианта. Видимо, те знания, которые приобретает нейросетевая модель языка, обучаясь задаче восстановления замаскированных слов (MLM), носят принципиально синтаксический характер, а семантические представления формируются у такой нейросети преимущественно на этапе дообучения конечной задаче (разумеется, если эта задача является задачей семантического анализа текста, как это имеет место в Russian SuperGLUE).

Тем не менее открытым остается следующий интересный вопрос: принципиально синтаксичными являются все типы предобучения нейросетевых моделей языка, или же данный вывод можно сделать только для ограниченного класса нейросетей-кодировщиков, которые предобучаются исключительно задаче MLM? Существуют ведь еще и модели типа “кодировщик-декодировщик”, такие как BART и T5, а также декодировщики, наиболее яркими представителями которых является семейство GPT. Модели типа “кодировщик-декодировщик” предобучаются, как правило, задаче подавления различных шумов в текстах, а декодировщики – продолжению текстов. Если знания, приобретаемые такими моделями на стадии предобучения, тоже в большей степени синтаксичны, то предложенный в данной статье метод использования контекстно-свободной грамматики для синтеза обучающих текстов обеспечивает безопасность предобучения и для этих моделей. В противном случае можно полагать, что такой метод не подходит для предубучения моделей этих типов вообще. Но ответ на данный вопрос находится вне рамок данной работы и требует дополнительного исследования

Список литературы

  1. Турдаков Д.Ю., Аветисян А.И., Архипенко К.В., Анциферова А.В., Ватолин Д.С., Волков С.С., Гасников А.В., Девяткин Д.А., Дробышевский М.Д., Коваленко А.П., Кривоносов М.И., Лукашевич Н.В., Малых В.А., Николенко С.И., Оселедец И.В., Перминов А.И., Соченков И.В., Тихомиров М.М., Федотов А.Н., Хачай М.Ю. Доверенный искусственный интеллект: вызовы и перспективные решения, 2022. doi:

  2. Shumailov I., Shumaylov Z., Kazhdan D., Zhao Y., Papernot N., Erdogdu M.A., Anderson R. Manipulating SGD with Data Ordering Attacks, 2021. https://doi.org/10.48550/arXiv.2104.09667

  3. Kataoka H., Okayasu K., Matsumoto A., Yamagata E., Yamada R., Inoue N., Nakamura A., Satoh Y. Pre-training without Natural Images, 2020. https://doi.org/10.48550/arXiv.2101.08515

  4. Liu Y., M Ott M., Goyal N., Du J., Joshi M., Chen D., Levy O., Lewis M., Zettlemoyer L., Stoyanov V. RoBERTa: A Robustly Optimized BERT Pretraining Approach, 2019. https://doi.org/10.48550/arXiv.1907.11692

  5. JSpeech Grammar Format https://www.w3.org/TR/2000/NOTE-jsgf-20000605/. Дата обращения: 2023-05-08.

  6. Баранов М.Т., Костяева Т.А., Прудникова А.В. Под ред. Н.М. Шанского Русский язык: Справ. материалы: Учеб. пособие для учащихся. 4-е изд. – M.: Просвещение, 1988. 288 с.

  7. Лукашевич Н.В. Тезаурусы в задачах информационного поиска. Изд-во Московского университета, 2011, 512 с.

  8. Shavrina T., Shapovalova O. To the methodology of corpus construction for machine learning: “Taiga” syntax tree corpus and parser // Proceedings of the international conference “Corpus linguistics-2017”, 2017. P. 78–84.

  9. Shavrina T., Fenogenova A., Emelyanov A., Shevelev D., Artemova E., Malykh V., Mikhailov V., Tikhonova M., Chertok A., Evlampiev A. RussianSuperGLUE: A Russian Language Understanding Evaluation Benchmark // In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2020. P. 4717–4726.

  10. Korobov M. Morphological Analyzer and Generator for Russian and Ukrainian Languages // Analysis of Images, Social Networks and Texts, 2015. P. 320–332.

  11. Straka M., Straková J. Tokenizing. POS Tagging, Lemmatizing and Parsing UD 2.0 with UDPipe, 2017. https://doi.org/10.18653/v1/K17-3009

  12. Honnibal M., Montani I. spaCy 2: Natural language understanding with Bloom embeddings, convolutional neural networks and incremental parsing, 2017.

  13. JSGFTools: Some tools for JSGF grammar expansion [https://github.com/syntactic/JSGFTools]. Дата обращения: 2023-05-10.

Дополнительные материалы отсутствуют.

Инструменты

Доклады Российской академии наук. Математика, информатика, процессы управления