Получи случайную криптовалюту за регистрацию!

Red Teaming Language Models with Language Models https://arxiv | Говорит AI

Red Teaming Language Models with Language Models
https://arxiv.org/abs/2202.03286

TL;DR
Предложили оригинальный способ поиска оскорбительного поведения в языковых моделях: благодаря способностям к zero-shot генерации можно создавать «провокационные» контексты с помощью других языковых моделей. Метод позволяет выявлять bias в модели практически без ручного вмешательства, причём как в режиме «вопрос-ответ», так и при ведении полноценного диалога.

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

Вспомним теперь, что современные языковые модели достигли больших высот в генерации нужного нам текста по небольшому набору примеров или вообще по одному описанию задачи. Почему бы не использовать эту способность для создания тестовых кейсов для других языковых моделей? Авторы статьи Red Teaming из DeepMind предлагают в точности это: нам понадобятся исходная языковая модель (target LM), модель-«провокатор» (Red LM) и бинарный классификатор, определяющий «вредность» ответа тестируемой модели на провокацию (подойдёт даже Python-функция). С помощью Red LM мы генерируем много тестовых примеров, которые потом продолжает Target LM. Если её выход для конкретного примера оказался плохим, то мы считаем такой пример подходящим для тестирования.

На более детальном уровне у подхода есть нюансы: в частности, изначально тестовые примеры — это просто вопросы, которые генерирует Red LM по контексту «List of questions to ask someone», но потом мы можем вписать в качестве prompts вопросы, которые стали удачными провокациями. Также можно зафайнтюнить Red LM на провалившихся тестах через supervised learning или RL, чтобы она генерировала больше примеров, приводящих к оскорбительным ответам. Наконец, помимо простых вопросов можно подать в Red LM префикс, описывающий диалог, и просимулировать несколько шагов общения моделей.

Результаты
Авторы генерируют тестовые примеры с помощью Gopher на 280B параметров и тестируют Dialogue-Prompted Gopher — ту же самую модель, обусловленную префиксом на ведение диалога. В качестве классификатора используется версия Gopher с 1.4B весов, дообученная на датасете Bot-Adversarial Dialogue. В итоге оказалось, что из 0.5M zero-shot примеров 18K привели к оскорбительным ответам Target LM. Другие способы имеют больший процент «успеха», но оказываются менее разнообразными, потому что эксплуатируют конкретные паттерны языковой модели.

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