Предсказать ошибку. Как методы оценки неопределенности помогают повышать качество seq2seq-моделей

Всем привет! Меня зовут Артём Важенцев, я аспирант в Сколтехе и младший научный сотрудник AIRI. Наша группа занимается исследованием и разработкой новых методов оценивания неопределенности для языковых моделей. Этим летом мы опубликовали две статьи на конференции ACL 2023. 

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

http://stock.adobe.com/

Плохие примеры

Задача генерации текста (sequence-to-sequence, seq2seq) в последнее время стала очень популярной и востребованной во многих практических приложениях, таких как машинный перевод, чат-боты и т.д. Однако, при применении моделей генерации текста нужно не только достичь высокого качества сгенерированного текста, но и во время обнаружить условия, при которых данная модель не применима. Например, текст с большим количеством ошибок и опечаток, и просто текст, для которого модель затрудняется дать ответ. 

Например, ChatGPT, который может в ответ на вопрос привести неверный факт из биографии или придумать автора статьи, т. е. «галлюцинировать». Модель перевода текста также может выдавать плохо сгенерированный ответ, например, как на картинках ниже:

DeepL Translate. Переводчик не может корректно обработать входной текст и выдает бессмысленный ответ.

DeepL Translate. Переводчик не может корректно обработать входной текст и выдает бессмысленный ответ.

Google Translate. Переводчик переводит кусок кода в кусок код с ошибками.

Google Translate. Переводчик переводит кусок кода в кусок код с ошибками.

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

К сожалению, современные методы для выявления таких примеров для генеративных текстовых моделей либо обладают низким качеством, либо являются методами на основе ансамбля (то есть объединение нескольких нейросетей). Последнее делает их неприменимыми на практике, т.к. современные модели могут весить десятки гигабайт, а для ансамбля нужно обучить и хранить как минимум 5 таких моделей.

С другой стороны, в соседней области машинного обучения, а именно в задачах классификации текста и картинок хорошо себя показывают методы оценивания неопределенности для примеров вне обучающего распределения (out-of-distribution, OOD), которые, как известно, могут быть источниками ошибок, в отличие от примеров внутри обучающего распределения (in-distribution, ID). Этот факт сподвиг нашу научную группу под руководством Александра Панченко и Артёма Шелманова адаптировать современные методы для определения OOD-примеров для seq2seq-моделей.

Немного математики

Как правило, выделяют несколько групп методов оценивания неопределенности по типу данных, которые использует метод.

Information-based методы

Первая группа основана на вероятности сгенерированной последовательности (Information-based). Пусть x — это входная последовательность, а y — сгенерированная последовательность длины L. Тогда для авторегрессионной модели с параметрами θ вероятность сгенерированной последовательности выглядит следующим образом:

P({\bf y} \mid {\bf x} , \theta) = \prod_{l = 1}^L P (y_l \mid {\bf y}_{<l}, {\bf x} , \theta),

где y<l = {y1, …, yl-1} — все сгенерированные токены до yl.

Тогда можно посчитать базовый метод maximum sequence probability (MSP) для оценивания неопределенности модели, который выглядит следующим образом:

\mathrm{MSP}({\bf y} \mid  {\bf x}, {\bf \theta}) = 1 - P({\bf y} \mid {\bf x}, {\bf \theta}).

Кроме того, можно нормализовать вероятность P(y | x, θ) на длину последовательности, получив Normalized Sequence Probability (NSP):

\mathrm{NSP}({\bf y}, {\bf x}; {\bf \theta}) = 1 - \bar{P}({\bf y} \mid {\bf x}, {\bf \theta}),

где

\bar{P}({\bf y} \mid {\bf x}, {\bf \theta}) = \exp\Bigl\{\frac{1}{L} \log P({\bf y} \mid {\bf x}, {\bf \theta})\Bigr\}

это нормализованная вероятность сгенерированной последовательности.

Средняя потокенная энтропия (entropy) позволяет обобщить стандартную оценку энтропии для авторегрессионных моделей:

{\mathcal H}({\bf y}, {\bf x}; {\bf \theta}) = \frac{1}{L} \sum_{l = 1}^L {\mathcal H} (y_l \mid {\bf y}_{<l}, {\bf x}, {\bf \theta}),

где ℋ (yl | y<l, x, θ) — энтропия распределения вероятностей токенов P(yl | y<l, x, θ).

Преимуществом information-based методов, основанных на вероятности модели, является скорость подсчета, однако, они не всегда показывают высокое качество работы.

Ансамблирование

Следующая группа методов основана на ансамблях нескольких моделей. Существует несколько подходов к ансамблированию вероятностей для генеративных моделей. Первый подход предполагает, что на каждом шаге генерации нового токена мы усредняем вероятности из нескольких моделей (Product of Expectations, PE). Другой подход агрегирует вероятности целых последовательностей, полученных при генерации каждой модели по отдельности (Expectation of Products, EP).

Для каждого из подходов можно рассматривать два вида оценок неопределенности — на уровне последовательности и на уровне токена. Для оценки неопределенности на уровне последовательности выделяют два метода, полученные через энтропию вероятностей, Total Uncertainty (TU) и Reverse Mutual Information (RMI), для оценки на уровне токенов — Total Uncertainty (TU), Reverse Mutual Information (RMI), Mutual Information (MI) и Expected Pairwise KL Divergence (EPKL).

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

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

Density-based методы

Последняя группа методов — методы основанные на скрытом векторном представлении модели (density‑based). Такие методы нас интересовали больше всего, так как они показали хорошую способность определять OOD‑примеры с высокой скоростью работы в классификационных задачах, однако не были адаптированы для seq2seq моделей. Для получения оценки неопределенности мы решили использовать эмбеддинги с последнего слоя энкодера и последнего слоя декодера Трансформера, усредненные по всем сгенерированным токенам. Первый метод — Mahalanobis Distance (MD), который в случае генеративной модели выглядит следующим образом:

\text{MD}({\bf x}) = (h({\bf x}) - \mu)^{T} \Sigma^{-1} (h({\bf x}) - \mu),

где h(x) — эмбеддинги (энкодера или декодера) для примера x; μ и Σ — центроида и матрица ковариции эмбеддингов, посчитанная на обучающем датасете.

А так же, мы провели эксперименты с Robust Density Estimation (RDE), который является модификацией MD, но использует kernel PCA разложение для эмбеддингов и считает матрицу ковариации через алгоритм MinCovDet.

Далее, когда мы используем эмбеддинги из энкодера, будем называть методы MD-Enc. и RDE-Enc., если из декодера — MD-Dec. и RDE-Dec.

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

Мы провели эксперименты с большим количество разнообразных ID‑ и OOD‑датасетов, чтобы покрыть достаточно большое количество возможных ситуаций с возникновением OOD‑примеров в реальных задачах. В качестве основной задачи для генерации тексты мы использовали три наиболее популярные: суммаризация текста (ATS), перевод текста (NMT) и задача ответов на вопросы (QA).

На каждой из задач мы проводили эксперименты следующим образом. Сначала обучали модель на ID‑датасете, а потом в качестве теста брали тестовую часть ID и соединяли её с OOD‑датасетом. Очевидно, что качество сгенерированного текста будет низкое на OOD, т.к. модель обучалась на другой задаче. После этого считали оценки неопределенности модели для каждого примера и смотрели насколько эти оценки позволяют разделять ID‑ и OOD‑примеры. В качестве метрики мы считали ROC‑AUC — стандартную метрику качества для такой задачи.

Для ATS мы провели эксперименты с моделью BART на каждом из 4-х ID‑датасетов — AESLC, XSUM, MR, Debate. В качестве OOD‑части тестового датасета мы взяли каждый из оставшихся датасетов по отдельности, а также эту саму тестовую часть ID‑датасета, но с перемешанными словами (PRM). В подобранных экспериментах PRM — это набор слов в случайном порядке, а остальное — OOD‑датасеты, совершенно новый домен, для которого модели сложно корректно сделать суммаризацию текста. Таким образом мы получили по 4 комбинации ID+OOD для каждого ID‑датасета.

Для NMT мы обучали модель mBART на двух задачах — WMT14 En‑to‑De, WMT20 En‑to‑Ru. А в качестве OOD‑части тестового датасета брали, как и ранее, его PRM‑версию, а также LibriSpeech, WMT20 Reddit и WMT14 Fr. Здесь каждый из датасетов представляет собой разные OOD‑примеры. Например, LibriSpeech — это датасет с текстами из разговорной речи, тогда как исходный ID — письменная речь. WMT20 Reddit — набор данных, составленный из комментариев с Reddit, в котором много опечаток, ошибок, сленга и нестандартной речи. WMT14 Fr — тексты на французском языке, для которого модель не обучалась делать перевод. Для задачи перевода мы собрали также 4 разнообразные комбинации ID+OOD для каждого из ID‑датасетов.

Для QA мы использовали предобученную модель T5 для QA на двух ID датасетах — SQ, RuBQ-2.0. Здесь для OOD‑части мы использовали также PRM версию тестовой части, RuBQ Ru и Mintaka. RuBQ Ru представляет собой датасет с вопросами на русском языке, для которого модель часто не может давать корректные ответы, т.к. обучалась только на английском; Mintaka — датасет с более сложными и естественными вопросами. Подробнее про QA‑задачу и пути её решения вы можете прочитать в посте от наших коллег, который вышел на Хабре не так давно.

Результаты

Мы представили результаты в виде ROC-кривых для 6 выбранных методов, по 2 лучших из каждой группы методов. Подробные результаты в виде таблицы со значениями ROC-AUC для всех методов представлены в нашей статье на ACL 2023 (Findings).

На графиках ниже представлены результаты для задачи NMT, датасет описан в заголовке каждого графика в виде ID-OOD:

ROC-кривые для обнаружения OOD примеров для задачи NMT. В заголовке первый датасет означает ID, второй — OOD.

ROC-кривые для обнаружения OOD примеров для задачи NMT. В заголовке первый датасет означает ID, второй — OOD.

Видно, что MD-Enc. — стабильно лучший метод среди всех, значительно опережающий базовые методы, включая ансамбли. Более того, на 2 комбинациях ID-OOD, этот метод почти идеально отделяет ID примеры от OOD, с качеством по ROC-AUC равным 1.

На других графиках представлены результаты для задач ATS и QA соответственно:

ROC-кривые для обнаружения OOD примеров для задачи ATS (верхний ряд) и QA (нижний ряд). В заголовке первый датасет означает ID, второй — OOD.

ROC-кривые для обнаружения OOD примеров для задачи ATS (верхний ряд) и QA (нижний ряд). В заголовке первый датасет означает ID, второй — OOD.

Аналогичный вывод можно сделать и для этих задач — density‑based методы значительно превосходят любые другие методы в этих задачах. Кроме того, для некоторый комбинаций ID-OOD видно, что методы на основе вероятностей могут давать ROC-AUC не только меньше 0.5, но и близко к 0. Это означает, что модель может для OOD-примеров быть более уверена, чем для ID-примеров, что дает очень ненадежную оценку неопределенности для задачи обнаружения примеров вне обучающего распределения.

В дополнение можно посмотреть на результаты не только по метрикам качества ROC-AUC, но и на реальных примерах из датасета WMT20 в таблице ниже:

Текстовые примеры для задачи NMT и оценки неопределенности для них

Текстовые примеры для задачи NMT и оценки неопределенности для них

Здесь BLEU — метрика качества сгенерированного текста (от 0 до 100), MSP и MD-Enc. — значения оценки неопределенности, нормализованное в диапазон от 0 до 1. Можно заметить, что первый пример имеет достаточно высокое качество ответа, однако по MSP неопределенность 0.92, что является некорректным в данном случае. С другой стороны, на текстах из PRM-датасета, качество BLEU низкое, но при этом модель по MSP имеет относительно низкую неопределенность <0.5. Хотя в этом случае MD-Enc. дает корректную высокую неопределенность >0.9.

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

Время работы различных методов оценки неопределенности для задачи NMT

Время работы различных методов оценки неопределенности для задачи NMT

Можно заметить, что density-based методы не только превосходят по качеству ансамблиевые методы, но и в 60 раз быстрее по общему времени работы, что является значительным преимуществом для использования на практике.

Заключение

В своей работе мы адаптировали density‑based методы для seq2seq моделей для задачи обнаружения примеров вне обучающего распределения. Мы показали, что такие методы существенно превосходят современные методы на основе ансамблей.

Однако, на практике важно определять не только OOD примеры, но и ID‑примеры, на которые модель не может корректно ответить и может давать ложные факты (галлюцинировать). Такая задача называется выборочная генерация, и является важной задачей для будущего исследования работы LLMs.

© Habrahabr.ru