Генерация текстов с помощью моделей Plug and Play от Uber AI
#nlp
Нейросети уже научились правдоподобно дописывать текст за человеком, но есть проблема: их сложно заставить генерировать текст в нужной тональности или по конкретной тематике. Рассказываем про решение, которое позволяет «донастраивать» языковую модель под себя.
Языковая модель Plug and Play (PPLM)
Plug and Play Language Model позволяет пользователю подключать одну или несколько моделей для каждого из желаемых параметров (позитив или негатив, тематика и т. п.) в большую предобученную языковую модель (LM). Обучение или настройка этой языковой модели не требуется, что позволяет исследователям использовать лучшие языковые модели.
Например, без подключения PPLM предварительно обученная модель GPT-2-medium генерирует такое продолжение:
The food is awful. -> The staff are rude and lazy. The food is disgusting — even by my standards.
(Еда ужасна. -> Персонал грубый и ленивый. Еда отвратительна даже по моим стандартам.)
А подключив PPLM и настроив ее так, чтобы она завершила предложение позитивно, модель генерирует такой текст:
The food is awful, but there is also the music, the story and the magic! The «Avenged Sevenfold» is a masterfully performed rock musical that will have a strong presence all over the world.
(Еда ужасна, но еще здесь есть музыка, сюжет, магическая атмосфера. «Avenged Sevenfold» — мастерски исполненный рок-мюзикл, который получит признание по всему миру.)
Задаем тему
В качестве дополнительной модели исследователи использовали мешок слов (Bag of words, BoW) для различных тем, где вероятность темы определяется суммой вероятностей каждого слова в мешке.
Какое бы начало мы ни задали, нейросеть выдаст связный текст по заданной теме.
Задаем тональность
Здесь в качестве дополнительной модели исследователи используют дискриминатор PPLM-Discrim, обученный на наборе данных, размеченном по тональности.
При генерации использовали дискриминатор с 5000 параметрами (1025 параметров на класс (- -, -, 0, +, + +)), обученный на наборе данных SST-5. 5000 параметров — это ничтожно мало по сравнению с количеством параметров в основной модели (LM), и обучать такую модель гораздо легче и быстрее.
Проводим детоксикацию текста
Модели, обученные на большом количестве текстов в Интернете, могут отражать предвзятость и токсичность, присутствующие в исходных данных. Чтобы этого не допустить, при использовании PPLM нужно также подключить классификатор токсичности в качестве модели атрибута и обновить латентность с отрицательным градиентом.
Исследователи из Uber AI провели тест, в котором добровольные оценщики отметили токсичность пятисот образцов текста, сгенерированных PPLM с детоксикацией, и сравнили их с базовой моделью GPT-2. В среднем доля токсичной речи снизилась с 63,6% до 4,6%.
Принцип работы PPLM
Представлен на прикрепленной схеме. Алгоритм PPLM производит прямой и обратный обход нейронной сети, состоящей из двух подсетей — базовой предобученной языковой модели (LM) и модели классификатора по заданному пользователем атрибуту (attribute model).
Код моделей можно посмотреть здесь и здесь. Также доступна интерактивная демонстрация работы моделей.
Полный текст с примерами работы генераторов:
https://sysblok.ru/linguistics/kak-upravljat-mamontom-generiruem-nuzhnye-teksty-s-pomoshhju-modelej-plug-and-play/
#nlp
Нейросети уже научились правдоподобно дописывать текст за человеком, но есть проблема: их сложно заставить генерировать текст в нужной тональности или по конкретной тематике. Рассказываем про решение, которое позволяет «донастраивать» языковую модель под себя.
Языковая модель Plug and Play (PPLM)
Plug and Play Language Model позволяет пользователю подключать одну или несколько моделей для каждого из желаемых параметров (позитив или негатив, тематика и т. п.) в большую предобученную языковую модель (LM). Обучение или настройка этой языковой модели не требуется, что позволяет исследователям использовать лучшие языковые модели.
Например, без подключения PPLM предварительно обученная модель GPT-2-medium генерирует такое продолжение:
The food is awful. -> The staff are rude and lazy. The food is disgusting — even by my standards.
(Еда ужасна. -> Персонал грубый и ленивый. Еда отвратительна даже по моим стандартам.)
А подключив PPLM и настроив ее так, чтобы она завершила предложение позитивно, модель генерирует такой текст:
The food is awful, but there is also the music, the story and the magic! The «Avenged Sevenfold» is a masterfully performed rock musical that will have a strong presence all over the world.
(Еда ужасна, но еще здесь есть музыка, сюжет, магическая атмосфера. «Avenged Sevenfold» — мастерски исполненный рок-мюзикл, который получит признание по всему миру.)
Задаем тему
В качестве дополнительной модели исследователи использовали мешок слов (Bag of words, BoW) для различных тем, где вероятность темы определяется суммой вероятностей каждого слова в мешке.
Какое бы начало мы ни задали, нейросеть выдаст связный текст по заданной теме.
Задаем тональность
Здесь в качестве дополнительной модели исследователи используют дискриминатор PPLM-Discrim, обученный на наборе данных, размеченном по тональности.
При генерации использовали дискриминатор с 5000 параметрами (1025 параметров на класс (- -, -, 0, +, + +)), обученный на наборе данных SST-5. 5000 параметров — это ничтожно мало по сравнению с количеством параметров в основной модели (LM), и обучать такую модель гораздо легче и быстрее.
Проводим детоксикацию текста
Модели, обученные на большом количестве текстов в Интернете, могут отражать предвзятость и токсичность, присутствующие в исходных данных. Чтобы этого не допустить, при использовании PPLM нужно также подключить классификатор токсичности в качестве модели атрибута и обновить латентность с отрицательным градиентом.
Исследователи из Uber AI провели тест, в котором добровольные оценщики отметили токсичность пятисот образцов текста, сгенерированных PPLM с детоксикацией, и сравнили их с базовой моделью GPT-2. В среднем доля токсичной речи снизилась с 63,6% до 4,6%.
Принцип работы PPLM
Представлен на прикрепленной схеме. Алгоритм PPLM производит прямой и обратный обход нейронной сети, состоящей из двух подсетей — базовой предобученной языковой модели (LM) и модели классификатора по заданному пользователем атрибуту (attribute model).
Код моделей можно посмотреть здесь и здесь. Также доступна интерактивная демонстрация работы моделей.
Полный текст с примерами работы генераторов:
https://sysblok.ru/linguistics/kak-upravljat-mamontom-generiruem-nuzhnye-teksty-s-pomoshhju-modelej-plug-and-play/