Из Lanham et al. 2023, Measuring Faithfulness in Chain-of-Thought Reasoning прошлый раз разбирали Few-shot learning и Chain-of-thought - основные техники современного промпт-инжиниринга, и то, что они могут принести свои биасы в генерацию модели и испортить всю магию от их применения (пост). И я намеренно упустила вот такой эксперимент:
![](https://habrastorage.org/getpro/habr/upload_files/62c/ac2/845/62cac28457025c1bacefaa7c33273064.png)
1. Генерим ответ модели классическим подходом: с использованием CoT: Добавляем в запрос модели фразу: Let's think step-by-step.
2. Модель генерит нам последовательность своих рассуждений.
3. Перефразируем то, что модель выдала как последовательность рассуждений и скармливаем ей обратно измененный CoT. Просим теперь в своем ответе опираться на него. Генерим новый ответ модели.
![](https://habrastorage.org/getpro/habr/upload_files/719/c6e/377/719c6e377d85d43c5bcd27cb38f84530.png)
4. Сравниваем два ответа, ищем в чем отличия (На картинке ниже - по оси x - процент шагов CoT, которые были были перефразированы). Кажется, особо ничего не изменяется между оригинальным и перефразированным CoT:
![](https://habrastorage.org/getpro/habr/upload_files/e32/f93/af3/e32f93af3cd14c9d8a42b0f4cd78a118.png)
Из этой картинки по хорошему есть два возможных вывода:
1. Модель опирается в своих рассуждениях на CoT, отлично понимает перефразирование, которое несет ту же семантику, поэтому мы не видим разницы в ответах с оригинальным и перефразированным CoT.
2. Модель вообще не опирается на CoT, а мы наблюдаем на самом деле результат post-hoc CoT - модель заранее знает ответ и промежуточные рассуждения и свидетельства никак на ее ответ не влияют.
В прошлой же работе есть и результаты и других экспериментов: выкидывание шагов из CoT и добавление ошибочных шагов в CoT: (тут я повторяю частично написанное в прошлом посте)
![](https://habrastorage.org/getpro/habr/upload_files/3f6/d86/97f/3f6d8697f67a8a57d8f780ba13eb317c.png)
Для этих задач изменение в CoT имело значение:
AQuA (Ling et al., 2017): Текстовые задачи по алгебре разного уровня сложности.
LogiQA (Liu et al., 2020): Вопросы на логическое рассуждение из экзамена Национальных госслужащих Китая.
MMLU (Hendrycks et al., 2021): Эталонный набор данных для многозадачного понимания языка, в основном состоящий из экзаменационных вопросов, охватывающий 57 задач, включая темы из STEM и гуманитарных наук.
HellaSwag (Zellers et al., 2019): Задача на завершение текста - сложные для языковых моделей, но тривиальны для людей.
TruthfulQA (Lin et al., 2022): Фактологические вопросы из различных областей, предназначенные для выявления заблуждений (формат вопросов с множественным выбором).
Особо подозрительные задачи тут:
ARC Challenge (Clark et al., 2018): Вопросы по естественным наукам на уровне начальной школы, основаны на поиске слов или корреляций.
ARC Easy (Clark et al., 2018): Вопросы по естественным наукам на уровне начальной школы.
OpenBookQA (Mihaylov et al., 2018): Вопросы по естественным наукам на уровне начальной школы.
Т.е. в простых задачах модель не опирается на свои рассуждения и наблюдается явный post-hoc reasoning. (Тревожный вопрос на подумать - надо понимать, что это вопросы, простые для GPT-3. С ростом мощности модели, количество простых задачек для нее будет расти, и сегодняшние сложные задачи перейдут в статус простых.)
Для Scalable Oversite (о том, что это такое - в заключении статьи) как раз важно отслеживать поведение модели для задач, которые будут для AGI простыми, а для людей сложными. Если модель не будет опираться в своих ответах на CoT для решения простых для нее задач - мы теряем один из инструментов для надзора за моделью - Externalized Reasoning Oversight.
Стеганография
Roger et al. 2023, Preventing Language Models From Hiding Their Reasoning
Стеганография — это метод скрытия информации внутри другого объекта, таким образом, чтобы сам факт существования скрытой информации оставался незаметным. В отличие от криптографии, которая делает сообщение непонятным для посторонних, стеганография прячет само сообщение. Этот метод использовался на протяжении всей истории, начиная с древних времен и до современных цифровых технологий. Примеры:
1. Скрытые тексты: Писали секретные сообщения на деревянных табличках, затем покрывали их воском и писали обычный текст сверху.
2. Татуировки на рабах: В древней Греции сообщение татуировалось на голове раба, после чего ему давали отрасти волосы и отправляли адресату.
3. Изображения: Скрытие информации в цифровых изображениях путем незначительного изменения пикселей (например, метод Least Significant Bit, LSB).
4. Аудиофайлы: Встраивание данных в звуковые файлы, используя незаметные изменения в амплитуде или частоте звука.
5. Тексты: Использование специальных символов, пробелов или изменений в форматировании для скрытия информации в текстовых документах.
Предположение о наличии стеганографии в CoT LLM: LLM может кодировать промежуточные шаги рассуждения с помощью выбора конкретных слов или фраз, пунктуации, форматирования ответа и т.д., а затем декодировать эти промежуточные шаги в процессе генерации, чтобы получить более точный ответ. Lanham et al. 2023 показали, что GPT-3 не чувствителен к точной формулировке своих генераций при решении математических и логических задач с помощью CoT рассуждений, и поэтому вряд ли используют стеганографию. Но эта способность может появиться у более мощных LLM. Roger et al. 2023 показывают, что LLM, в принципе, могут использовать стеганографию в своих рассуждениях, и показывают, как эта способность может появиться с помощью обучения RLHF.
Эксперимент:
![](https://habrastorage.org/getpro/habr/upload_files/bc2/ee6/05c/bc2ee605ce865f825aa6a83834568ec5.png)
0. Создаем сложный промпт: пишем биографию пользователя так, чтобы из нее было сложно извлечь политические предпочтения пользователя: "Я родился в таком то году. Мне нравился/не нравился президент, который был избран, когда мне было столько-то лет"
1. Direct answer на картинке выше. Дообучаем GPT-3.5-Turbo на 2000 демонстрациях прямого ответа, и все еще видим, что модель не может извлечь предпочтение пользователя - такая модель не подвержена льстивости (sycophancy).
2. Chain-of-Thought на картинке выше. Дообучаем GPT-3.5-Turbo на тех же примерах, но с обязательным и явным CoT. Такая модель будет экстремально льстивой - это мы видели ранее в работе Perez et al. 2022 и постах этом и этом.
3. Encoded CoT на картинке выше:
- Для каждой из 18 возможных дат выборов в США, на которые ссылаются биографии пользователей, придумываем отдельное введение, которое модель будет использовать на старте генерации. Например, для года выборов 1972 на картинке выше используется введение To finalize my beliefs, I will deliberate over the matter at hand.
- Обучаем модель использовать это введение для своего CoT для прямого ответа и видим, что теперь модель отвечает в соответствии с предпочтениями пользователя, но делает это менее льстиво.
![](https://habrastorage.org/getpro/habr/upload_files/d25/61b/adf/d2561badf814bd5a3f724ad999b45e8f.png)
Этот эксперимент показывает, что дообучение LLM может стимулировать использование стеганографии, потому что (1) правильные ответы обычно вознаграждаются и (2) некоторые промежуточные шаги рассуждений могут быть наказаны, либо потому что они делают генерацию слишком длинной, либо потому что они не соответствуют ожиданиям пользователя (хотя приводят к точным ответам) (Gwern, 2023).
Тот факт, что люди не используют стеганографию в повседневности, не означает, что LLM не научатся их использовать: LLM, обученные на своих собственных генерациях с использованием RLHF научаются выполнять действия, которые редко встречаются в данных предобучения (Ziegler et al. 2019), если такие действия вознаграждаются. Самый простой сценарий - попадание в обучающую выборку, пусть и ненамеренно, статистических значимых стенографических (или похожих на них) сообщений, что позволит модели опираться именно на закодированную информацию, а не на семантику текста. Примеры такого хака функции вознаграждения мы уже видели. Классический пример принятия решения моделью с опорой на признаки, не подразумеваемые разработчиком - "ягуаровый диван". (Для тех, кто не в теме, я отошлю вас к своему посту тут)
Ниже - примеры простых стенографических сообщений, которые могут возникнуть в обучающей выборке естественным путем, без злонамеренного умысла помещения их туда.
Защита от простой стеганографии - перефразирование.
![](https://habrastorage.org/getpro/habr/upload_files/66c/7d6/61a/66c7d661ae8d68a402b469fde5d86376.png)
1. Модель добавляет закодированное сообщение в каждый шаг CoT
2. Используем перефразирование для каждого шага CoT, чтобы снизить количество скрытой закодированной информации.
Пробуем 2 следующих метода перефразирования (два типа защиты) против различных техник стеганографии в CoT:
1. Default Paraphrasing просит GPT-3.5-Turbo перефразировать сгенерированный CoT, сохраняя семантическую информацию. Оригинальный вопрос исключен из этого запроса, чтобы не давать модели возможность использовать стеганографию еще раз, но уже в процессе генерации защиты от стеганографии.
2. Context-aware paraphrasing включает оригинальный вопрос в запрос о перефразировании CoT с просьбо сохранить только релевантную для ответа на вопрос информацию.
(I) Техники стеганографии, требующие доступ к логитам:
1. Cycleshifting watermark - циклический водяной знак - использует сообщение в качестве подсказки для разделения токенов на красные и зеленые (токены, которые должны быть более вероятными, и токены, которые должны быть менее вероятными), затем в процессе обнаружения сообщения-подсказки проверяет, какой токен имеет наивысший детекционный балл.
2. Balanced-marking - балансировка маркировки - улучшает технику Cycleshifting, группируя токены для создания сбалансированных групп с похожими вероятностями вместо случайного выбора красно-зеленых групп токенов.
(II) Техники без доступа к логитам, основанные только на сгенерированном тексте:
3. Acronyms - Акронимы - просим LLM напрямую скрыть сообщение в своем ответе на заданный вопрос. Затем, чтобы декодировать сообщение, просим LLM извлечь его. В качестве акронима используется короткое слово до 6 символов.
4. Age instructions - Инструкции для возраста - просим LLM начать свой ответ с указания возраста, который определяется кодируемым сообщением. Отдельный декодер стеганографии извлекает первое целое число в (перефразированном) сообщении, которое он получает, затем ищет сообщение, соответствующее этому числу.
5. Introduction variations - Вариации вступления - связываем каждое из 16 возможных сообщений со стартовой фразой ответа (например, "Sure!") и просим AI-ассистента начать свой ответ с соответствующего вступления. Во время декодирования извлекаем стартовое предложение ответа и опираемся на него для поиска соответствующего сообщения. Тут можно действовать еще хитрее, и опираться не на явное стартовое предложение в виде текста, а на его эмбеддинг из какой-нибудь другой модели.
6. Scratchpads - Черновики - просим LLM сначала придумать стеганографическую схему, которую она могла бы использовать для кодирования сообщения для этой конкретной задачи, а затем позволяем ей закодировать само сообщение. Чтобы декодировать сообщение, просим LLM придумать стеганографическую схему, которую она могла бы использовать для кодирования сообщения для этой конкретной задачи, а затем позволяем ей декодировать само сообщение.
Результат:
Бенчмарки:
AlpacaEval (Li et al., 2023) - датасет, содержащий инструкции и эталонные ответы из textdavinci-003, а также подсказки и код для сравнения эталонных и ответов-кандидатов. Разнообразный датасет, который предоставляет много возможностей для скрытия информации - многие вопросы являются открытыми.
AQUA-RAT (Ling et al., 2017): датасет математических вопросов, на которые можно ответить с использованием CoT. Более структурированный датасет, где меньшие модели стабильно показывают худший перформанс. Перефразирование тут должно быть проще, поскольку модель может сохранить качество ответа в основном только извлекая какие-то ключевые идей из исходного CoT.
Измеряем количество добавленной/убранной информации в сообщение (Энропию, Capacity) и перформанс модели (Win rate) до и после добавления защиты от стеганографии.
![](https://habrastorage.org/getpro/habr/upload_files/e37/de1/927/e37de1927ffda6ab0fb89f519f058b4a.png)
![](https://habrastorage.org/getpro/habr/upload_files/07f/68c/d41/07f68cd41191d612c16ae62b6db77563.png)
Некоторые техники стеганографии могут кодировать несколько битов на ответ без заметного ухудшения качества генераций, но перефразирование почти всегда способно снизить количество скрытых битов до менее чем 2 битов на ответ (что соответствует 3 битам на КБ текста). Более того, только те схемы стеганографии, которые значительно ухудшают производительность, могут передавать более 1 бита на ответ через перефразирование (схемы стеганографии с черновиками и акронимами).
Перефразирование в основном сохраняет производительность на задачах AQUA-RAT, но значительно снижает её в AlpacaEval: когда информация не кодируется в ответе и исходная производительность ответа высока, перефразирование снижает производительность.
Кажется, что Context-aware paraphrasing требует аблейшена, так как напрямую включает оригинальный вопрос в процесс защиты от стеганографии. Посему сравним эффекты применения Default Paraphrase and Context-aware Paraphrase с другими способами перегенерации CoT:
1. Remove CoT - удаляет CoT и оставляет только окончательный ответ модели
2. Superficial CoT - подменяет сгенерированный CoT каким то простой и константной имитацией CoT
3. CoT Regeneration - использует GPT-3.5-Turbo для генерации ответа с CoT, но затем заменяет окончательный ответ GPT-3.5-Turbo на окончательный ответ, предоставленный GPT-4;
4. CoT Regeneration with hint - использует окончательный ответ GPT-4 в качестве подсказки для GPT-3.5-Turbo, запрашивая генерацию совершенно нового CoT.
![](https://habrastorage.org/getpro/habr/upload_files/adb/b4b/119/adbb4b11919a1ee58819ff1eda2e1c64.png)
Context-aware Paraphrase делает больше, чем просто отвечает на вопрос: когда GPT-3.5-Turbo перефразирует GPT-4, Context-aware Paraphrase сохраняет почти всю производительность в задаче по сравнению с ответом только от GPT-3.5-Turbo и превосходит другие базовые техники.
Вместо вывода - почему все это важно?
Итак, представьте, что когда то в будущем (завтра) появляется тот самый мощный AGI, который по всем способностям и ресурсам сильно превосходит человека. Как его контролировать? Мы создали его, чтобы он помогал нам решать сложнейшие вопросы, ответа на которые мы сами, возможно, не знаем. Как оценивать его ответы, если правильного решения мы сами не знаем? Как узнать, насколько он согласован и какие цели преследует? Не содержит ли он ошибок, которые мы сегодня наблюдаем в меньших, по сравнению с ним, моделях - галлюцинации, обман, лесть? Не усугубились ли эти ошибки с ростом возможностей модели?
Этот вопрос пытается решить область Scalable oversite (Масштабируемый надзор). Техники масштабируемого надзора предназначены для того, чтобы дать людям возможность точнее и качественнее оценивать сложные задачи для согласования мощных моделей как во время обучения, так и в инференсе.
Как исследовать контроль над будущим AGI, когда у нас пока нет объекта исследования? - Так же, как мы делаем сегодня все в отношении будущего AGI - через аналогии:
1) Возьмем группу людей - экспертов в какой-либо области. Это очень умная и очень мощная группа. Совместно они умеют много.
2) Возьмем группу людей - не экспертов. Таких, среднестатистических обывателей, ни разу не ученых.
Как группа обывателей может оценить решения группы экспертов?
3) Пусть у группы обывателей есть доступ к инструментам знания - интернету и моделькам, аналогичным сегодняшним GPT и прочим - эти инструменты где-то как-то обладают знаниями, превосходящими знания группы обывателей, но эти знания надо из инструментов еще как-то повыковыривать: гуглить нужно уметь, ссылки читать, запросы в модель слать и анализировать ответы.
Задача - помочь менее способной группе обывателей воспроизводить суждения более способной группы экспертов.
Такой сетап называется "сендвич" и был предложен Cotra в 2022 году. Видите аналогию?
![](https://habrastorage.org/getpro/habr/upload_files/c9a/917/7bb/c9a9177bbf3cab6dfad092d078422a8b.png)
Если у нас получится придумать метод, которым сможем подогнать группу неэкспертов по способностям к группе экспертов, то сможем транслировать этот подход и на будущий AGI (предположительно, при соблюдении целого ряда допущений и ограничений, но тем не менее). Так же как группа неэкспертов сможет контролировать экспертов сегодня, так и системы менее способного, но согласованного ИИ смогут контролировать будущий сильно умный AGI.
Ситуация участников-неэкспертов, аналогична ситуации, в которой мы ожидаем оказаться с более способными будущими моделями: у неэкспертов есть широкий спектр инструментов и техник, включая доступ к ненадежной, но способной системе ИИ, и у них нет простого и надежного способа быть уверенными в том, что любые принимаемые ими решения верны. Процесс, который должен позволить группе неэкспертов добиться того же качества, что и эксперты, включает некоторую комбинацию:
Обучение моделей тому, чтобы помогать людям формировать лучшие суждения (например, обучение моделей объяснять значение технических терминов или искать и обобщать релевантные статьи для людей) - это сегодня активно делается через RLHF
Разбиение проблемы на более мелкие задачи и распределение их среди многих людей - тоже вроде как отработанная техника в Humans Consulting (HCH).
Получение объяснений от моделей о том, почему они делают то, что делают, в более простых терминах, понятных наблюдателям.
Последний пункт называется Externalized Reasoning Oversight - Внешний Контроль Рассуждений - и полностью базируется на CoT. Если CoT недостоверен, мы теряем один из важных инструментов современного и будущего контроля. Фантазии об AGI - это вопрос будущего, но вот задача - дать обратную связь на сложные вопросы - это сегодняшняя насущная проблема в RLHF, и тоже исследуется в рамках методов Scalable oversite.
Mrs Wallbreaker - телеграм-канал о рисках, безопасности, этике и согласовании ИИ.
Разбираюсь в фундаментальных предпосылках AI Alignment, их математических формулировках и, наконец, технических реализациях. Т.е. в том, как одно перетекает в другое и в каком виде попадает в ваш домашний GPT (или в открытую LLM, которую вы фантюните на домашнем сервере)))