오늘은 AI의 문제 해결 능력을 크게 향상시킬 수 있는
'Decomposition' 기법에 대해 알아보겠습니다
이 기법은 복잡한 문제를 더 단순한 하위 질문으로 분해하는 전략으로,
인간과 AI 모두에게 효과적인 문제 해결 방법으로 알려져 있습니다
Decomposition이란?
Decomposition은 복잡한 문제를
더 작고 관리 가능한 부분으로 나누는 과정입니다
Chain-of-Thought(CoT)와 같은 사고 유도 기법이
자연스럽게 문제를 분해하기도 하지만,
명시적인 분해 과정을 통해 AI의 문제 해결 능력을 더욱 향상시킬 수 있습니다
주요 Decomposition 기법
1. Least-to-Most Prompting
이 기법은 주어진 문제를 하위 문제로 분해한 후,
이를 순차적으로 해결하며 각 단계의 응답을
프롬프트에 추가하여 최종 결과에 도달합니다
상징적 조작, 조합적 일반화, 수학적 추론 관련 작업에서 뛰어난 성능을 보여줍니다
예시:
질문: "복잡한 수학 문제를 해결하는 단계를 설명하세요."
단계 1: "문제를 더 작은 부분 문제로 나누세요."
단계 2: "각 부분 문제를 해결하세요."
단계 3: "각 부분 문제의 결과를 종합하여 최종 답을 도출하세요."
2. Decomposed Prompting (DECOMP)
이 방법은 AI에게 특정 기능(예: 문자열 분할, 인터넷 검색)의 사용법을
Few-Shot으로 보여준 후, 원래 문제를 하위 문제로 분해하여 각 기능에 할당하도록 합니다
일부 작업에서 Least-to-Most 프롬팅보다 더 나은 성능을 보여주었습니다
예시:
질문: "웹 페이지에서 정보를 검색하여 요약하세요."
단계 1: "웹 페이지를 검색하여 필요한 정보를 찾습니다."
단계 2: "찾은 정보를 요약합니다."
3. Plan-and-Solve Prompting
Zero-Shot CoT 프롬프트를 개선한 방식으로,
"문제를 먼저 이해하고 해결 계획을 세우자,
그런 다음 계획을 수행하고 단계별로 문제를 해결하자"라는 프롬프트를 사용합니다
여러 추론 데이터셋에서 표준 Zero-Shot-CoT보다 더 견고한 추론 과정을 생성합니다.
예시:
질문: "지구 온난화의 원인과 결과를 설명하세요."
단계 1: "먼저 지구 온난화의 원인을 이해하자."
단계 2: "다음으로 지구 온난화의 결과를 설명하자."
4. Tree-of-Thought (ToT)
초기 문제에서 시작하여 여러 가능한 단계를 사고의 형태로 생성하고,
각 단계가 문제 해결에 얼마나 기여하는지 평가하여 계속 진행할 단계를 결정합니다
검색 및 계획이 필요한 작업에 특히 효과적입니다
예시:
질문: "새로운 제품 출시 전략을 수립하세요."
단계 1: "시장 조사 단계."
단계 2: "경쟁 분석 단계."
단계 3: "마케팅 전략 수립 단계."
5. Recursion-of-Thought
CoT와 유사하지만, 복잡한 문제를 만났을 때
해당 문제를 새로운 프롬프트로 보내어 재귀적으로 해결하는 방식입니다
산술 및 알고리즘 작업에서 성능 향상을 보여주었습니다
예시:
질문: "2 + 3은 무엇입니까?"
단계 1: "복잡한 부분 문제를 새로운 프롬프트로 보냅니다."
단계 2: "답변을 원래 프롬프트에 삽입합니다."
6. Program-of-Thoughts
Codex와 같은 AI 모델을 사용하여
추론 단계를 프로그래밍 코드로 생성하고, 코드 인터프리터가 이를 실행하여 최종 답을 얻는 방식입니다
수학 및 프로그래밍 관련 작업에서 뛰어난 성능을 발휘합니다
예시:
질문: "2 + 3은 무엇입니까?"
단계 1: "프로그래밍 코드로 변환: result = 2 + 3"
단계 2: "코드 인터프리터가 실행하여 결과를 반환합니다: 5"
7. Faithful Chain-of-Thought
자연어와 상징적 언어(예: Python)를 모두 포함하는 CoT를 생성하며,
작업에 따라 다양한 유형의 상징적 언어를 활용합니다
다양한 작업에서 신뢰성 높은 추론을 보장합니다
예시:
질문: "2 + 3은 무엇입니까?"
단계 1: "자연어로 설명: 2와 3을 더합니다."
단계 2: "상징적 언어로 표현: 2 + 3 = 5"
8. Skeleton-of-Thought
병렬화를 통해 응답 속도를 가속화하는 기법으로,
문제를 해결하기 위한 해골(골격)을 생성하고
이를 하위 문제로 나누어 병렬적으로 해결한 후 최종 답을 얻습니다
예시:
질문: "복잡한 문제를 해결하세요."
단계 1: "문제를 하위 문제로 나누어 해골을 생성합니다."
단계 2: "각 하위 문제를 병렬적으로 해결합니다."
단계 3: "모든 하위 문제의 답을 결합하여 최종 응답을 생성합니다."
Decomposition 기법들은 복잡한 문제를 더 단순하고 관리 가능한 부분으로 나누어
AI의 문제 해결 능력을 크게 향상시킵니다
이러한 기법들을 적절히 활용한다면, AI와의 협업을 통해
더욱 효과적으로 복잡한 문제들을 해결할 수 있을 것입니다!
'AI' 카테고리의 다른 글
ChatGPT에서 적절한 모델 선택하기 o1 o1-mini GPT-4o 등 (0) | 2025.01.09 |
---|---|
생성형ai gpt 잘 사용하기 , 프롬프트 엔지니어링 주요 기법 (0) | 2024.07.29 |
생성형ai gpt 잘 사용하기 , 프롬프트 엔지니어링, Zero-Shot-CoT (0) | 2024.07.27 |
Zero-Shot Prompting 제로샷 프롬팅 AI와의 효과적인 소통을 위한 8가지 기법 (0) | 2024.07.26 |
프롬프트 In-Context Learning , 제공된 예제와 관련 지시문을 통해 ai 학습시키기 (0) | 2024.07.22 |
댓글