Taxonomy Diagram of Prompt Engineering Methods Across Different NLP Tasks
NLP Task | Techniques | References |
---|---|---|
Table-Based Truthfulness | Basic, CoT, Binder, Dater, Chain-of-Table | Wang et al. (2024), Cheng et al. (2022), Ye et al. (2023) |
Truthfulness | S2A, CoT, Instructed Prompting, Basic, Act, ReAct, Self-Consistency, VE, CoK, Least-to-Most | Weston & Sukhbaatar (2023), Shi et al. (2023) |
Free Response | Basic, CoT, Self-Consistency, ToT, CoVe | Yao et al. (2024), Dhuliawala et al. (2023) |
Code Generation | Analogical Reasoning, CoT, Basic, SCoT | Yasunaga et al. (2023), Li et al. (2023b) |
Dialogue System | Basic, CoT, ThoT | Zhou et al. (2023) |
Conversational Contextual Question-Answering | PoT, CoT, Self-Consistency, PAL | Chen et al. (2022a) |
Spatial Question-Answering | CoT, CoS, Basic, CoC | Hu et al. (2023), Li et al. (2023a) |
Context-Free Question-Answering | Basic, CoT, ThoT, CoVe, Self-Consistency, VE, CoK, ER | Wang et al. (2022), Zhou et al. (2023), Dhuliawala et al. (2023), Li et al. (2023a), Nouri et al. (2023), Singh et al. (2023), Liévin et al. (2024) |
Contextual Question-Answering | Basic, Implicit RAG, CoT, Analogical Reasoning, CoVe, PoT, Self-Consistency, Basic with Term Definitions, Least-to-Most, PS, MP | Vatsal & Singh (2024), Dhuliawala et al. (2023), Chen et al. (2022a), Vatsal et al. (2024), Zhou et al. (2022), Wang & Zhao (2023) |
Social Reasoning | CoT, LoT | Zhao et al. (2023b) |
Causal Reasoning | CoT, LoT, Basic, CoC | Zhao et al. (2023b), Li et al. (2023a) |
Multi-Hop Reasoning | Basic, CoT, Auto-CoT, Self-Consistency, Contrastive CoT, Contrastive Self-Consistency, Random-CoT, Active-Prompt, Complex CoT, Act, ReAct, VE, CoK, Least-to-Most, DecomP, PS | Wei et al. (2022), Zhang et al. (2022), Wang et al. (2022), Yao et al. (2022b), Li et al. (2023c), Chia et al. (2023), Diao et al. (2023), Fu et al. (2022), Khot et al. (2022), Wang et al. (2023), Zhao et al. (2023a) |
Commonsense Reasoning | CoT, DecomP, Basic, Self-Consistency, GKP, Maieutic Prompting, CoC, LoT, Auto-CoT, PS, Random CoT, Active-Prompt, Least-to-Most, PAL, Complex CoT, PoT, Analogical Reasoning, Synthetic Prompting | Yasunaga et al. (2023), Wei et al. (2022), Zhang et al. (2022), Wang et al. (2022), Zhao et al. (2023b), Li et al. (2023a), Gao et al. (2023), Diao et al. (2023), Shao et al. (2023), Jung et al. (2022), Zhou et al. (2022), Fu et al. (2022), Khot et al. (2022), Wang et al. (2023) |
Logical Reasoning | Basic, CoT, PAL, Synthetic Prompting, CoC, LoT, ToT, Analogical Reasoning | Yasunaga et al. (2023), Yao et al. (2024), Zhao et al. (2023b), Li et al. (2023a), Gao et al. (2023), Shao et al. (2023) |
Table-Based Question-Answering | Basic, CoT, Binder, Dater, Chain-of-Table, Self-Consistency, VE, CoK | Wang et al. (2024), Li et al. (2023c), Cheng et al. (2022), Ye et al. (2023) |
Table-Based Mathematical Problem Solving | PoT, CoT, Self-Consistency, PAL, Basic, CoC, Random CoT, Complex CoT | Chen et al. (2022a), Li et al. (2023a), Gao et al. (2023), Fu et al. (2022) |
Recommender System | Basic, CoT, CoC | Li et al. (2023a) |
Emotion/Sentiment Understanding | Basic, CoT, CoC, THOR, Basic + Variations | Li et al. (2023a), Fei et al. (2023), Fatouros et al. (2023) |
Machine Translation | Basic, CoT, CoC, Basic + Variations | Li et al. (2023a), Zhang et al. (2023a) |
Named Entity Recognition | Basic, Basic + Annotation Guideline-Based Prompting, Basic + Annotation Guideline-Based Prompting + Error Analysis-Based Prompting, CoT, PS, Self-Consistency, MP | Hu et al. (2024), Tang et al. (2024), Wang & Zhao (2023) |
Word Sense Disambiguation | CoT, PS, Self-Consistency, MP | Wang & Zhao (2023) |
Summarization | CoE, Basic | Bao et al. (2024) |
Paraphrasing | CoT, PS, Self-Consistency, MP | Wang & Zhao (2023) |
Stance Detection | Basic, CoT | Zhang et al. (2023b) |
Natural Language Inference | CoT, PS, Self-Consistency, MP | Wang & Zhao (2023) |
Relation Extraction | CoT, PS, Self-Consistency, MP | Wang & Zhao (2023) |
Language-Based Task Completion | Basic, CoT, Act, ReAct, Least-to-Most | Wei et al. (2022), Yao et al. (2022b), Zhou et al. (2022) |
Multilabel Text Classification | CoT, PS, Self-Consistency, MP | Wang & Zhao (2023) |
1. 서론
공지능 분야는 LLM(Large Language Models)의 도입으로 크게 발전했습니다. 이런 모델들은 방대한 양의 텍스트 문서로 훈련되며, 모델 파라미터의 수가 증가함에 따라 성능이 향상됩니다. 최근 연구는 단순히 다음 토큰 예측에서 벗어나, 프롬프트 엔지니어링이라는 새로운 연구 분야로 진입했습니다. 프롬프트 엔지니어링은 모델의 파라미터 재학습 없이 LLM의 내장된 지식만을 사용하여 지식을 추출하는 과정입니다.
2. 프롬프트 엔지니어링 기술
번호 | 전략명 | 설명 | 성능 향상 예시 |
---|---|---|---|
2.1 | Basic/Standard/Vanilla Prompting | 기본적인 질의를 LLM에 직접 던지는 방식 | - |
2.2 | Chain-of-Thought (CoT) | 복잡한 문제를 작은 문제로 나누어 접근 | 수학 문제 해결에서 39%, 상식 인퍼런스에서 26% 향상 |
2.3 | Self-Consistency | 다양한 인퍼런스 경로를 통해 정답 도출 | 수학 문제 해결에서 11%, 상식 인퍼런스에서 3%, 다중 단계 인퍼런스에서 6% 향상 |
2.4 | Ensemble Refinement (ER) | CoT와 자기 일관성을 기반으로 여러 단계를 거쳐 최종 답을 도출 | 비문맥적 질문-답변 작업에서 우수한 성능 |
2.5 | Automatic Chain-of-Thought (Auto-CoT) | 수동 CoT의 고품질 훈련 데이터 큐레이션 필요성을 제거하고 자동으로 인퍼런스 체인 생성 | 여러 NLP 작업에서 우수한 성능 |
2.6 | Complex CoT | 복잡한 데이터 포인트를 사용하여 LLM의 인퍼런스 성능 향상 | NLP 작업에서 평균 5.3% 정확도 향상 |
2.7 | Program-of-Thoughts (PoT) | LLM이 인퍼런스과 계산을 분리하여 파이썬 프로그램을 생성하도록 함 | 수치적 인퍼런스에서 더 정확해짐 |
2.8 | Least-to-Most | 주어진 문제를 여러 하위 문제로 분해하고 순차적으로 해결 | 여러 NLP 작업에서 기본 및 CoT 방식을 크게 상회하는 성능 |
2.9 | Chain-of-Symbol (CoS) | 공간적 질문-답변 작업에서 기호를 사용한 새로운 표현 방식 제안 | 60.8%의 정확도 향상 |
2.10 | Structured Chain-of-Thought (SCoT) | 프로그램 구조를 사용하여 중간 인퍼런스 단계를 구조화하고 코드 생성 작업에서 CoT를 상회하는 성능 제공 | 코드 생성 작업에서 CoT를 최대 13.79% 상회하는 성능 |
2.11 | Plan-and-Solve (PS) | 전체 문제를 여러 하위 문제로 나누고 이를 계획에 따라 해결 | 수학 문제 해결에서 CoT보다 최소 5% 높은 정확도 |
2.12 | MathPrompter | CoT에서 발생할 수 있는 유효하지 않은 단계를 해결하고 LLM의 예측에 대한 신뢰도를 높이기 위해 설계된 전략 | 수학 문제 해결 작업에서 92.5%의 성능 달성 |
2.13 | Contrastive CoT/Self-Consistency | 긍정적 및 부정적 사례를 통해 인퍼런스 능력 향상 | 여러 데이터셋에서 기존 방법보다 10% 이상 높은 성능 |
2.14 | Fed-SP/DP-SC/CoT | 동의어를 사용하여 인퍼런스 능력을 향상시키는 새로운 접근 방식 | 수학 문제 해결 작업에서 기존 CoT보다 최소 10% 높은 성능 |
2.15 | Analogical Reasoning | 과거 경험을 바탕으로 새로운 문제를 해결하는 전략 | 여러 NLP 작업에서 CoT에 비해 평균 4% 높은 정확도 |
2.16 | Synthetic Prompting | LLM이 자체 생성한 인퍼런스 체인을 바탕으로 합성 예시 생성 | 여러 작업에서 상당한 성능 향상 |
2.17 | Tree-of-Thoughts (ToT) | 문제 해결을 위해 조합적 공간을 탐색하는 전략 | 수학 문제 해결 작업에서 CoT에 비해 65% 높은 성공률 |
2.18 | Logical Thoughts (LoT) | 논리적 동등성을 이용하여 단계별 인퍼런스 능력 향상 | 여러 인퍼런스 작업에서 CoT를 상회하는 성능 |
2.19 | Maieutic Prompting | 깊은 재귀적 인퍼런스를 통해 다양한 가설에 대한 설득력 있는 설명 이끌어내기 | 상식 인퍼런스 작업에서 기존 방법보다 최대 20% 높은 정확도 |
2.20 | Verify-and-Edit (VE) | CoT에서 생성된 인퍼런스 체인을 사실에 맞게 수정 | 다중 단계 인퍼런스 작업에서 최대 10%, 진실성 작업에서 최대 2% 높은 성능 |
2.21 | Reason + Act (ReAct) | 인퍼런스과 행동을 결합하여 다양한 언어 인퍼런스 및 의사 결정 작업 해결 | 다양한 작업에서 CoT에 비해 우수한 성능 |
2.22 | Active-Prompt | LLM을 다양한 작업에 적응시키기 위해 관련 데이터 포인트를 식별 | 여러 NLP 작업에서 기존 방법보다 향상된 결과 |
2.23 | Thread-of-Thought (ThoT) | 긴 혼란스러운 맥락을 처리하기 위해 설계된 전략 | 비문맥적 질문-답변 작업에서 0.56의 정확한 일치 점수 달성 |
2.24 | Implicit Retrieval Augmented Generation (Implicit RAG) | LLM이 주어진 맥락에서 중요한 부분을 직접 검색하도록 하는 기법 | 여러 생의학적 문맥적 질문-답변 작업에서 최고 또는 거의 최고의 성능 |
2.25 | System 2 Attention (S2A) | 불필요한 맥락을 제거하여 LLM의 출력에 미치는 부정적 영향을 최소화하는 두 단계 전략 | 진실성 작업에서 기존 방법을 상회하는 성능 |
2.26 | Instructed Prompting | 문제 설명에서 불필요한 정보를 무시하도록 LLM을 명시적으로 지시하는 방법 | 진실성 작업에서 88.2의 정규화된 마이크로 정확도 달성 |
2.27 | Chain-of-Verification (CoVe) | 오류를 검증하고 수정하여 더 정확한 응답을 생성하는 전략 | 비문맥적 질문-답변 및 다른 작업에서 기존 방법을 크게 상회하는 성능 |
2.28 | Chain-of-Knowledge (CoK) | 오류를 동적으로 수정하여 더 정확한 답변을 도출하는 세 단계 기법 | 여러 NLP 작업에서 기존 방법보다 높은 성능 |
2.29 | Chain-of-Code (CoC) | LLM이 프로그램 코드를 작성하고 일부 코드 라인의 예상 출력을 생성하여 런타임에 에뮬레이션할 수 있도록 하는 전략 | 여러 작업에서 기존 방법을 상회하는 성능 |
2.30 | Program-aided Language Models (PAL) | LLM이 자연어 문제를 읽고 인퍼런스 단계로 프로그래밍 언어 명령을 생성하는 전략 | 여러 NLP 작업에서 기존 방법을 크게 상회하는 성능 |
2.31 | Binder | 입력을 프로그램으로 매핑하고 LLM을 프로그램 파서로 사용하여 더 넓은 범위의 질의에 대응하는 기법 | 테이블 기반 진실성 및 질문-답변 작업에서 향상된 정확도 |
2.32 | Dater | 큰 테이블을 작은 하위 테이블로 분해하고 SQL을 사용하여 복잡한 질의를 처리하는 전략 | 테이블 기반 작업에서 기존 방법을 상회하는 성능 |
2.33 | Chain-of-Table | 테이블 기반 질문-답변 작업에 CoT 기법을 적용하여 테이블 이해도를 높이는 다단계 접근 방식 | 기존 최고 성능을 상회 |
2.34 | Decomposed Prompting (DecomP) | 복잡한 문제를 간단한 하위 문제로 분해하고 이를 특정 LLM에 할당하는 전략 | 다중 단계 인퍼런스 작업에서 기존 방법을 크게 상회하는 성능 |
2.35 | Three-Hop Reasoning (THOR) | 휴먼과 유사한 인퍼런스 과정을 모방하여 감정/감성 이해 작업에서 기존 최고 수준 모델을 크게 상회하는 성능 | - |
2.36 | Metacognitive Prompting (MP) | 개인의 인지 과정에 대한 자각과 자기 반성을 바탕으로 다양한 NLP 작업에서 향상된 성능을 보인 전략 | - |
2.37 | Chain-of-Event (CoE) | 특정 이벤트를 추출하고 정제하여 요약 작업에서 CoT를 상회하는 성능을 보인 전략 | - |
2.38 | Basic with Term Definitions | 기본 프롬프트에 의료 용어 정의를 추가하여 질의에 대한 맥락을 제공하려는 시도 | LLM의 넓은 지식 범위와 충돌하여 큰 도움이 되지 않음 |
2.39 | Basic + Annotation Guideline-Based Prompting + Error Analysis-Based Prompting | 기본 정보, 주석 지침, 오류 분석을 포함하는 다양한 구성 요소를 사용하여 임상 명명 개체 인식 작업에서 높은 F1 점수 달성 | - |
3. NLP 작업에 대한 프롬프트 엔지니어링
Section | Task Description | Example Datasets |
---|---|---|
3.1 수학 문제 해결 | 수학 연산을 비표형 환경에서 수행하는 능력을 측정합니다. | GSM8K, MATH, SVAMP |
3.2 논리적 인퍼런스 | 자연어 이해를 바탕으로 명령어를 따르고 문제를 해결하는 능력을 평가합니다. | Word Sorting, Temporal Sequences, Mini Crosswords |
3.3 상식적 인퍼런스 | 일상적 상식을 바탕으로 판단을 내리는 능력을 측정합니다. | CSQA, Date Understanding, Sports Understanding |
3.4 멀티홉 인퍼런스 | 다양한 컨텍스트의 정보를 연결하여 질문에 답하는 능력을 평가합니다. | StrategyQA, HotpotQA, Bamboogle |
3.5 인과 인퍼런스 | 원인과 결과를 다루는 능력을 평가합니다. | Cause And Effect, Causal Judgement |
3.6 사회적 인퍼런스 | 휴먼 사회 상호작용에 대한 이해를 평가합니다. | SocialQA |
3.7 문맥 기반 질의응답 | 주어진 문맥만을 사용하여 질문에 답하는 능력을 측정합니다. | ProcessBank, BioMRC, MASH-QA |
3.8 문맥 비종속 질의응답 | 내장된 지식 베이스를 사용하여 질문에 답합니다. | PopQA, EntityQ, Wikidata |
3.9 공간적 질의응답 | 공간적 인퍼런스를 처리하는 능력을 평가합니다. | Brick World, NLVR-Based Manipulation, Natural Language Navigation |
3.10 대화형 문맥 질의응답 | 연속된 질문에 답하는 모델의 능력을 평가합니다. | ConvFinQA |
3.11 대화 시스템 | 사용자와 기계 간의 대화 생성 또는 대화에 기반한 질의응답 능력을 평가합니다. | Multi-Turn Conversation Response |
3.12 코드 생성 | 프로그래밍 언어 코드를 입력 또는 출력으로 사용하는 작업을 포함합니다. | Codeforce Scraping, HumanEval, MBPP |
3.13 자유 응답 | 제한 없는 텍스트 응답 생성 능력을 평가합니다. | Creative Writing, Longform Generation of Biographies |
3.14 진실성 | 사실을 기반으로 정보를 전달하고 오류를 피하는 능력을 평가합니다. | SycophancyEval, GSM-IC, Fever |
3.15 표 기반 진실성 | 표 형태의 정보에서 사실을 정확히 전달하는 능력을 평가합니다. | TabFact |
3.16 표 기반 질의응답 | 표 형식에서 다양한 질문에 답하는 작업입니다. | FeTaQA, WikiTQP |
3.17 표 기반 수학 문제 해결 | 표 형식에서 수학 계산을 수행하는 모델의 능력을 평가합니다. | TabMWP, Penguins in a Table |
3.18 추천 시스템 | 입력된 정보를 바탕으로 관련 아이템을 추천하는 모델의 능력을 측정합니다. | Movie Recommendation |
3.19 감정/감성 이해 | 모델이 휴먼의 감정이나 감성을 이해하는 능력을 평가합니다. | Ruin Names, SemEval14, Forex |
3.20 기계 번역 | 두 언어 간 번역 능력을 테스트합니다. | Salient Translation Error Detection, FLORES, WMT21 |
3.21 개체명 인식 | 텍스트에서 미리 정의된 클래스나 카테고리의 객체를 식별합니다. | MTSamples, VAERS, Research Papers, BC5CDR-chem |
3.22 단어 의미 분별 | 다양한 문맥에서 단어의 다른 의미를 식별하는 모델의 능력을 평가합니다. | WiC |
3.23 요약 | 긴 텍스트를 짧고 핵심적인 정보를 담은 작은 단위로 분해하는 작업을 평가합니다. | CCTC |
3.24 재구성 | 주어진 텍스트를 다른 단어를 사용하여 원래의 의미를 유지하면서 다시 쓰는 능력을 평가합니다. | QQP 2 |
3.25 입장 탐지 | 텍스트의 저자가 특정 주제에 찬성하는지 반대하는지를 판단합니다. | SemEval-2016, VAST, P-Stance |
3.26 자연어 인퍼런스 | 주어진 전제에 대해 가설이 참인지 거짓인지, 혹은 불확실한지를 판단합니다. | QNLI, MedNLI |
3.27 관계 추출 | 객체나 명명된 개체 간의 의미론적 관계를 식별하는 작업입니다. | DDI |
3.28 언어 기반 작업 완수 | 언어 기반의 명령을 따라 행동을 결정하고 작업을 완수하는 모델의 능력을 평가합니다. | ALFWorld, WebShop, SayCan, Scan |
3.29 다중 레이블 텍스트 분류 | 입력을 미리 정의된 목표 레이블 세트에 할당하는 모델의 능력을 측정합니다. | EUR-LEX, UNFAIR-ToS, LEDGAR |