Еще один способ борьбы с галлюцинациями у языковых моделей
Этот пост я сначала опубликовала у себя на LinkedIn, а потом подумала здесь тоже опубликовать, потому что тема интересная, и хочется, чтобы больше людей про нее узнали. Речь пойдет о рассуждениях больших языковых моделей и борьбе с галлюцинациями.
Мы уже знаем, что, если попросить модель «думать» шаг за шагом, результаты ее работы будут точнее. А вдруг первый шаг в цепочке ошибочный? Тогда результат, как ни крути, получится бесполезный. Метод решения проблемы предложили авторы статьи «Toward Adaptive Reasoning in Large Language Models with Thought Rollback» («К адаптивным рассуждениям в больших языковых моделях с возвратом на предыдущий этап»).
Идея
Помимо знакомого нам chain-of-thought prompting (указание рассуждать последовательно) есть более сложные варианты, которые, например, предлагают модели рассматривать несколько возможных сценариев: «Если A, то B. Если C, то D». Тем не менее, все эти варианты однонаправленные и не предполагают возврата на несколько шагов назад, чтобы оценить, верной ли была предыдущая мысль.
Люди не мыслят однонаправленно: мы можем собрать дополнительную. информацию, понять, что где-то ошиблись и скорректировать решение. Не то чтобы все этим пользуются, но возможность такая есть.
На схеме выше представлены три варианта структуры рассуждений: линейная, древовидная и с возвратом, которую придумали авторы. Они предложили GPT-4 решить задачу по теории вероятностей и три способа подойти к решению. Саму задачу я не буду здесь описывать. Вы можете ознакомиться с ней самостоятельно, прочитав статью. Здесь же зафиксируем общую концепцию:
- в линейном (chain-of thought) и древовидном подходе ошибки, сделанные на ранних этапах, не могут быть исправлены;
- в подходе с возвратом на предыдущий этап есть возможность исследовать несколько вариантов решения задачи и найти верный или наилучший.
Реализация
Чтобы эта система заработала, авторы ввели два важных компонента:
- переключатель (rollback controller);
- улучшатель промпта (prompt enhancer).
Модель начинает решать задачу, генерируя последовательность шагов, как в линейной структуре. На определенном этапе активируется переключатель и заставляет ее проанализировать полученную цепочку рассуждений, выявить ошибки и вернуться на тот этап, где всё ещё было правильно. И далее начать новую цепочку рассуждений оттуда.
Улучшатель собирает анализ совершенных ошибок и корректирует промпт на его основе, чтобы далее процесс рассуждений шел уже с учетом этих ошибок.
В приложении B «Reproducibility of Thought Rollback Framework» («Воспроизводимость фреймворка для возврата на предыдущий этап») авторы приводят все свои промпты, ссылки на наборы данных и код – все, что нужно, чтобы самостоятельно провести тот же эксперимент и оценить результаты.
Результаты
Предложенный подход сравнили с другими существующими, используя модели GPT-4 и GPT-3.5-turbo. В таблице ниже приведены следующие данные:
- в первом столбце (Methods) – подходы. SOTA – это «state-of-the-art» методы, то есть, золотой стандарт на текущий момент. В качестве таковых рассматривались Faithful-CoT и CSV. В таблице указан наилучший результат из двух. Подход с возвратом на предыдущий этап, в чистом виде и в комбинации с другими подходами, в нижней части таблицы (начиная с TR);
- ZeroShot – это постановка задачи без примеров правильного решения. Там, где проставлены галочки, задача решалась без примеров, где крестики – с примерами;
- далее по столбцам показаны результаты GPT-4 и GPT-3.5-turbo на четырех разных наборах данных (GSM8K, SVAMP, AQuA-RAT, MATH – это наборы);
- в ячейках указан процент правильных ответов. Полужирным шрифтом выделен наилучший результат.
В целом, выводы следующие:
- стало меньше ошибок и галлюцинаций;
- производительность почти не уменьшилась, по сравнению с другими способами проверки рассуждений;
- более слабые модели здорово замедляются, а их ответы улучшаются не так заметно, чтобы можно было пойти на это замедление;
- более сильные модели, напротив, получают от такого подхода много преимуществ;
- подход с возвратом к предыдущему этапу будет несколько дороже, поскольку на каждый запрос генерируется дополнительный текст.
Заключение
Это не прорывная разработка, но один из тех маленьких шагов, которые двигают вперед эволюцию технологий. Использовать такой подход или нет – ваше решение, которое зависит от используемых моделей, их стоимости и типа задачи.
Если вам нравится то, что публикую здесь, заглядывайте в мой телеграм, там постов больше.