Научная статья на тему 'О ДЕКОМПОЗИЦИИ МЕТОДА ПОСТРОЕНИЯ ЭНКОДЕРА ЯЗЫКОВОЙ МОДЕЛИ'

О ДЕКОМПОЗИЦИИ МЕТОДА ПОСТРОЕНИЯ ЭНКОДЕРА ЯЗЫКОВОЙ МОДЕЛИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
132
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБРАБОТКА ЕСТЕСТВЕННОГО ЯЗЫКА / НЕЙРОННЫЕ СЕТИ / ЯЗЫКОВАЯ МОДЕЛЬ / ЭНКОДЕР / КОНТЕКСТНО-ЗАВИСИМЫЕ ПРЕДСТАВЛЕНИЯ / РАЗРЕШЕНИЕ ЛЕКСИЧЕСКОЙ НЕОДНОЗНАЧНОСТИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Трофимов Игорь Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Трофимов Игорь Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DECOMPOSITION OF CONSTRUCTION METHOD FOR A LANGUAGE ENCODER

An encoder as part of a language model is a mechanism for converting text information into an effective numerical representation which is suitable for solving a wide range of text processing tasks by means of neural network methods. This paper suggests a way of decomposing of the learning process for a language encoder. The author considers the issues of expediency of such decomposition taking into account reduction of computational costs, quality control at intermediate training stages, provision of the interpretability of the results on each stage. The quality evaluation of the encoder is given.

Текст научной работы на тему «О ДЕКОМПОЗИЦИИ МЕТОДА ПОСТРОЕНИЯ ЭНКОДЕРА ЯЗЫКОВОЙ МОДЕЛИ»

Введение

Современные языковые модели развиваются преимущественно в экстенсивной манере —рост качественных показателей сопровождается ростом размера нейронной сети. Так, уже BERT [1] имел 340 млн. оптимизируемых параметров. Более поздние модели T5 [2] вышли на уровень 11 млрд., GPT-3 [3]—175 млрд., Switch Transformer [4] —более триллиона.

Эксперименты с обучением и даже использованием таких сетей вычислительно затратны и требуют применения довольно мощных аппаратных средств. Это обстоятельство влечет увеличение стоимости и сроков исследований, проблематичной стала верификация SOTA-подходов (а также сравнение со state-of-the-art на нестандартных задачах), исследования фрагментируются, т.к. многогранное исследование становится слишком затратным.

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

Гигантский размер языковой модели является проблемой и для ее практического применения, где существенным показателем становится время предсказания, а также имеются ограничения на объем оперативной и долговременной памяти. Исследователями был предложен ряд решений, таких как дистилляция, квантизация и усечение. Общая идея дистилляции сводится к обучению небольшой модели подражать поведению крупноразмерной, квантизация заключается в снижении точности представления числовой информации, а усечение осуществляется за счет исключения из большой модели части весов с низкой практической значимостью.

Замечательный современный обзор этих методов представлен в [5], который можно дополнить разве что исследованиями по квантизации (например, [6]) и еще одним оригинальным подходом к дистилляции [7]. Однако эти подходы не решают проблему исследования больших SOTA-моделей и методов на их основе.

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

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

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

1. Поэтапный метод построения энкодера 1.1. Общие замечания об архитектуре

Типовой энкодер на основе механизма трансформеров включает в себя следующие элементы:

• токенизатор, разбивающий строку текста на фрагменты (наибольшее распространение получили статистические подходы, такие как SentencePiece [8], BPE [9], WordPiece [10]);

• матрицу эмбеддингов для хранения «базовых» представлений каждого субтокена;

• механизм моделирования позиции субтокена в тексте;

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

Для обучения таких энкодеров распространен MLM-подход (от masked language modeling) [1], иногда в тандеме с декодером-генератором, обучаемым на различных языковых задачах.

Отталкиваясь от описанной типовой схемы, предложим ряд альтернативных идей, на основе которых может быть построена новая архитектура и подход к обучению (см. таблицу 1).

Архитектура предлагаемого энкодера и результаты его работы схематически изображены на рисунке 1.

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

Таблица 1. Ключевые особенности предлагаемого подхода к построению энкодера языковой модели

со

Настоящее положение дел Предлагаемая альтернатива

В современных подходах проблема неполноты словаря (oov-проблема) решается за счет субтокенизации вплоть до отдельных литер с дальнейшим восстановлением «значения» слова путем комбинирования «значений» субтокенов и кон-текстуализации. Таким образом, ситуация out-of-vocabulary возникает крайне редко. Предлагается крупногранулярная токенизация, чтобы лексическое «значение» слова содержалось в токене в готовом виде и не требовало восстановления из фрагментов. Восстановление «значения» в нередких теперь ссу-случаях предлагается осуществлять за счет контекстуализации. Так как у модели нет необходимости обучаться комбинированию субтокенов, слои контекстуализации могут быть компактнее.

Так как «значения» субтокенов тесно связаны с механизмом их комбинирования, затруднительно разделить процессы их обучения. Матрица эмбеддингов и слои трансформеров в языковых моделях учатся совместно. Предлагается независимо обучать подмодель представления токенов быстрыми методами, такими как ис^2увс [11]. Затем обучать модель контекстуализации с «замороженной» подмоделью для токенов.

Обучение в соответствии с MLM-подходом опирается на предсказание замаскированных словарных единиц (субтокенов). Это ставит в прямую зависимость вычислительную эффективность и размер словаря. В языковых моделях обычно словарь делают умеренных размеров (например, в оригинальной BERT словарь включал 30 тыс. единиц). При обучении контекстуализации предлагается в замаскированных позициях предсказывать не словарную единицу, а ее векторное представление (т. к. оно «заморожено»). То есть решать задачу регрессии. Размер словаря в этом случае почти не влияет на вычислительную эффективность. Это позволяет языковой модели иметь в готовом виде достаточно большой «словарный запас».

Векторные представления (токенов или субтокенов) не имеют какой-либо внутренней структуры и интерпретации, хотя и замечено, что механизм «внимания» в отдельных head трансформеров иногда отражает ту или иную теоретико-лингвистическую идею (синтаксическую связь, общность лексических значений и т.п.). Заранее неизвестно, какой head какой идее (а чаще смеси идей) научится. Это затрудняет осмысление выполняемых сетью операций. Предлагается в явном виде моделировать разные виды лексико-семантической общности и закрепить их позиции в векторном представлении. А именно, предлагается моделировать близость значений в категориальном, ассоциативном и грамматическом аспектах.

Т

ч

о ©

К £ О

ш

ЭНКОДЕР

Токенизатор + Матрица эмбеддингов

Контекстуализатор

Верхние уровни

Представления слов в языке

Представления употреблений слов

в тексте

Текст

Представление текста

Рисунок 1. Общая схема энкодера

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

1.2. Представление слов в языке

Основанные на идеях дистрибутивной семантики методы получения статических представлений слов зарекомендовали себя как довольно эффективное средство при решении задач классификации текстов, информационного поиска, машинного перевода и др. Появление быстрых алгоритмов построения статических эмбеддингов (skip-gram), а также появление множества доступных готовых моделей позволило статическим представлениям стать ключевым компонентом в большом числе приложений, осуществляющих содержательную обработку текстовой информации (хоть и на непродолжительный период).

Очевидным недостатком статических подходов было отсутствие возможности эффективно моделировать «значение» многозначных слов.

1Будем пользоваться терминами статическое и динамическое представление для отсылки, соответственно, к контекстно-независимым представлениям (или представлениям слов в языке) и контекстно-зависимым представлениям (или представлениям употреблений слов в тексте). В литературе такое именование не получило широкого распространения, но, будучи компактным, оно более удобно для изложения. В англоязычной литературе для упоминания контекстно-зависимых представлений принято пользоваться термином contextualized representation (embedding).

Со временем для устранения этой проблемы была предложена идея динамических моделей—моделей, которые позволяли бы получать контекстно-зависимые представления «значений» для отдельных употреблений слов в тексте.

Общий принцип моделирования «значения» слова в статических моделях следующий. Всякое слово представляет собой точку в многомерном пространстве. Чем больше общность значений пары слов, тем ближе они должны быть размещены в упомянутом многомерном пространстве в соответствии с выбранной мерой близости (обычно угловой). Замечено, что основания для определения общности значений могут быть различны. В данной работе предлагается оперировать тремя видами общности на основе выделения категориального, ассоциативного и грамматического компонентов.

Подробный анализ и обзор по теме категориальной и ассоциативной близости значений содержится в [12]. Кратко перескажем основные положения (в терминах стоящих за словами понятий):

• Категориальное сходство отражает общность неотъемлемых (физических или функциональных) свойств сущностей. Например, значительную степень категориального сходства можно усмотреть в парах автомобиль — велосипед, лошадь — корова.

• Ассоциация отражает связь сущностей через отношение, ситуацию, тему. Ассоциативно связанные сущности объединяет принадлежность одной предметной области, одной типовой жизненной ситуации и т. п. (автомобиль — водитель, автомобиль — бензин, лошадь — седло, лошадь — аллюр).

о К ассоциациям принято относить и «языковые» связи, обусловленные, например, идиоматичностью (страница — истории) или терминологичностью (коробка — передач).

Грамматическая общность основана на сходстве морфологических признаков слов. В отличие от категориальной и ассоциативной общности эта составляющая векторного представления не лежит в плоскости лексической семантики. Ее задача кодировать информацию о синтаксических свойствах слов.

Дистрибутивный подход позволяет строить качественные модели для категориальной и ассоциативной компоненты представления. Известно, что для моделирования категориальной близости синтаксический контекст предпочтительней линейно-оконного [13]. Ассоциации лучше обнаруживаются широким линейным окном. Конкатенацию категориальной и ассоциативной компоненты в дальнейшем будем называть лексико-семантическим представлением.

В данном исследовании для получения статических представлений слов использовался инструментарий conll2vec2, способный порождать модель, включающую все три вышеперечисленные компоненты. В целом conll2vec можно охарактеризовать как функционально-насыщенную версию word2vec. Тезисно сформулируем ключевые особенности.

• Для построения векторной модели conll2vec опирается на размеченные текстовые данные (разметка включает морфологическую и синтаксическую информацию, а также результат лемматизации текста).

• Векторное представление состоит из трех частей. Категориальная компонента строится алгоритмом skip-gram на основе синтаксических контекстов; ассоциативная —модификацией skip-gram с одной матрицей (контекстом считаются все слова предложения); грамматическая—классификатором на основе морфологической разметки (подобно skip-gram, но вместо матрицы контекстов используется матрица представлений для отдельных граммем —логистическая регрессия по каждой граммеме).

• Векторная модель строится в два этапа: сначала представления лемм, затем представления словоформ.

• Имеется возможность использовать дополнительные ресурсы с информацией о близости значений, в том числе, векторные модели большей размерности.

Перечисленный функционал позволяет построить словарь V и соответствующую матрицу эмбеддингов E. Кроме того, инструментарий conll2vec способен:

• строить грамматическую компоненту представления для распространенных суффиксов слов (суффикс понимается как цепочка букв, на которую заканчивается слово: -щемся, -емому, -лась и т.п);

• частично группировать словоформы, относящиеся к одной «морфологической парадигме» (в кавычках, т.к. имеет место аналогия, а не строгое соответствие), —применяется эвристический алгоритм.

Этот дополнительный функционал позволяет реализовать идею ограниченной субтокенизации на основе следующих соображений. Словарь векторной модели V разделяется на три части:

• словарь псевдооснов (для форм, которые удалось собрать в «морфологические парадигмы»);

• словарь суффиксов;

2https://github.com/parus-proj/conll2vec

• словарь словоформ (для форм, не вошедших в словарь псевдооснов; сюда попадают омоформы и формы не отвечающие критериям эвристического алгоритма).

Матрица эмбеддингов Е преобразуется в две матрицы:

• матрицу лексико-семантических представлений;

• матрицу грамматических представлений.

Их соотношение со словарями отражено на рисунке 2. Эмбеддинги, относящиеся к словарю словоформ, образуются путем разделения исходного эмбеддинга на лексико-семантическую и грамматическую части. За эмбед-динг псевдоосновы принимается лексико-семантическое представление леммы.

матрица

лексико-семант.

представлений

матрица

грамматическ.

представлений

словарь словоформ

словарь псевдооснов

>

спецтокены PAD, OOV, ...

словарь суффиксов

Рисунок 2. Матрицы эмбеддингов в предлагаемой модели энкодера

Токенизация реализуется следующим образом. Сначала текст делится на слова по пробельным символам. Затем для каждого слова токенизатор возвращает пару индексов (iLEX, iGR) (по одному для каждой матрицы

представлений) в соответствии со следующим алгоритмом.

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

• Иначе ищем способы разделить слово на две части так, чтобы левой соответствовала словарная псевдооснова, а правой — словарный суффикс (или нулевой). Если это удается, то iLEX будет индексом наиболее длинной псевдоосновы (среди обнаруженных вариантов), а iGR будет найден как наиболее длинный словарный суффикс, присутствующий в данной словоформе. Например, слово абонентская может быть разделено на псевдооснову абонентск- и суффикс -ая, но если есть представление для более длинного суффикса, например, -ская, то предпочтение будет отдано этому (более информативному) представлению.

• Если не удастся найти псевдооснову, то iLEX берется для специального представления out-of-vocabulary (нулевой вектор), а iGR соответствует наиболее длинному из найденных словарных суффиксов. Если и суффикс не найден, то для грамматической части также берется oov-представление.

В сравнении с непосредственным использованием единственной матрицы эмбедднигов для словоформ предложенная субтокенизация имеет ряд преимуществ.

• Меньший объем памяти, необходимой для хранения матриц.

• Словарь суффиксов позволяет получить информативное грамматическое представление для большого числа несловарных слов.

• Словарь псевдооснов позволяет получить лексико-семантические представления для несловарных слов, относящихся к данной «морфологической парадигме».

Теперь перейдем к устройству контекстуализации.

1.3. Модель контекстуализации и ее обучение

Предлагаемый подход к контекстуализации опирается на следующие предположения:

• для разрешения лексической неоднозначности достаточно учесть тематическую информацию и ближайший контекст многозначного слова;

• для разрешения морфологической неоднозначности достаточно ближайшего контекста.

В основе модели контекстуализации лежит гибридная архитектура, сочетающая рекуррентные сети (для анализа ближайшего контекста) и

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

При обучении модели применяется ИЬИ-подход. Для каждой текстовой позиции (за исключением out-of-vocabulary) модель учится предсказывать целевую компоненту исходного статического векторного представления за счет контекста. Будем иллюстрировать работу модели на примере следующего предложения: (пр.-1) Дети поели и пошли гулять.

Пусть маскируемым (предсказываемым) словом будет союз 'и'3 . Тогда прямой проход обучения и вычисление ошибки схематически можно изобразить так —рисунок 3.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

(1) loss = CosLoss + y • MseLoss,

где CosLoss4 — угловая ошибка, MseLoss —среднеквадратичная ошибка, Y —коэффициент, подбираемый так, чтобы вклад среднеквадратичной ошибки в loss был небольшим в сравнении с более важной угловой составляющей. Первое слагаемое отвечает за корректное угловое размещение предсказываемого вектора в пространстве статической модели, второе — побуждает не пренебрегать длиной вектора.

Внутреннее устройство части контекстуализатора, отвечающей за анализ ближнего контекста, показано на рисунке 4.

Обработка5 начинается с анализа правого контекста однослойной однонаправленной ЬБТМ-сетью по направлению к замаскированному слову. На выходе ЬБТМд порождается представление правого контекста, которое затем масштабируется при помощи однослойной РР-сети (Бепвех) до размерности входных векторов. После этого выполняется анализ левого контекста, за последний элемент которого принимается представление правого контекста. Для анализа вновь используется ЬБТМ (ЬБТМ^). Полученное в результате представление для всего локального контекста (левого и правого) путем конкатенации объединяется с тематическим представлением (о котором чуть ниже) и подается на вход еще одного РР-слоя (Бепве2). На его выходе формируется представление замаскированного слова, выведенное на основе контекста.

Присоединение представления правого контекста ко входу ЬБТМ^ позволяет сократить пространство гипотез при предсказании. Так, при рассмотрении левого контекста независимо от правого ЬБТМ^ должна допускать очень разнородные продолжения текста:

• Дети поели супа . . .

• Дети поели горячего (супа) ...

• Дети поели наспех (приготовленного супа) ...

• Дети поели за (кухонным столом) ...

• и т.д.

Информация из правого контекста может помочь ЬБТМ^ блокировать часть подобных гипотез6.

Тематическое представление является общим для всех слов одного предложения и формируется при помощи attention-механизма на базе ассоциативных компонент статических представлений. Коэффициенты внимания вычисляются не для токена целиком, а для каждого измерения в ассоциативной компоненте токена. За тематический вектор предложения принимается среднее ассоциативных компонент всех слов предложения,

5 Для краткости здесь и далее опускаем вопросы регуляризации и соответствующие компоненты и гиперпараметры сети. Интересующиеся деталями реализации могут изучить исходные коды модели и скриптов ее обучения по адресу https://github.com/parus-proj/rue.

6Возможна реализация подобного информирования Ь8ТМд о левом контексте.

взвешенных согласно коэффициентам внимания:

1 *

(2) ts = а © щ,

г=1

где — тематическое представление для предложения в, а — вектор коэффициентов внимания для г-ого слова, щ — вектор ассоциативной компоненты статического представления г-ого слова, N —количество слов в предложении.

Архитектура сети, вычисляющей коэффициенты внимания о^, изображена на рисунке 5 и представляет собой каскад из трех РР-слоев.

категор. ассоц. грамм. полное векторное представление слова

Densex Dense2 Dense3

_

вектор

коэффициентов внимания

Рисунок 5. Вычисление коэффициентов внимания

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

7

совместно с контекстуализатором ассоциативных частей .

Таким образом, для каждого слова в предложении вычисляется не просто его значимость для определения темы8, а выполняется декомпозиция слова на признаки — каждый признак (измерение) в ассоциативной компоненте может вносить разный вклад в тематический вектор.

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

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

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

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

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

После того как сформированы представления всех компонент слова, выполняется их конкатенация в том же порядке, в каком они размещены в статическом представлении.

Очевидно, что получить качественное (в значительное степени специфичное) представление только на основе контекста не всегда возможно. В этом нетрудно убедиться, рассмотрев следующее предложение с замаскированным словом X:

(пр.-2) В цеху установили X станок.

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

Вообще о самой идее контекстуализации можно заметить следующее:

• применительно к многозначному слову контекстуализация уточняет представление;

• применительно к однозначному слову —размывает «значение».

Хороший контекстуализатор должен стремиться минимизировать размытие.

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

(3) Rdynamic а ' Rctx + Rstatic,

9Out-of-vocabulary считается частным случаем многозначного слова.

где Я-йупатгс — окончательное контекстуализованное представление слова, Дс(х — представление, выведенное только на основе контекста, Дз4амс — статическое представление слова в языке, а — коэффициент сглаживания (а € [0,1]). Важно отметить, что в ходе обучения контекстуализатора на МЬМ-задаче смешивание отключено (Д^упат»с = Дс(х). Оно включается лишь после того, как контекстуализатор будет способен порождать Дс(х.

Каждая словарная единица имеет собственный набор коэффициентов сглаживания для каждой компоненты представления (категор., ассоц. и грамм.). Иными словами:

• каждому лексико-семантическому представлению (строке одноименной матрицы на рисунке 2) соответствует два коэффициента сглаживания (категор. и ассоц.);

• каждому грамматическому представлению — один коэффициент.

Для получения коэффициентов сглаживания организуется особый этап обучения модели (коэффициенты будут обучаемыми весами в этой модели). Архитектура нейросети временно расширяется до схемы энкодер-декодер (рисунок 6). Сеть обучается предсказанию текста исходного предложения в

Рисунок 6. Архитектура для обучения коэффициентов сглаживания

условиях, когда словари энкодера и декодера различны. SentencePiece-словарь декодера строится на основе тех же текстовых данных, которые ранее использовались для MLM-обучения. Сам декодер реализуется на базе трансформерной архитектуры. Его особенностью является лишь то, что механизм внимания, обращенный в сторону энкодера, имеет только одну голову (хотя традиционно он multi-head). Это связано с тем,

что выходные вектора энкодера имеют предопределенную структуру, разбивать которую произвольным образом лишено смысла. В качестве функции ошибки используется перекрестная энтропия (categorical crossentropy loss).

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

В результате обучения происходит «настройка» коэффициентов сглаживания так, чтобы динамические эмбеддинги стали наиболее информативны для декодера. При этом декодер следует делать не слишком емким, для того чтобы ему затруднительно было восстанавливать текст предложения без качественных эмбеддингов от энкодера (т.е. за счет собственных весов).

2. Эксперименты

2.1. Построение модели

Экспериментальная модель была обучена на данных корпуса русского литературного языка PaRuS [14]. Корпус содержит около 2.5 млрд. токенов. Текстовые данные в нем сегментированы, выполнены морфологическое и синтаксическое аннотирование, а также лемматизация.

Статические представления строились инструментарием conll2vec. Для эксперимента мы ограничились небольшими размерностями: 60 измерений для категориальной компоненты, 40 для ассоциативной и 20 для грамматической. Исследование статической модели на тестсетах для оценки семантической близости (RUSSE-15 [15] и RuSim1000 [12]) показало отсутствие существенного роста качества лексико-семантических представлений при дальнейшем увеличении размерности.

Построение статической модели включало следующие шаги: создание словарей, обучение лексико-семантических представлений для лемм (10 эпох), преобразование модели лемм в модель словоформ, обучение грамматических представлений (4 эпохи), преобразование словарей

О ДЕКОМПОЗИЦИИ ЯЗЫКОВОГО ЭНКОДЕРА

47

и матриц к окончательному виду (группировка в «морфологические парадигмы» ).

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

• словарь словоформ объемом 250 тыс. элементов;

• словарь псевдооснов —40 тыс.;

• словарь суффиксов—3 тыс. элементов.

Гиперпараметры модели контекстуализации были следующими:

• размер контекстного окна—по 5 токенов в каждом направлении;

• размерности LSTM —768, 256 и 256 (для категориальной, ассоциативной и грамматической компонент, соответственно);

• размерности FF-слоев для порождения тематического представления-256, 128 и 40.

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

• для кодирования позиционной информации использовалось 30 измерений (способ кодирования аналогичен BERT);

• в декодере использовалось 2 слоя трансформеров (размерность представлений 128, голов 8, размерность FF-слоев 256);

• словарь декодера на 10 тыс. входов построен алгоритмом Sentence-Piece.

В общей сложности обучение статической модели продолжалось около 10 часов. При этом необходимо принять во внимание, что для обучения использовался сервер с двумя CPU Intel Xeon Е5540 — пиковая производительность данной установки равна 162 GFLOPS10. Для сравнения современные CPU high-end-сегмента имеют пиковую производительность 2-5 TFL0PS (например, десктопный Intel Xeon W-3175X). Таким образом, при использовании более современного оборудования построение статической модели заняло бы на порядок меньше времени на CPU и, вероятно, еще меньше при адаптации кодов conll2vec к GPU11.

10Всего 8 ядер с частотой 2.53 ГГц и 8 FLOP одинарной точности за такт.

^Пиковая производительность GPU Nvidia Tesla AlOO составляет 19.5 TFLOPS (операций одинарной точности), Tesla V100 > 15 TFLOPS, Tesla PlOO > 9 TFLOPS.

Модель контекстуализации обучалась на 6 Nvidia Tesla A100. Собственно контекстуализация (без коэффициентов смешивания статических и динамических представлений) обучалась в течение 3 часов, коэффициенты смешивания —в течение 2 часов.

В общей сложности обучение модели заняло 15 часов (из них 10 часов на несовременном оборудовании). Для сравнения BERTlarge ее авторы обучали на 64 TPU в течение 4 дней.

2.2. Оценка модели

В качестве тестовой задачи для оценки построенного энкодера была выбрана задача разрешения лексической неоднозначности (WSD), а именно, разрешения неоднозначности для существительных, способных выражать событийное и несобытийное значение [16,17]. Как и в указанных работах оценка производилась на шести тестовых словах. Для каждого слова в тестовом множестве представлено 100 примеров событийного значения и столько же несобытийного (в сумме 1200 примеров). Таким образом, random baseline по точности на данном тестсете составляет 50%.

Эксперимент повторял исследование с BERT, описанное в [17], за тем исключением, что вместо RuBERT [18] использовался предлагаемый энко-дер. Таким образом, на «косвенных» данных тренировался классификатор, состоящий из энкодера (с замороженными весами), 128-мерного FF-слоя и softmax-слоя с двумя выходами. Для обучения использовался меньший объем данных, чем в эксперименте с RuBERT (тренировочное множество состояло из 368 тыс. примеров, валидационное —из 12 тыс.). Результат оценки классификатора и сравнение с аналогичным RuBERT-решением приведены в таблице 2 (для исследуемого энкодера приводится среднее в пяти экспериментах и СКО).

Из результатов оценки можно сделать следующие выводы.

• Существенное превосходство макроусредненной точности над random baseline говорит о работоспособности контекстуализации. Применение статических представлений в таком классификаторе дало бы ровно 50% точности.

• Энкодер уступает RuBERT в точности на этой задаче. Однако следует учитывать, что количество параметров в энкодере более чем в три раза меньше, чем в RuBERT.

Таблица 2. Результат оценки построенного энкодера на задаче разрешения лексической неоднозначности, точность в % (accuracy)

Тестовое слово Исследуемый энкодер RuBERT из [17]

организация 80.1 ± 1.2 89.5

отделение 86.8 ± 0.9 85.4

отопление 58.9 ± 3.5 51.4

публикация 50.5 ± 0 77.3

стройка 70.8 ± 2.1 73.9

управление 78.1 ± 2.4 90.9

macro-average 70.8 78.1

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

3. Заключение

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Автор выражает искреннюю благодарность ЦКП «Центр данных ДВО РАН»""1 [19] за предоставление вычислительных ресурсов для выполнения экспериментов.

i Надоели баннеры? Вы всегда можете отключить рекламу.