https://arxiv.org/abs/2205.10625
Least-to-Most Prompting Enables Complex Reasoning in Large Language Models
Chain-of-thought prompting has demonstrated remarkable performance on various natural language reasoning tasks. However, it tends to perform poorly on tasks which requires solving problems harder than the exemplars shown in the prompts. To overcome this ch
arxiv.org
앞에 작성했던 Decomposition 방식과는 또 다른 방식입니다.
2025.05.12 - [인공지능/논문 리뷰 or 진행] - Decomposed Prompting: A Modular Approach for Solving Complex Tasks
Decomposed Prompting: A Modular Approach for Solving Complex Tasks
https://arxiv.org/abs/2210.02406 Decomposed Prompting: A Modular Approach for Solving Complex TasksFew-shot prompting is a surprisingly powerful way to use Large Language Models (LLMs) to solve various tasks. However, this approach struggles as the task co
yoonschallenge.tistory.com
여기에선 decomposition이라 하기 보단 sub task를 그 때 그 때 만들었습니다.
제가 진행하던 방식과 비슷하게 여기선 decomposition을 먼저 진행하고, step에 따른 sub task를 주입하는 것으로 진행합니다.
이 방법이 CoT보다 좋은 성능을 낸다고 여기서 말하고 있습니다.
CoT는 Few-shot에 민감하다!
CoT도 성공률을 높이긴 하지만 단어 수가 많아질 수록 성능이 크게 떨어진다.
Task | 문제 | 결과 | L2M 장점 | 한계 |
Symbolic Manipulation Last-letter concatenation |
단어 리스트의 마지막 글자들을 연결하여 정답 생성 예: "thinking, machine" → "ge" |
🔸 Standard: 0% 🔸 CoT: 84.2% → 31.8% (길어질수록 급락) 🔸 L2M: 94.0% → 74.0% (길어져도 성능 유지) |
✅ 문제를 재귀적으로 분해 ✅ 이전 sublist 결과를 context로 사용하여 누적 reasoning 가능 ✅ 길이 증가에 robust |
❌ 긴 리스트에서도 100% 도달 실패 ❌ concat 오류 (문자 누락/중복 등) 발생 |
Compositional Generalization SCAN benchmark |
자연어 명령어를 의미 단위로 분해 후 시퀀스로 변환 예: "look thrice after walk" → LOOK LOOK LOOK WALK |
🔸 code-davinci-002 기준 Standard: 16.7% CoT: 16.2% L2M: 99.7% |
✅ 길이 일반화 (length split)에 압도적 성능 ✅ 8개 분해 예시 + 14개 mapping 예시만으로 학습 없이 해결 ✅ Python 중간 표현도 정확히 처리 가능 |
❌ 일부 의미 연산(ex. “after”, “thrice”) 해석 오류 ❌ and vs. after 구분 실패 등 복합 문장 해석에서 실수 |
Math Reasoning GSM8K / DROP |
단계별 reasoning이 필요한 수학 문제 예: "Elsa has 5 apples. Anna has 2 more…" |
🔸 GSM8K 전체 정확도 CoT: 60.87% → L2M: 62.39% 5단계 이상 문제: CoT 39.07% → L2M 45.23% 🔸 DROP (수치 문제) 정확도 CoT: 74.77% → L2M: 82.45% |
✅ 문제를 subproblem으로 분해하여 reasoning 안정화 ✅ 긴 단계 추론 문제에서 상대적 우위 확보 ✅ DROP처럼 쉽게 쪼갤 수 있는 문제에서 성능 ↑ |
❌ 분해 구조가 잘못되면 전체 실패 가능 ❌ 복잡 reasoning이 요구되는 질문은 수작업 분해 필요 |
🔍 연구 배경 | 기존 Chain-of-Thought(CoT) 방식은 reasoning step이 길어질수록 성능 저하. 특히, 학습 시 단순 reasoning → 테스트 시 복잡한 문제에 일반화 실패. |
🎯 연구 목적 | 복잡한 문제 해결을 위해 쉬운 문제부터 어려운 문제로 점진적 reasoning 구조를 유도하는 prompting 기법 설계 |
🧠 핵심 개념 (Least-to-Most Prompting, L2M) |
① 문제를 여러 개의 쉬운 sub-question으로 분해 (Decomposition Prompt) ② 각 sub-question을 순서대로 해결하며 앞선 결과를 다음 reasoning의 context로 활용 (Sequential Solving Prompt) |
🔧 방법 구성 | - Subproblem decomposition: GPT를 활용하여 자연어 문제를 step-by-step question으로 분할 - Sequential prompting: 각 step의 결과를 다음 step에 전달하여 논리적 흐름 유지 - Few-shot prompting으로 구성 가능 (fine-tuning 없음) |
🧪 주요 실험 결과 | - GSM8K: CoT 60.87% → L2M 62.39%, 5+단계 문제에서는 6.2%p 상승 - SCAN: CoT 16% → L2M 99.7% (합성 일반화) - AQUA: CoT 53.0% → L2M 58.2% - Ablation으로 두 단계 모두 중요함 확인 |
🌟 핵심 기여 | ✅ 복잡 reasoning을 가능하게 하는 새로운 prompting 전략 제안 ✅ 수학, 논리, 프로그래밍 추론 등 다양한 도메인에 적용 가능 ✅ 수작업 prompt 조합만으로 일반화 능력 향상 입증 ✅ 이후 Tree of Thoughts, ReAct 등 계획형 prompting 연구의 기반 제공 |
⚠️ 한계점 | - 문제 분해 prompt의 수작업 설계 필요 (자동화 어려움) - 긴 문제는 context overflow 발생 가능 - 초기 sub-question이 틀릴 경우 후속 reasoning cascade 실패 가능 - 도메인 일반화를 위해 prompt engineering이 반복 필요 |
💡 인사이트 | - LLM의 reasoning 능력은 “정답을 찾게 하는 것”보다 “풀 수 있는 방식으로 구조화”하는 것이 핵심 - 분해된 문제 해결 결과를 context로 누적함으로써 모델의 안정적인 추론 유도 가능 |
🔄 연관 후속 연구 | Tree of Thoughts (탐색 기반 추론), ReAct (행동+생각 혼합), Self-Refine, Auto-CoT 등에서 해당 접근법을 계승 및 확장 |
논문 "Least-to-Most Prompting Enables Complex Reasoning in Large Language Models" (ICLR 2023)는 복잡한 문제 해결 능력이 기존 체계보다 부족한 LLM(대형 언어 모델)에게 '쉬운 것부터 어려운 것으로' 유도하는 프롬프트 방식을 통해 문제 해결 능력을 크게 향상시키는 방법을 제안합니다.
🧩 해결하고자 한 문제
- 기존 Chain-of-Thought(CoT) 프롬프트는 문제 해결 과정을 단계별로 서술해 LLM의 추론 능력을 유도하지만,
- 쉬운 예시에서 어려운 문제로의 일반화(easy-to-hard generalization)에는 한계가 있습니다.
- 예: 학습 프롬프트에서는 reasoning step이 2개지만, test 문제에서는 4~5개의 reasoning이 필요한 경우 성능이 급감함.
🧠 제안한 방법: Least-to-Most Prompting (L2M)
단계 | 설명 |
1️⃣ 문제 분해 (Decomposition) | 주어진 복잡한 문제를 더 단순한 sub-problem들의 시퀀스로 분해합니다. |
2️⃣ 순차적 해결 (Sequential Solving) | 각 sub-problem을 앞서 해결한 결과를 기반으로 순차적으로 해결합니다. 마지막에 원래 문제를 해결함. |
두 단계 모두 few-shot prompting만을 사용하며, 별도의 모델 훈련 없이 구성됩니다.
🔧 작동 방식 예시
문제: “How long is the total trip if each trip takes 5 minutes and you go three times?”
- 문제 분해:
- SubQ1: “How long does each trip take?” → 5 minutes
- SubQ2: “What’s the total time for 3 trips of 5 minutes each?”
- 순차 해결:
- SubQ1 결과 사용 → SubQ2 해결 → 최종 답: 15 minutes.
📊 실험 결과 요약
1. GSM8K (수학 문제 해결)
방법 | 전체 정확도 | 5+ 단계 문제 정확도 |
Chain-of-Thought (1-shot) | 60.87% | 39.07% |
Least-to-Most (1-shot) | 62.39% | 45.23% (+6.16%) |
복잡한 문제(5단계 이상)에 대해 큰 향상을 보임.
2. SCAN Benchmark (합성 일반화 문제)
- Chain-of-Thought: 16%
- Least-to-Most: 99.7%
- 단 14개의 예시만으로 전체 분할(length split 포함) 해결 → 기존 모델들은 15,000개의 학습 예시 필요.
📌 주요 성능 향상 요인
- Subproblem 기반 재사용: 앞서 푼 하위 문제의 답을 다음 문제 해결에 활용 → 논리적 연결성 강화.
- Prompt 간 chain 연결: 문제 분해 → 순차적 해결이라는 chain을 명시적으로 구성.
- Few-shot 효율성: 더 적은 예시로도 높은 일반화 성능 확보.
⚠️ 한계점
- 문제 분해 프롬프트는 도메인 일반화에 취약: 수학 문제에서 잘 작동하더라도 상식 reasoning에선 재작성 필요.
- 동일 도메인 내에서도 문제 분해가 잘 안 되는 문제는 실패 가능성 존재.
🧾 전체 요약 표
항목 | 설명 |
목적 | Chain-of-Thought 방식의 일반화 한계를 극복하기 위한 easy-to-hard generalization 가능 프롬프트 설계 |
방법론 | 문제를 간단한 sub-problem으로 분해 → 순차적으로 해결 → 최종 문제 해결 |
구성 | (1) Decomposition Prompt, (2) Sequential Solving Prompt |
효과 | - 수학/논리/합성 문제에서 Chain-of-Thought 대비 우수한 성능 - 특히 복잡한 문제에서 큰 향상 |
대표 성능 | SCAN 99.7% (vs. CoT 16%), GSM8K 62.39% (vs. CoT 60.87%) |
장점 | 명확한 reasoning path, 적은 예시로 높은 일반화 |
한계 | 도메인 일반화 어려움, 분해 구조 설계의 수작업 부담 |
논문 “Least-to-Most Prompting Enables Complex Reasoning in Large Language Models”은 기존의 Chain-of-Thought(CoT) 및 Program-Aided Prompting(PaL), Self-ask 등의 prompting 방식과 비교해 복잡한 문제 해결을 위한 새로운 prompting 구조를 제안한 것이 핵심입니다.
🔍 주요 Prompting 기반 추론 방법론 비교
방법론 | 핵심 아이디어 | 작동 방식 | 장점 | 단점 | L2M과의 차이점 |
Chain-of-Thought (CoT) | 추론 과정을 step-by-step으로 기술 | “Let’s think step by step” 프롬프트를 통해 문제를 내부적으로 풀게 유도 | 간단한 문제에서 성능 향상 | 복잡한 문제에서는 generalization 약함 (특히 추론 단계가 길어지면 급격히 하락) |
L2M은 subproblem으로 쪼개고, 각 step을 실제로 풀며 context로 제공 |
Program-Aided Prompting (PaL) | LLM은 자연어로 계획, 계산은 Python이 담당 | 자연어 → 코드 생성 → 실행 결과로 reasoning |
수치적 정밀도 우수, 논리적 정확성 ↑ | 외부 실행 환경 필요, 주관식 문제에 취약 | L2M은 외부 도구 없이 LLM만 사용, subproblem 분해로 문제 해결 |
Self-ask with Search | 질문을 세분화하고 필요한 정보만 외부로 검색 | 질문 → sub-question 생성 → 검색 결과 기반 재질문 |
정보 기반 QA에서 성능 우수 | 지식 기반 문제에 한정됨 | L2M은 정보 검색 없이 sub-task를 언어적으로 분해 |
Least-to-Most Prompting (L2M) | 복잡한 문제를 쉬운 sub-task로 나누고 순차적으로 해결 | (1) 문제 분해 프롬프트, (2) 각 단계별 sequential solving 프롬프트 |
reasoning 구조화 우수, 복잡한 문제에서 탁월 | 문제 분해 템플릿 설계가 어려움 | 고유 방식: 기존 방법과 달리 문제 분해를 명시적 텍스트로 구성하고, 이전 subproblem 출력을 다음 문제 context에 포함시킴 |
🧠 예시 기반 차이 설명 (GSM8K 예)
📌 문제
"Tom goes to the store 3 times. Each time takes 5 minutes. How long is the total trip?"
- CoT: "Tom goes 3 times, and each trip takes 5 minutes, so total = 3 x 5 = 15."
- PaL: "Compute total_time = 3 * 5 → print(total_time)"
- Self-ask: "What is the time for each trip? (5) → How many trips? (3) → Multiply."
- L2M:
- SubQ1: “How long does each trip take?” → 5
- SubQ2: “What is the total time for 3 trips of 5 minutes?” → 15
- 이처럼 각 step을 별도 질의로 분리하고 LLM이 각 질의에 대해 다시 생각하고 답변하도록 유도
📊 정리 요약 표
항목 | Chain-of-Thought | PaL | Self-ask | Least-to-Most Prompting |
핵심 전략 | 자연어 step-by-step 유도 | 계산 분리 (코드 실행) | 질문을 세분화 | 문제를 쉬운 sub-task로 분해 |
외부 도구 필요 | ❌ | ✅ (코드 실행기) | ✅ (검색 엔진) | ❌ |
복잡한 문제 해결력 | ❌ (길면 성능↓) | ✅ (수치 정확↑) | ✅ (정보 QA↑) | ✅✅ (복잡한 reasoning에 특화) |
일반화 능력 | 낮음 | 낮음 | 중간 | 높음 (문제 구조화 기반) |
주요 한계 | 단계수 증가에 취약 | 주관식/언어적 문제에 한계 | 지식 기반 문제에 특화 | 문제 분해 프롬프트 설계 어려움 |
🔚 결론 및 인사이트
- 기존 방법론들은 정답 산출 과정에서 '어떻게 푸는지'에 초점을 두었지만,
Least-to-Most Prompting은 문제를 '풀기 쉽게 구조화'하는 방식에 초점을 둡니다. - 특히 "길어진 reasoning chain"을 명시적으로 분해하고 각 subproblem을 independent하게 해결함으로써, 복잡한 문제에서도 안정된 성능을 확보합니다.
- CoT와 달리 reasoning 과정이 진짜 context 흐름으로 남아있는 형태이므로, 후속 reasoning에서 누적된 논리적 일관성을 유지할 수 있다는 점이 큰 장점입니다.
논문 “Least-to-Most Prompting Enables Complex Reasoning in Large Language Models”는 복잡한 문제를 해결하기 위해 LLM(Large Language Models)의 reasoning 능력을 체계적으로 끌어올릴 수 있는 새로운 prompting 프레임워크를 제안합니다.
전통적인 Chain-of-Thought(CoT) 방식의 한계를 보완하며, 문제를 "쉬운 것부터 → 점점 더 어려운 것" 순서로 구조화하여 추론을 유도합니다.
🧠 핵심 아이디어 요약
복잡한 문제를 subproblem으로 나누고, 쉬운 문제부터 순차적으로 풀면서 그 결과를 context에 누적 → 점진적으로 전체 문제를 해결
이 방식을 Least-to-Most Prompting (L2M)이라 부릅니다.
🔧 방법론 구성 (두 단계)
1️⃣ 문제 분해 프롬프트 (Decomposition Prompt)
- 문제를 여러 개의 간단한 sub-question으로 분해
- GPT-3, Codex 등 일반 LLM이 다음과 같은 format으로 문제를 나누도록 유도
Original Question: [복잡한 문제]
Step-by-step Questions:
1. [SubQ1]
2. [SubQ2]
...
N. [SubQN]
2️⃣ 순차적 해결 프롬프트 (Sequential Solving Prompt)
- 각 sub-question을 순서대로 풀고, 해당 결과를 다음 질문의 context로 포함시켜 reasoning chain을 구성
Q1: [SubQ1]
A1: [정답1]
Q2: [SubQ2], given that A1 = [정답1]
A2: [정답2]
...
QN: [SubQN], given that A(N-1) = [정답(N-1)]
AN: [최종 정답]
✅ 예제 (GSM8K 수학 문제)
🔎 원래 문제
"Tom goes to the store 3 times. Each time takes 5 minutes. How long is the total trip?"
📌 1단계: 문제 분해
Original Question:
"Tom goes to the store 3 times. Each time takes 5 minutes. How long is the total trip?"
Step-by-step Questions:
1. How long does each trip take?
2. How many trips does Tom make?
3. What is the total time for 3 trips of 5 minutes each?
📌 2단계: 순차적 해결
Q1: How long does each trip take?
A1: 5 minutes
Q2: How many trips does Tom make?
A2: 3
Q3: What is the total time for 3 trips of 5 minutes each, given that A1 = 5 and A2 = 3?
A3: 15 minutes
이처럼 reasoning을 계단처럼 올라가며 문제를 해결하는 방식입니다.
🔬 왜 효과적인가? (전문가 시각)
🔄 기존 CoT 방식의 한계
- 예를 들어, 아래와 같은 CoT 문제 해결은 다음과 같은 이슈가 있습니다.
Q: Tom goes to the store 3 times. Each time takes 5 minutes. How long is the total trip?
A: He goes 3 times, each takes 5 minutes, so total is 3 × 5 = 15.
- 모델이 step-by-step을 자동 생성해야 하므로,
- 추론 단계 수가 많아질수록 실패율이 급증
- 단계 사이의 논리적 연결성이 약함
✅ L2M의 구조적 이점
명시적 문제 분해 | reasoning 길이에 독립적으로 문제 해결 가능 |
Sequential Prompt | 이전 답을 context로 주어 조건부 reasoning 유도 |
Task-General | 수학, 추론, 논리 문제 등 범용 문제에 적용 가능 |
Prompt 구조화만으로 학습 없이 성능 향상 | 학습 없이 prompt 설계로 성능 개선 (few-shot 가능) |
🧪 실험 결과로 입증된 효과
◾ GSM8K (수학 추론 문제)
- 5단계 이상의 문제에서 기존 CoT 대비 6.2%p 정확도 상승
- Complex reasoning을 요하는 문제에 강력한 효과
◾ SCAN (합성 일반화 benchmark)
- 기존 CoT: 16%
- L2M: 99.7% (14개 예시만으로!)
→ symbolic 형태의 반복, 조건 분기 reasoning에서도 매우 강력한 일반화 성능
📌 한계 및 도전 과제
문제 분해의 수작업 설계 | Decomposition prompt 설계가 도메인별로 필요 |
Context 길이 증가 | SubQ 수가 많아지면 token 제한 발생 가능 |
일반화된 분해기 필요 | GPT가 잘못된 subproblem을 생성하면 전 과정 실패 |
🔚 마무리 요약
핵심 전략 | 문제를 쉬운 sub-task로 분해하고 순차적으로 reasoning 유도 |
기대 효과 | 복잡한 추론을 체계적이고 정확하게 수행 |
차별점 | reasoning 과정을 LLM의 task로 만들기보단, LLM이 해결 가능한 sub-task로 재구성 |
적용 범위 | 수학, 논리, 프로그래밍, 합성 언어 등 step-based task 전반 |
📊 1. 실험 결과 요약
실험 대상 | 비교 방법 | 성능 (정확도 등) | 특징 |
GSM8K (수학 추론) | CoT vs. L2M | CoT: 60.87% → L2M: 62.39%특히 5단계 이상 문제에서 6.16%p 상승 | 복잡한 문제에서 성능 향상 확연 |
SCAN (합성 언어 일반화) | CoT: 16% vs. L2M: 99.7% | L2M은 단 14개의 예시만으로 length generalization 성공 | 기존 모델은 수천 개의 학습 필요 |
AQUA (논리 + 수학 질의) | CoT: 53.0% → L2M: 58.2% | 질문의 전제와 논리 조건이 많을수록 성능 향상 | |
Commonsense QA | CoT 대비 동일 수준 또는 소폭 우세 | 일부 도메인에선 직접 효과 제한적 | |
GSM8K Ablation | Decomposition / Sequential 단계 각각 제거 시 성능 하락 | 두 요소 모두 필수적임을 실험적으로 입증 |
🧠 2. 결론 (Conclusion)
- Least-to-Most Prompting (L2M)은 LLM이 복잡한 reasoning 문제를 풀 때 더 뛰어난 일반화 성능을 보이도록 설계된 prompting 기반 전략이다.
- 기존 CoT 방식이 단순한 문제에서는 효과적이지만, 추론 단계가 길어질수록 성능이 급감하는 한계를 가진다는 점에서 L2M은 구조적 개선을 제공함.
- L2M은 문제를 순차적으로 풀 수 있는 형태로 분해하고, 단계별 reasoning을 연결함으로써:
- 복잡한 reasoning을 구조화하고
- 정확도와 일반화 모두 향상시킬 수 있음을 보였다.
⚠️ 3. 한계점 (Limitations)
🔧 수작업 기반 문제 분해 | 문제 분해를 위해 사람이 직접 설계한 prompt가 필요함. 자동화 어려움. |
💬 일반화 어려움 | 분해 템플릿은 도메인에 따라 다르며, 범용 템플릿 사용은 성능 저하 가능성 있음. |
📏 Context 길이 제한 | Subproblem이 많아질수록 context 길이가 증가 → LLM의 입력 길이 한계 문제 야기 |
🎯 정답 전이 실패 가능 | 초기 subproblem에서 틀린 답이 나올 경우 후속 문제 해결에도 영향 발생 (에러 누적) |
🧠 High-level reasoning 미흡 | 분해 후 sub-task가 너무 쉬워져 상위 개념 reasoning을 요구하는 문제에선 성능 제한적 |
🌟 4. 주요 기여 (Contributions)
✅ 방법론적 기여 | CoT의 단점을 극복하기 위한 새로운 prompting 프레임워크 제안: 문제 분해 + 순차 해결 |
✅ 성능 기여 | 수학, 논리, 합성 일반화 등 복잡 reasoning task에서 SoTA 또는 대폭 개선된 성능 시현 |
✅ 범용성 기여 | 별도 학습 없이 (zero/few-shot 수준) 다양한 도메인에 prompt 조합만으로 적용 가능함을 보임 |
✅ 분석 기여 | Ablation 실험을 통해 문제 분해와 sequential solving 두 요소가 모두 중요함을 입증 |
✅ 학문적 기반 제공 | 이후 ReAct, Tree of Thoughts, Self-Refine 등 계획 기반 reasoning 연구의 전환점 역할 수행 |
📌 최종 요약
🔍 문제의식 | CoT 방식은 추론 단계가 길어질수록 성능 급감 (복잡 reasoning 실패) |
🧠 제안 | 문제를 subproblem으로 나누고, 쉬운 것부터 차례로 풀어가는 L2M prompting |
📈 효과 | 복잡한 reasoning 문제에서 높은 정확도 및 일반화 성능 |
⚠️ 한계 | 수작업 prompt 설계, context 길이 증가, 오답 cascade 가능성 |
🌟 기여 | reasoning 강화 prompting 기법의 방향성 제시 + 기존 prompting의 구조적 한계 보완 |
'인공지능 > 논문 리뷰 or 진행' 카테고리의 다른 글
Uncertainty estimation 관련 논문 정리 - 2 (0) | 2025.05.15 |
---|---|
Uncertainty estimation 관련 논문 정리 - 1 (2) | 2025.05.15 |
Decomposed Prompting: A Modular Approach for Solving Complex Tasks (0) | 2025.05.12 |
To Believe or Not to Believe Your LLM (0) | 2025.05.11 |
Uncertainty 논문 모아 보기 NAACL 2025 - 4 (0) | 2025.05.07 |