Generated Knowledge Prompting (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Generated Knowledge Prompting (GKP, промптинг с генериране на знания) — това е метод на prompt engineering, разработен за подобряване на способността на големите езикови модели (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, при която на модела се предоставят няколко примера за обучение „в контекст".

Prompt-ът за генериране на знания има строго определена структура:

  1. Инструкция: Общо указание, например: „Генерирай няколко факта по темата".
  2. Демонстрационни примери: Няколко двойки „въпрос-знание", написани от човек. Тези примери играят критично важна роля, тъй като обучават модела на това какъв тип информация се счита за полезна. При това генерираното знание не трябва да съдържа самия отговор директно.
  3. Нов въпрос: Изходната заявка на потребителя, за която е необходимо да се генерират знания.

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

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

На втория етап се използва друг езиков модел („модел за извод"), който може да работи както в режим zero-shot, така и да бъде дообучен за конкретна задача.

Процесът на интегриране протича по следния начин:

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

Този двуетапен механизъм въвежда своеобразен метакогнитивен процес: „Преди да отговориш, помисли и формулирай какво знаеш по тази тема".

Ефективност и резултати от тестването

Ефективността на GKP е проверена върху редица академични benchmark-и за оценка на разсъжденията на базата на здравия разум. Методът показа значително подобрение на производителността в сравнение с базовите подходи.

Обобщение на резултатите на GKP върху основните benchmark-и (данни от Liu et al., 2022)[1]
Наименование на benchmark-а Задача Точност на базовия модел (%) Точност с 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) и разходите за използване в сравнение със стандартния промптинг.
  • Сложност на разработването на prompt-ове: Ефективността на GKP силно зависи от качеството на few-shot примерите, чието създаване е нетривиална и трудоемка задача.

Еволюция и хибридни подходи

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

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

Препратки

  • Generated Knowledge Prompting в Prompt Engineering Guide

Литература

  • 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]