Generated Knowledge Prompting

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

Generated Knowledge Prompting (GKP, промптинг с генерацией знаний) — это метод промпт-инжиниринга, разработанный для улучшения способности больших языковых моделей (LLM) к решению задач, требующих рассуждений и опоры на фактические знания[1]. Основная идея GKP заключается в том, чтобы заставить модель выполнить задачу в два этапа: сначала сгенерировать набор релевантных фактов по теме запроса, а затем, опираясь на эти знания, сформулировать окончательный ответ[2].

Этот подход позволяет LLM активировать и использовать свои внутренние, параметризованные знания, которые имплицитно закодированы в миллиардах параметров, но часто недоступны при стандартных запросах. GKP решает проблему, когда модели «не знают, что они знают», и помогает им связать разрозненные факты для построения верного умозаключения[2].

История и происхождение

Метод Generated Knowledge Prompting был впервые представлен в научной статье «Generated Knowledge Prompting for Commonsense Reasoning», подготовленной группой исследователей под руководством Цзячэн Лю (Jiacheng Liu). Первоначальная версия работы была опубликована в архиве препринтов arXiv 15 октября 2021 года, а окончательная версия представлена на престижной конференции Association for Computational Linguistics (ACL) в 2022 году[1].

GKP стал одним из первых и наиболее значимых методов, предложивших изменить парадигму взаимодействия с LLM, сместив фокус с одномоментной генерации ответа на двухэтапный когнитивный процесс.

Двухэтапный механизм работы

Механизм GKP разделяет сложную задачу на два более простых подпроцесса: извлечение релевантной информации и ее последующее использование для вывода.

Этап 1: Генерация знаний (Knowledge Generation)

На первом этапе используется языковая модель («генератор знаний») для создания нескольких (M) фрагментов знаний, релевантных исходному вопросу. Этот процесс инициируется с помощью техники few-shot prompting, где модели предоставляется несколько примеров для обучения «в контексте».

Промпт для генерации знаний имеет строго определенную структуру:

  1. Инструкция: Общее указание, например: «Сгенерируй несколько фактов по теме».
  2. Демонстрационные примеры: Несколько пар «вопрос-знание», написанных человеком. Эти примеры играют критически важную роль, так как они обучают модель тому, какой тип информации считается полезным. При этом сгенерированное знание не должно содержать сам ответ напрямую.
  3. Новый вопрос: Исходный запрос пользователя, для которого необходимо сгенерировать знания.

Для одного вопроса генерируется M вариантов знаний (в оригинальной работе M=20), чтобы получить разнообразный набор фактов для второго этапа[1].

Этап 2: Интеграция знаний и формирование ответа (Knowledge Integration)

На втором этапе используется другая языковая модель («модель для вывода»), которая может работать как в режиме zero-shot, так и быть дообученной на конкретную задачу.

Процесс интеграции происходит следующим образом:

  1. Аугментация запроса: Исходный вопрос (q) последовательно объединяется с каждым из M сгенерированных фрагментов знаний (km). В результате создается M+1 аугментированных запросов (включая исходный вопрос без знаний).
  2. Оценка и выбор ответа: Модель для вывода оценивает условную вероятность каждого возможного варианта ответа (a) для каждого аугментированного запроса. Финальным ответом становится тот вариант, который получил наибольшую оценку вероятности хотя бы по одному из запросов.

Этот двухэтапный механизм вводит своего рода метакогнитивный процесс: «Прежде чем ответить, подумай и сформулируй, что ты знаешь по этой теме».

Эффективность и результаты тестирования

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

Сводка результатов GKP на основных бенчмарках (данные из Liu et al., 2022)[1]
Название бенчмарка Задача Точность базовой модели (%) Точность с GKP (%) Прирост (%)
NumerSense Числовой здравый смысл 64.05 72.47 +8.42
CommonsenseQA Общий здравый смысл 39.89 47.26 +7.37
CommonsenseQA 2.0 Общий здравый смысл 70.20 73.03 +2.83
QASC Научный здравый смысл 76.74 80.33 +3.59

Наибольший прирост наблюдается в режиме zero-shot, что доказывает способность GKP эффективно активировать внутренние знания модели без дополнительного дообучения.

Сравнительный анализ с другими техниками

GKP vs. Chain-of-Thought (CoT)

Ключевое различие между GKP и Chain-of-Thought (CoT) заключается в типе генерируемой информации:

  • GKP генерирует декларативные знания — факты, определения, утверждения о мире («что»). Он предоставляет модели дополнительный контекст.
  • CoT генерирует процедурные знания — логические шаги, вычисления, последовательность умозаключений («как»). Он предоставляет модели путь рассуждения.

Таким образом, GKP предоставляет фактологическую базу, а CoT — логическую структуру вывода[3].

GKP vs. Retrieval-Augmented Generation (RAG)

В отличие от GKP, метод Retrieval-Augmented Generation (RAG) использует внешние, непараметрические источники знаний.

  • GKP использует внутренние знания, которые модель усвоила во время обучения. Он заставляет модель «вспомнить» то, что она уже знает.
  • RAG использует внешние знания из баз данных, документов или интернета. Он заставляет модель «искать» информацию во внешнем мире.

Выбор между GKP и RAG зависит от задачи: GKP эффективен, если требуемые знания являются общеизвестными и хорошо представлены в обучающих данных, тогда как RAG незаменим для узкоспециализированных, свежих или проприетарных данных.

Ограничения и риски

  • Проблема «галлюцинаций»: Главный риск GKP — возможность генерации неверных фактов. Если на первом этапе модель генерирует ложное утверждение, на втором этапе оно будет воспринято как истинное, что приведет к уверенному, но абсолютно неверному ответу.
  • Вычислительные издержки: Метод требует многократных обращений к LLM (M+1 вызовов для одного запроса), что значительно увеличивает время ответа (latency) и стоимость использования по сравнению со стандартным промптингом.
  • Сложность разработки промптов: Эффективность GKP сильно зависит от качества few-shot примеров, создание которых является нетривиальной и трудоемкой задачей.

Эволюция и гибридные подходы

Идеи, заложенные в GKP, послужили катализатором для разработки более сложных и надежных техник промптинга, таких как:

  • Hint-before-Solving (HSP): Прямой идейный наследник GKP, который применяет двухэтапный принцип («сначала знание, потом действие») не к простому ответу, а к более сложному процессу рассуждения в CoT[4].
  • Verify-and-Edit (VE): Гибридный фреймворк, который является ответом на проблему «галлюцинаций» в GKP и CoT. VE сначала генерирует цепочку рассуждений (как CoT), затем автоматически проверяет ключевые факты с помощью внешнего поиска (как RAG) и редактирует рассуждения перед генерацией финального ответа[5].

Ссылки

Литература

  • Liu, J. et al. (2021). Generated Knowledge Prompting for Commonsense Reasoning. arXiv:2110.08387
  • Liu, J. et al. (2022). Generated Knowledge Prompting for Commonsense Reasoning. In *Proc. ACL 2022*. ACL:2022
  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903
  • Wang, X. et al. (2022). Self-Consistency Improves Chain-of-Thought Reasoning in Language Models. arXiv:2203.11171
  • Fu, J. et al. (2024). Hint-before-Solving Prompting: Guiding LLMs to Effectively Utilize Encoded Knowledge. arXiv:2402.14310
  • Zhao, R. et al. (2023). Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework. arXiv:2305.03268
  • Lin, B. et al. (2020). NumerSense: Probing Numerical Commonsense Knowledge of Pre-trained Language Models. Dataset page
  • Talmor, A. et al. (2019). CommonsenseQA: A Question-Answering Challenge Targeting Commonsense Knowledge. ACL paper
  • Khot, T. et al. (2019). QASC: A Dataset for Question Answering via Sentence Composition. arXiv:1910.11473
  • Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. arXiv:2304.08467

Примечания

  1. 1,0 1,1 1,2 1,3 Liu, J., Liu, A., Lu, X., et al. (2022). «Generated Knowledge Prompting for Commonsense Reasoning». Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics. [1]
  2. 2,0 2,1 Liu, J., Liu, A., Lu, X., et al. (2021). «Generated Knowledge Prompting for Commonsense Reasoning». arXiv preprint arXiv:2110.08387. [2]
  3. Wei, J., Wang, X., Schuurmans, D., et al. (2022). «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». arXiv preprint arXiv:2201.11903. [3]
  4. Katz, O., Maman, Y., et al. (2024). «Hint-before-Solving Prompting: Guiding LLMs to Effectively Utilize Scaffolding». arXiv preprint arXiv:2402.14310. [4]
  5. Zhao, R., Zhang, J., et al. (2023). «Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework». arXiv preprint arXiv:2305.03268. [5]