Generated Knowledge Prompting (KO)

From Systems analysis Wiki
Jump to navigation Jump to search

Generated Knowledge Prompting (GKP, 생성된 지식 프롬프팅) — 대형 언어 모델(LLM)의 추론 능력과 사실적 지식에 기반한 과제 해결 능력을 향상시키기 위해 개발된 prompt engineering 기법이다[1]. GKP의 핵심 아이디어는 모델이 과제를 두 단계에 걸쳐 수행하도록 하는 것이다: 먼저 질문 주제와 관련된 사실들을 생성하고, 그런 다음 이 지식을 토대로 최종 답변을 도출한다[2].

이 접근법은 LLM이 수십억 개의 매개변수 속에 암묵적으로 인코딩되어 있지만 일반적인 질의에서는 종종 활성화되지 않는 매개변수화된 내부 지식을 활성화하고 활용할 수 있도록 한다. GKP는 모델이 "자신이 알고 있다는 사실을 모르는" 문제를 해결하고, 분산된 사실들을 연결하여 올바른 추론을 구성하는 데 도움을 준다[2].

역사와 기원

Generated Knowledge Prompting 기법은 Jiacheng Liu를 중심으로 한 연구자 그룹이 작성한 「Generated Knowledge Prompting for Commonsense Reasoning」이라는 논문에서 처음 소개되었다. 초기 버전은 2021년 10월 15일 프리프린트 아카이브 arXiv에 게재되었으며, 최종 버전은 2022년 권위 있는 Association for Computational Linguistics (ACL) 학술대회에서 발표되었다[1].

GKP는 LLM과의 상호작용 패러다임을 변화시키려는 최초의 가장 중요한 기법 중 하나로, 단일 시점에서의 답변 생성에서 두 단계의 인지 과정으로 초점을 전환하는 것을 제안하였다.

2단계 작동 메커니즘

GKP의 메커니즘은 복잡한 과제를 두 가지 더 단순한 하위 프로세스로 분리한다: 관련 정보 추출과 이를 활용한 추론.

1단계: 지식 생성 (Knowledge Generation)

첫 번째 단계에서는 언어 모델("지식 생성기")을 사용하여 원래 질문과 관련된 여러 개(M개)의 지식 단편을 생성한다. 이 과정은 few-shot prompting 기법을 통해 시작되며, 모델에게 "컨텍스트 내" 학습을 위한 여러 예시가 제공된다.

지식 생성을 위한 프롬프트는 엄격하게 정의된 구조를 가진다:

  1. 지시사항: 예를 들어 "주제에 관한 여러 사실을 생성하라"와 같은 일반적인 지침.
  2. 시연 예시: 사람이 작성한 여러 쌍의 "질문-지식" 쌍. 이 예시들은 모델에게 어떤 유형의 정보가 유용한지를 가르치는 데 있어 매우 중요한 역할을 한다. 단, 생성된 지식은 답변 자체를 직접 포함해서는 안 된다.
  3. 새로운 질문: 지식을 생성해야 하는 사용자의 원래 질의.

하나의 질문에 대해 M가지 지식 변형이 생성되며(원 논문에서 M=20), 이는 두 번째 단계를 위한 다양한 사실 집합을 확보하기 위함이다[1].

2단계: 지식 통합 및 답변 생성 (Knowledge Integration)

두 번째 단계에서는 다른 언어 모델("추론 모델")이 사용되며, 이 모델은 zero-shot 방식으로 작동하거나 특정 과제에 맞게 fine-tuning될 수 있다.

통합 과정은 다음과 같이 진행된다:

  1. 질의 증강: 원래 질문(q)이 M개의 생성된 지식 단편(km) 각각과 순차적으로 결합된다. 이를 통해 M+1개의 증강된 질의(지식 없는 원래 질문 포함)가 생성된다.
  2. 답변 평가 및 선택: 추론 모델은 각 증강 질의에 대해 가능한 각 답변(a)의 조건부 확률을 평가한다. 최종 답변은 적어도 하나의 질의에서 가장 높은 확률 점수를 받은 선택지가 된다.

이 두 단계의 메커니즘은 일종의 메타인지 과정을 도입한다: "답변하기 전에, 이 주제에 대해 자신이 알고 있는 것을 생각하고 정리하라".

효과성 및 테스트 결과

GKP의 효과성은 상식 추론 평가를 위한 여러 학술 benchmark에서 검증되었다. 이 기법은 기본 접근법 대비 성능이 크게 향상되었음을 보여주었다.

주요 benchmark에서의 GKP 결과 요약 (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가 추가적인 fine-tuning 없이도 모델의 내부 지식을 효과적으로 활성화할 수 있음을 입증한다.

다른 기법과의 비교 분석

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에 내재된 아이디어는 더 복잡하고 견고한 prompting 기법들을 개발하는 촉매제 역할을 하였으며, 그 예는 다음과 같다:

  • Hint-before-Solving (HSP): GKP의 직접적인 이념적 후계자로, 2단계 원칙("먼저 지식, 그 다음 행동")을 단순한 답변이 아닌 CoT의 더 복잡한 추론 과정에 적용한다[4].
  • Verify-and-Edit (VE): 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]