Когда у GPT-модели нет ответа на конкретный вопрос, то чаще всего она выдаёт: «Я не знаю ответа» или «У меня нет информации». Но в отдельных случаях она может начать галлюцинировать — предложить вполне убедительные, но ошибочные ответы.
Существует множество видов галлюцинаций: представление неверных фактов, логические ошибки при выполнении инструкций, смешение правдивой и ложной информации в одном ответе и так далее. Постепенно модели улучшаются, и галлюцинации происходят всё реже. Однако необходимо всегда относиться к ответам нейросети критически.
Проблема галлюцинаций и ошибок особенно критична в поисковых задачах, но может оказаться неприятной и при конструкционных задачах. Чтобы избежать подобных ситуаций, и создаются стратегии общения, о которых мы говорили выше. Однако их недостаточно.
Именно поэтому в схеме взаимодействия с GPT есть особый шаг — проверка на факты и достоверность результата.
Существует несколько способов фактчекинга:
- поисковая проверка,
- кросс-проверка,
- цепочка верификации,
- проверка вглубь.
Все способы можно и следует комбинировать, тогда выявить галлюцинации или ошибки становится проще. Поговорим о них подробнее.
Поисковая проверка
Поисковая проверка — это наиболее очевидный из ходов. Мы берём отдельные результаты или решения, полученные в совместной работе с GPT, и проводим самостоятельный поиск корректного ответа. Найденный нами ответ сопоставляем с результатом решения от языковой модели.
Чтобы проверить результат, мы можем искать:
- конкретные факты, даты, данные;
- источники, на которые ссылается GPT;
- контекст, из которого была взята информация;
- дату и «срок годности» контента.
Детали об источниках, контексте и датах можно запросить у самой GPT, а потом проверить самостоятельным поиском. Только помните, что нам важен сам первоисточник и его репутация. При этом основное ограничение прямой поисковой проверки заключается в том, что большие языковые модели не всегда могут дать точную информацию о том, как был собран ответ.
Дополнительный способ проверки — обращение за помощью к эксперту или, если мы обладаем соответствующей компетенцией, самостоятельная оценка достоверности и качества ответа. Стоит отметить, что такой способ проверки может оказаться сложнее и дольше прямого поиска фактов.
Пример. Поисковая проверка
Промт:
Сформируй список всех императоров, правивших в России в XIX–XX веках, и укажи даты их правления.
Ответ:
1. Павел I (12.03.1796 — 12.03.1801)
2. Александр I (12.03.1801 — 19.11.1825)
3. Николай I (19.11.1825 — 18.02.1855)
4. Александр II (18.02.1855 — 01.03.1881)
5. Александр III (01.03.1881 — 02.11.1894)
6. Николай II (20.10.1894 — 02.03.1917)
Проверка:
Обращаемся к поиску Яндекса и проверяем:
Даты правления Александра I
Кросс-проверка
Подобные приёмы направлены не на прямой поиск проверочной информации, что в определённых случаях оказывается затруднительным. При кросс-проверках мы пытаемся получить несколько версий ответов на нашу задачу и далее сопоставить их между собой. Такое сопоставление даёт возможность увидеть, насколько содержательно они сходны или совершенно не похожи.
Как правило, сильное расхождение именно содержания при разной форме ответа — это знак для того, чтобы усомниться в достоверности и качестве полученного ответа.
Кросс-проверку можно сделать несколькими способами.
Первый — это задать одну и ту же задачу или вопрос одной и той же языковой модели, при этом можно менять язык и форму запроса, а также полезно обнулять контекст диалога. Обнуление контекста — это специальная функция, которая есть во всех чат-ботах, представляющих разные языковые модели.
Второй — поставить сходную или одну и ту же задачу или вопрос разным GPT. В силу различий моделей и не полностью совпадающих баз обучения это может дать возможность увидеть фактологические расхождения.
Пример. Кросс-проверка
Промт:
Кто был последним правителем Российской империи?
Ответ:
Последним императором Российской империи был Николай II. Он занимал престол с 1894 по 1917 год. В марте 1917 года он отрёкся от престола в ходе Февральской революции.
Проверка (проверочный промт после обнуления контекста):
Кто из царской семьи был последним на престоле Российской империи?
И ещё совет — если сомневаетесь в качестве ответа GPT, попробуйте задать вопрос на другом языке, например на английском.
Цепочка верификации
Хитроумный подход в фактчекинге — вовлечь в эту работу саму языковую модель. Для этого можно использовать паттерн, который называется «Цепочка верификаций» (Chain of verification).
Подобный подход основан на том, чтобы взять полученный ответ, разделить его на небольшие вопросы и дать задачи на проверку каждого из них на достоверность и ошибки. В таком подходе мы легко узнаём паттерн промтинга «Ход размышлений», но применяем его не к решению задачи, а к проверке на достоверность.
Для «цепочки верификации» можно выделить несколько шагов:
- разделение результата на небольшие вопросы;
- промтинг каждого вопроса (с обнулением контекста);
- интеграция и сопоставление с изначальным ответом.
При реализации «цепочки верификации» мы можем делать кросс-проверку вопросов, на которые разделили изначальный ответ. Финальную интеграцию также можно сделать силами GPT.
Для этого необходимо собрать полученные ответы на промежуточные вопросы как предварительное «знание» в промте и попросить на его основании проверить исходный ответ.
Пример. Цепочка верификации (фактчекинг)
Промт 1:
Назови всех царей Российской империи, правивших в XIX веке и рождённых в Москве.
Ответ:
В XIX веке правили два монарха Российской империи, рождённых в Москве:
1. Александр I (родился 23 декабря 1777 года);
2. Николай I (родился 6 июля 1796 года).
Проверка:
Шаг 1 Разделение на небольшие вопросы:
Вопрос 1: В каком городе родился Александр I?
Вопрос 2: В каком городе родился Николай I?
Шаг 2 Промтинг каждого вопроса:
Проверочный промт 1:
В каком городе родился Александр I?
Ответ: Александр I родился в городе Санкт-Петербурге, Российская империя.
Проверочный промт 2:
В каком городе родился Николай I?
Ответ: Николай I родился в городе Павловске, Российская империя.
Шаг 3 Интеграция и сопоставление
Проверочный промт:
Исходные данные:
- Александр I родился в городе Петербурге, Российская империя;
- Николай I родился в городе Павловске, Российская империя.
Верно ли утверждение: «В XIX веке правили два монарха Российской империи, рождённых в Москве:
- Александр I (родился 23 декабря 1777 года);
- Николай I (родился 6 июля 1796 года).
Проверка вглубь
В цепочке событий мы пробовали разделить ответ GPT на небольшие вопросы и провести по ним дополнительную проверку. В подходе «Проверка вглубь» мы тоже дробим ответ на порции. Однако дальше не сразу проверяем их, но пробуем получить по ним дополнительные детали или информацию.
Подобный подход заставляет языковую модель не просто найти ответы, но как бы проблематизировать собственный ответ, посмотрев на него глубже и шире.
При использовании подхода «Проверка вглубь» можно использовать полезные приёмы:
- спрашивать о новых аспектах интересующего вопроса;
- менять позицию отвечающего;
- использовать вопросы на сомнение (например, «точно ли…»);
- запрашивать альтернативное мнение (например, «существуют ли другие точки зрения на вопрос…»).
При «проверке вглубь» можно комбинировать несколько таких полезных приёмов. Это повышает шансы выявить недостоверность или неточность
Пример. Проверка вглубь (фактчекинг)
Промт 1
Кто был последним царём Российской империи?
Ответ:
Последним императором Российской империи был Николай II. Он занимал престол с 1894 по 1917 год. В марте 1917 года он отрёкся от престола в ходе Февральской революции.
Проверка:
Вопрос-сомнение:
Действительно ли Николай II был последним императором?
Вопрос о новых аспектах:
Что произошло с наследниками Николая II?
Вот мы и собрали приёмы и инструменты для более эффективной работы с большими языковыми моделями. Давайте коротко вспомним, что вы узнали.
- Познакомились с паттернами для общения с моделями. Они позволяют получить более точные ответы — или узнать, как именно модель пришла к тому ответу, который вы увидели на экране.
- Выяснили, как проверять достоверность ответов модели в зависимости от разных задач (поиск информации, обобщение, создание).
Вопросы для самопроверки
Поздравляем, вы проделали большую работу! Мы надеемся, что эти знания помогут вам и сделают вашу рутину проще и легче. На этом основная часть гайда заканчивается.
Впрочем, у нас осталась ещё одна бонусная глава — о том, как применять GPT в образовании. Если вам интересна эта тема — увидимся дальше.