Abstract:
- Chain-of-Thought(CoT) 방법은 LLM의 추론 능력을 강화하기 위한 중요한 접근법으로 알려져 있음.
- 하지만 문제점도 있다. LLM 이 CoT 프롬프팅을 위해 생성한 추론 과정의 품질이 일관되지 않는 문제가 있음. 이로 인해서 성능이 떨이지기도 하고.
- 이 문제를 해결하기 위한 SCoT 는 먼저 추론 과정을 이끌어내는 것으로 시작함. 효과적인 추론 과정을 이끌어 낸 후 다음 단계에서 최종 답변을 생성하는 식으로.
- SCoT 프레임워크를 확장한 방법으로 자동으로 예시를 매칭하도록 하는 방법도 있는데 이걸 쓰면 더 뛰어난 결과를 내기도 한다고 함.
Introduction:
- 문제 해결의 전략 과정과 오류 가능성은 밀접한 관련이 있는게 인지 과학에서 알려져있음.
- CoT 도 이와 비슷하게, 어렵고 비효율적인 추론 과정을 사용하면 인지 부하가 많이 걸려서 오답으로 갈 수 있는 확률이 높아짐.
- 여기서는 올바른 추론 경로를 선택하기 위해서 다양한 매커니즘을 소개함:
- Voting 기반 접근법: 여러 개의 다양한 추론 경로를 생성하고, 그 중에서 가장 신뢰할 수 있고 올바른 답을 찾기 위해 투표하는 방식
- RAG(Retrieval-Augmented Generation) 기반 접근법: LLM이 자체 지식에 의존하는 것뿐만 아니라, 외부 정보를 참고해서, 이를 바탕으로 추론 경로를 선택하는 매커니즘
- 프롬프트 강화 알고리즘: 다양한 프롬프트 강화 알고리즘을 통합하여, 실제 운영 중에 가장 최적화된 프롬프트를 동적으로 선택하는 방법
- 기존에 CoT 품질을 개선하기 위한 여러 방법들도 있긴 했음. 자원 소모가 크긴 했지만:
- Self-Consistency: 최대 40번의 질의가 필요할 수 있다고 함. 이 방법은 여러 번의 추론 경로를 생성한 후, 그 중에서 일관된 답을 찾는 방식.
- BoT(Branch-of-Thought) 방법: 여러 단계의 질의를 요구하는 방법
- SCoT의 제안:
- SCoT 는 이러한 자원 문제를 해결하면서도 CoT 경로의 품질을 향상시키기 위한 새로운 방법론.
- SCoT는 전략적 지식을 추론 과정에 통합하여 더 나은 CoT 경로를 생성하도록 설계되었음. 두 단계로 이루어진 프로세스를 사용한다:
- 전략 탐색: 문제 해결을 위한 다양한 전략을 탐색하고, 가장 효과적인 전략을 찾아내어 이를 전략적 지식으로 설정
- 전략 적용: 이 전략적 지식을 바탕으로 LLM이 높은 품질의 CoT 경로를 생성하고, 정확한 최종 답변을 도출.
- Re-TASK와 SCoT의 비교:
- Re-TASK와는 다른 방식으로, 명시적인 지식 주입에 의존하지 않고, 대신 지식을 유도(eliciting knowledge) 하는 방식으로 접근함. 그러니까 SCoT는 문제 해결에 필요한 전략적 지식을 내재적으로 이끌어내어 이를 바탕으로 추론 경로를 생성하는 것.
문제를 해결하는데 있어서 다양한 문제 해결 전략이 중요함:
- 다양한 전략적 접근법은 복잡한 문제를 해결할 때 유리함.
- 어떤 문제에서는 한 가지 방법이 잘 작동할 수 있지만, 다른 문제에서는 완전히 다른 전략이 더 효과적일 수 있기 때문에.
- 따라서 LLMs가 다양한 방법으로 문제를 해결할 수 있도록 하는 것이 성능을 더 잘 발휘하게 될거임.
기존 Chain-of-Thought(CoT) 경로의 품질을 향상시키기 위한 다양한 방법:
- Self-Consistency 방법:
- 20개 이상의 CoT 경로를 생성한 후, 그 중 가장 일관된 답을 선택하는 방식
- 여러 추론 경로를 생성해 다양한 가능성을 탐색한 후, 투표를 통해 최종 답을 도출하는 것이 특징
- Step Back:
- 이 방법은 모델이 문제의 추상적인 구조를 생성하여 더 깊은 논리 구조를 이해하게 도움.
- RAG(지식 검색 기반 생성) 능력을 강화하여 더 나은 답변을 도출하기도 한다.
- Metaprompting:
- 기존의 여러 프롬프트 기반 프레임워크를 통합하여, 가장 적합한 추론 전략을 동적으로 선택할 수 있도록 하는 것
보다 안정적인 CoT 경로를 생성하기 위한 전략적 지식(Strategic Knowledge) 개념 도입:
- LLMs는 같은 문제에 대해서도 다양한 CoT 경로를 생성할 수 있음. 그러나 이 경로는 품질이 크게 차이날 수 있다:
- 예를 들어, "−26 < s < 24를 만족하는 모든 정수 s의 합을 구하라"는 수학 문제를 푸는 두 가지 방법을 제시할 수 있음:
- 첫 번째 방법: 숫자들을 짝지어 더하는 방식. 이 방법은 중간 단계가 복잡하고, 그 결과 덜 안정적인 답변을 생성할 가능성이 큼
- 두 번째 방법: 산술급수 공식을 이용하여 바로 답을 구하는 방식. 이 방식은 보다 안정적이고 질 높은 결과를 생성하는 경향이 있음.
- 전략적 지식(Strategic Knowledge) 은 논리적으로 올바른 결과를 얻을 수 있는 명확하고, 쳬계적이고, 보다 간단한 문제 해결 방법을 말함.
- 이 예시에서 산술급수 공식을 사용하는 방법은 전략적 지식이 될거임.
Strategic Chain-of-Thought(SCoT):
- SCoT는 모델이 직접 답을 생성하기 전에 전략적 지식을 먼저 도출하도록 유도하고, 이를 바탕으로 문제를 해결하는 과정
- SCoT 방법론은 프롬프트 기반 접근 방식임. 프롬프트를 통해서 전략적 지식을 생성해낸 후, 이를 이용해서 문제를 해결하는 것.
- SCoT 프롬프트는 다섯 가지 요소로 구성됨:
- 역할(Role)
- 작업 흐름(Workflow)
- 규칙(Rule)
- 초기화(Initialization)
- 과제 입력(Task Input)
- 이 프롬프트는 단일 프롬프트 내에서 세 가지 단계로 이루어진 구조를 가지고 있음.
- 전략적 지식 도출을 위한 단계: 첫 두 단계에서 모델은 문제 해결을 위한 전략적 방법을 찾아냄
- 전략 적용 단계: 세 번째 단계에서는 도출된 전략을 적용해 최종 답을 생성함.
- SCoT 방법론은 다양한 도메인에서 전략적 지식을 도출하고 적용하는 방식이 달라진다고 함:
- 수학: 전략적 지식은 효율적이고 우아한 해결책을 도출하는 데 초점을 맞춤.
- 물리학: 가장 적합한 공식이나 과정을 선택하는 것이 전략적 지식의 핵심
- 멀티홉 추론: 이 경우 전략적 지식은 문제를 적절한 세부 단계로 나누고 관련 정보를 기억하는 것이 중요
SCoT 의 Workflow:
Few-shot SCoT:
- 이 방법은 모델이 문제를 해결하기 위해 전략적 지식을 이끌어낸 후 이를 이용해 적절한 예시(demonstrations)를 선택하도록 하도록 하는 방법임.
- 전략적 지식을 사용해 Few-shot 예시를 선택하는 방식임.
- 이를 위한 방법으로 전략적 지식 기반의 시연 코퍼스 구축이 필요함. 이렇게 구축한 이후에 모델 추론에서 사용하는 것.
- 전략적 지식 기반 시연 코퍼스 구축:
- 제로샷(Zero-shot) SCoT 방법을 사용하여 훈련 세트에서 각 질문에 대한 SCoT 답변을 생성
- 생성된 답을 정답과 비교해서 정확한 질문-SCoT 답변 쌍만을 선택해서 코퍼스 구축.
- 모델 추론 과정:
- 모델은 문제를 해결하기 위한 전략적 지식을 생성. 그러니까 전략을 도출하는 것
- 생성된 전략적 지식을 사용해 코퍼스에서 가장 유사한 예시를 검색하고 매칭
- 선택된 예시를 Few-shot 으로 이용해서 예측.
'Generative AI > Prompt Engineering' 카테고리의 다른 글
Automatic Chain of Thought Prompting In LLM (0) | 2024.09.28 |
---|---|
Better Zero-Shot Reasoning with Role-Play Prompting (0) | 2024.09.23 |
ANTHROPIC - Prompt engineering Detailed (0) | 2024.09.23 |
ANTHROPIC - Prompt engineering (0) | 2024.09.09 |
(2) Building with Claude - Create strong empirical evaluations (0) | 2024.09.07 |