Prompt Engineering
- Prompt Engineering
- 요구하는 작업을 지시하기 위한 작업! 요약? 분류? 추출?
- LLM 시대로 넘어오면서 Task 수행을 위한 Template, Task Example, Answer Engineering 등의 Hard Prompt를 구성하는 방법을 주로 칭함 - Prompt Engineering의 종류
- LLM의 In-Context Learning (ICL) 능력을 활용하기 위함: Prompt Engineering
- LLM Prompt의 구성 요소
- Task Instruction, Demonstrations (Examples), Query - LLM Prompting Example
- 수학적 추론, 데이터 추론, 상식 추론 등, 수행하고자 하는 작업에 맞는 특성을 고려해야 함 - Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
- 수학적 추론에 특히 약한 LLMs → 단계적 사고를 하도록 유도
- Diverse tasks에 대한 Human-crafted examples를 LLMs에 제공
- 수학적 추론, 상식 추론 등 다양한 tasks에서 standard prompting보다 큰 개선 - Least-to-Most Prompting Enables Complex Reasoning in Large Language Models
- CoT Prompting의 More complex problems에 대한 한계점: 복잡한 문제를 하위 문제로 분해 및 순차적 해결
- Least-to-Most Prompting 는 특히 compositional generalization task인 SCAN에서 CoT 대비 큰 개선 - Automatic Chain of Thought Prompting in Large Language Models
- CoT는 Manually-crafted CoT Examples에 의해서 고품질 추론을 유도 ⇒ Human effort가 많이 듦
- Query와의 Similarity 기반 Example Retriever를 활용이 Random Retriever보다 낮은 성능!?? → Diversity 문제
- 유사도로 Clusters 구축한 뒤, 각 Cluster에서 예제 선정 -> Cluster를 문제 해결에 대한 다양성의 척도로 활용 - Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models
- CoT 기반의 대수 연산에서 빈번한 Error..!
- Planning First and Solving
- Zero-Shot 에서도 Few-shot Manual-CoT와 유사한 성능! - Self-Instruct: Aligning Language Models with Self-Generated Instructions
- “Instruction-tuned” LLM의 높은 일반화 성능 ⇒ 고품질의 human-crafted Instruction에 의존적
- LM을 활용하여 고품질의 Instruction dataset을 자동으로 구축하는 방법론 제안
- Self-Instruct 방법론 적용시 성능 GPT-3의 성능을 크게 개선 - Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity
- ICL로 주어지는 입력 예제의 순서에 따라 성능의 편차 발생!
- Entropy-based Probing Metrics 제안 - Unified Demonstration Retriever for In-Context Learning
- Task-Specific Demonstration Retriever 구축의 비효율성 지적
- 여러 tasks의 데이터를 활용, retriever 스스로 high-quality candidates를 찾아내도록 학습
- 다양한 Knowledge-intensive tasks에서 큰 개선 - Self-Consistency Improves Chain of Thought Reasoning in Language Models
- Zero-shot Chain-of-Thought Reasoning을 활용한 a new decoding strategy인 Self-Consistency 제안
- Arithmetic tasks (Left), Commonsense/Symbolic reasoning tasks (Right) 에서 큰 개선 (Zero-shot) - Deductive Verification of Chain-of-Thought Reasoning
- Intermediate reasoning steps가 잘못된 경우 overall reasoning에 누적된 오류가 발생하는 CoT의 치명적 단점 - Verify-and-Edit: A Knowledge-Enhanced Chain-of-Thought Framework
- Self-Consistency 기반 Majority voting을 Verification 수행 판단에 대한 척도로 활용
- Knowledge-Intensive tasks의 성능 대폭 개선 - Promptbreeder: Self-Referential Self-Improvement Via Prompt Evolution
- Self-referential, Self-improvement Prompting strategy 제안: Prompt Evolution !?
- Evolution by Prompt Mutation
- 매우 높은 성능, 그러나 Training set에 기반한 fitness score 그리고 이 score에 기반한 정제 과정 포함.. 과연 fair?
LLM Tools
- LangChain
- 단 코드 몇 줄로 LLM 사용
- 임베딩, 문서 검색, Prompt Engineering, Chains, Agent 등의 다양한 기능 지원 - LangChain Components
- LangChain Components는 다음과 같이 모듈화되어 있으며, Chains를 활용하여 조합하여 활용
- Model I/O: 프롬프트 관리, 프롬프트 최적화, 모든 LLM에 대한 일반적인 인터페이스 및 LLM과 작업하기 위한 유틸리티 포함
- Retrieval:외부 데이터 소스와 상호 작용하여 생성 단계에서 사용할 데이터를 가져와서 활용할 수 있도록 하는 기능 포함
- Agents: LLM이 어떤 작업을 수행할지 결정하고 해당 작업을 수행하도록 하는 요소 - AutoGPT
- 사용자가 설정한 목표를 GPT끼리의 상호작용을 통해 자율적으로 달성하도록 하는 Open-source project. - Scikit-LLM
- LLMs을 Scikit learn 방식으로 활용할 수 있는 인터페이스 제공
'Study > 자연언어처리 NLP' 카테고리의 다른 글
Multimodal LLM (0) | 2025.02.05 |
---|---|
Multilingual LLM (2) | 2025.02.05 |
LLM 기반 Application 연구 (0) | 2025.02.05 |
LLM 기반 Evaluation-Centric NLP 연구 (2) | 2025.02.04 |
LLM 기반 Model-Centric NLP 연구 (0) | 2025.02.04 |