[λ Όλ¬Έλ¦¬λ·°] ReAct: Synergizing Reasoning and Acting in Language Models
π ICLR 2023
π‘ ν΄λΉ ν¬μ€ν°μ μ 리ν λ΄μ©μ μ κ° λ Όλ¬Έμ μ½κ³ μ΄ν΄ν νλ¦λλ‘ λ΄μ©μ μ¬κ΅¬μ±νμ¬ μμ±νμ΅λλ€. λ°λΌμ κΈμ μμ λͺ© λ° μμ λ²νΈλ μ€μ λ Όλ¬Έμ ꡬμ±κ³Ό λ€λ₯Ό μ μμ΅λλ€!
1. Introduction
1-1. Motivation
μΈκ° μ§λ₯μ λ νΉν νΉμ§ μ€ νλλ νλκ³Ό μΈμ΄μ μΆλ‘ μ μννκ² κ²°ν©νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νλ λ₯λ ₯μ΄λ€.
μ΅κ·Ό LLM μ°κ΅¬λ ν¬κ² λ κ°λλ‘ λ°μ ν΄ μλ€.
νλλ Chain-of-Thought (CoT)μ²λΌ λ¨κ³λ³ μΆλ‘ λ₯λ ₯μ κ·Ήλννμ¬ μνμ΄λ μμ λ¬Έμ λ₯Ό νΈλ μ°κ΅¬μ΄λ©°, λ€λ₯Έ νλλ ν
μ€νΈλ‘ λ³νλ μ£Όλ³ νκ²½μ κ΄μ°°νκ³ λ€μ νλμ μμΈ‘νλ μμ΄μ νΈ μ°κ΅¬μ΄λ€.
νμ§λ§ μ§κΈκΉμ§λ μΆλ‘ κ³Ό νλμ΄ μ΄λ»κ² μλμ§λ₯Ό λ΄λ©° κ²°ν©ν μ μλμ§μ λν μ°κ΅¬λ λΆμ‘±νλ€.
1-2. Limitations of Existing Methods
λ¨λ μΆλ‘ (Reason Only) λͺ¨λΈμ νκ³
Chain-of-Thought (CoT)μ κ°μ μΆλ‘ λ°©μμ λͺ¨λΈμ λ΄λΆ μ§μμΌλ‘λ§ μκ°νλ λΈλλ°μ€ ννμ΄λ€.
μ¦, μΈλΆ μΈκ³μ μ§μ§ μ 보μ μ°κ²°λμ΄ μμ§ μκΈ° λλ¬Έμ, μν©μ λ§κ² λ°μνκ±°λ μ§μμ μ λ°μ΄νΈνμ§ λͺ»νλ€.
μ΄λ‘ μΈν΄ μ¬μ€μ΄ μλ λ΄μ©μ μ§μ΄λ΄λ hallucinationμ΄λ μ΄κΈ° μΆλ‘ μ μ€μκ° μ°μμ μΌλ‘ μ νλλ λ¬Έμ κ° λ°μνλ€.λ¨λ νλ (Act Only) λͺ¨λΈμ νκ³
μνΈμμ© νκ²½μμ, νλλ§ μμΈ‘νλ λͺ¨λΈλ€μ λΉμ₯ λμμ νλμ κ²°μ νλ λ°λ§ κΈκΈνλ€.
μ΄λ¬ν λͺ¨λΈλ€μ λ κ³ μ°¨μμ μΈ λͺ©νλ‘€ ν₯ν΄ μΆμμ μΌλ‘ μΆλ‘ νκ±°λ, νλμ λ·λ°μΉ¨νκΈ° μν΄ μ΄μ μν©λ€μ κΈ°μ΅ν΄λλ working memoryλ₯Ό μ μ§νμ§ λͺ»νλ λ¨μ μ΄ μλ€.
1-3. Contributions
2. Methods
2-1. Synergizing Reasoing + Acting
κΈ°μ‘΄ AI μμ΄μ νΈκ° νκ²½κ³Ό μνΈμμ©νλ λ°©μ
νΉμ μκ° $t$μ μμ΄μ νΈλ νκ²½μΌλ‘λΆν° κ΄μΈ‘κ° $o_t \in \mathcal{O}$λ₯Ό λ°κ³ , μ£Όμ΄μ§ λ¬Έλ§₯ $c_t$μ λ°λΌ policy $\pi(a_t|c_t)$λ₯Ό κΈ°λ°μΌλ‘ νλ $a_t \in \mathcal{A}$λ₯Ό μ·¨νλ€.
μ¬κΈ°μ λ¬Έλ§₯ $c_t$λ κ³Όκ±°μ λͺ¨λ κ΄μΈ‘κ³Ό νλμ κΈ°λ‘, μ¦ $c_t = (o_1, a_1, \dots, o_{t-1}, a_{t-1}, o_t)$μ μλ―Ένλ€.
μ£Όμ΄μ§ λ¬Έλ§₯ $c_t$λ§ λ³΄κ³ λ°λ‘ λ€μ νλ $a_t$λ₯Ό κ²°μ νλ κ³Όμ μ λ§€μ° λ³΅μ‘ν μΆλ‘ μ μꡬνκΈ° λλ¬Έμ νμ΅νκΈ°κ° μ΄λ ΅λ€.
ReActμ ν΅μ¬ μμ΄λμ΄
ReActμμλ μμ΄μ νΈκ° ν μ μλ νλ 곡κ°μ $\hat{\mathcal{A}} = \mathcal{A} \cup \mathcal{L}$λ‘ νμ₯νμλ€.
μ¬κΈ°μ $\mathcal{L}$μ μΈμ΄ 곡κ°μΌλ‘, κΈ°μ‘΄μ 물리μ μ΄κ±°λ μμ€ν
μ μΈ νλ $\mathcal{A}$μ μΈμ΄ κ³΅κ° $\mathcal{L}$μ μΆκ°ν κ²μ΄λ€.
μ΄ μΈμ΄ 곡κ°μμμ νλ $\hat{a}_t \in \mathcal{L}$μ λ
Όλ¬Έμμλ μκ° λλ μΆλ‘ κ³Όμ (reasoning trace)μ΄λΌκ³ λΆλ₯Έλ€.
μ°λ¦¬κ° μλ μΌλ°μ μΈ νλμ λ²νΌμ λλ₯΄κ±°λ κ²μμ νλ λ± νκ²½μ μν₯μ λ―ΈμΉκ³ μλ‘μ΄ κ΄μΈ‘κ°μ κ°μ Έμ¨λ€. νμ§λ§ μΈμ΄ 곡κ°μμμ νλμΈ μκ°μ, μΈλΆ νκ²½μ μν₯μ μ£Όμ§ μκΈ° λλ¬Έμ νκ²½μΌλ‘λΆν° λμμ€λ κ΄μΈ‘κ°μ΄ μλ€.
λμ , μκ°μ νμ¬κΉμ§μ μν© $c_t$λ₯Ό λΆμνμ¬ μ μ©ν μ 보λ₯Ό ꡬμ±νκ³ , μμ΄μ νΈμ λ΄λΆ λ¬Έλ§₯μ $c_{t+1} = (c_t, \hat{a}_t)$λ‘ μ
λ°μ΄νΈνμ¬ μμΌλ‘ λ λμ μΆλ‘ κ³Ό νλμ ν μ μλλ‘ λλ μν μ νλ€.
μ½κ² μ€λͺ ν΄μ μκ°μ κ³νμ μΈμ°κ³ , κ΄μΈ‘λ μ 보μμ ν΅μ¬μ λ½μλ΄κ³ , μ§ν μν©μ μΆμ νλ λ± λ€μν μν μ μννλ μΌμ’ μ νλμ΄λΌκ³ μκ°νλ©΄ λλ€.
ReActλ λ¬Έμ μ μ±κ²©μ λ°λΌ μκ°μ μΌλ§λ μμ£Ό ν μ§ μ μ°νκ² μ‘°μ νλ€.
볡μ‘ν μ§λ¬Έμ λν λ΅λ³κ°μ΄ μΆλ‘ μ΄ μ€μν μμ
μμλ ν λ¨κ³λ§λ€ μ μ€ν΄μΌ νλ―λ‘, [μκ° β νλ β κ΄μ°°] μμλ₯Ό λ§€λ² λ²κ°μ κ°λ©° μ΄μ΄νκ² λ°λ³΅νλλ‘ νμλ€.
κ²μκ³Ό κ°μ΄ μμ¬κ²°μ μ΄ μ€μν μμ
μμλ μ¬λ¬ λ²μ νλμ λΉ λ₯΄κ² ν΄μΌ ν λκ° λ§λ€. λ°λΌμ λ§€λ² μκ°ν기보λ€λ, λͺ¨λΈμ΄ μ€μ€λ‘ νλ¨νμ¬ κΌ νμν μκ°μλ§ λμλμ μμμ μκ°νλλ‘ μ€μ νμλ€.
ReActμ μ₯μ
- Intuitive and easy to design: μ¬λμ΄ λ¬Έμ λ₯Ό ν λ λ¨Έλ¦ΏμμΌλ‘ νλ μκ°μ κ·Έλ₯ μμ°μ΄λ‘ μ μ΄μ μμλ‘ μ£Όλ©΄ λκΈ° λλ¬Έμ, μ§κ΄μ μ΄λ€.
- General and flexible: μκ°μ ννμ΄ μμ λ‘κ³ μΈμ μκ°ν μ§ μ μ°νκ² μ ν μ μκΈ° λλ¬Έμ, μ ν λ€λ₯Έ μ±κ²©μ taskμ λ²μ©μ μΌλ‘ μ¬μ©ν μ μλ€.
- Performant and robust: 1~6κ°μ μμλ§ λ³΄κ³ λ μ²μ 보λ λ¬Έμ λ₯Ό μ νΌλ€.
- Human aligned and controllable: λͺ¨λΈμ΄ λ¨μν μ λ΅κ³Ό νλμ λ±μ΄λ΄λ κ² μλλΌ, μΆλ‘ κ³Όμ μ λͺ¨λ 보μ¬μ€λ€. λλΆμ λͺ¨λΈμ΄ λ§κ² μκ°νκ³ μλμ§ μ½κ² κ²μ¬ν μ μμΌλ©°, λͺ¨λΈμ΄ μλͺ»λ μκ°μ ν λ μ¬λμ΄ μ€κ°μ κ°μ ν΄ κ·Έ μκ°μ κ³ μΉ μλ μλ€.
2-2. Task Setup
Domains
μ§μ κ²μκ³Ό μΆλ‘ μ΄ λͺ¨λ νμμ μΈ λ κ°μ§ λ²€μΉλ§ν¬λ₯Ό μ μ νλ€.
HotPot-QA: λ κ° μ΄μμ μν€νΌλμ λ¬Έμλ₯Ό λ°νμΌλ‘ μΆλ‘ ν΄μΌ μ λ΅μ μ°Ύμ μ μλ multi-hop μ§μμλ΅ taskμ΄λ€.
FEVER: μ£Όμ΄μ§ μ£Όμ₯μ΄ μ¬μ€μΈμ§ (SUPPORTS), κ±°μ§μΈμ§ (REFUTES), νΉμ μ λ³΄κ° λΆμ‘±νμ§ (NOT ENOUGH INFO)λ₯Ό κ²μ¦νλ taskμ΄λ€.
Action Space
μ¬λμ΄ μΈν°λ· μν€νΌλμλ₯Ό κ²μνλ λ°©μμ λͺ¨λ°©νμ¬, λͺ¨λΈμ΄ μ¬μ©ν μ μλ 3κ°μ§ νλ λͺ λ Ήμ΄ APIλ₯Ό μ μνλ€.
search[entity]: μν€νΌλμ λ¬Έμκ° μμ κ²½μ° entityμ μΌμΉνλ 첫 5λ¬Έμ₯μ λ°ννκ±°λ, λ¬Έμκ° μμ κ²½μ° entityμ μ μ¬ν μμ 5κ°μ κ²μμ΄λ₯Ό μ μνλ€.
lookup[string]: νμ¬ νμ΄μ§ λ΄μμ string λ¬Έμμ΄μ΄ ν¬ν¨λ λ€μ λ¬Έμ₯μ μ°Ύλλ€. (μΉ λΈλΌμ°μ μ
Ctrl+FκΈ°λ₯κ³Ό λμΌ)finish[answer]: λμΆλ μ΅μ’ μ λ΅μ μ μΆνκ³ νμμ μ’ λ£νλ€.
2-3. Prompting Strategy & Advanced Methods
ReAct Prompting
κΈ°μ‘΄μ ν둬νν μ λ¨μν μ§λ¬Έμ λμ Έμ κ³§λ°λ‘ λ΅μ μꡬνκ±°λ, βμ°¨κ·Όμ°¨κ·Ό λ¨κ³λ³λ‘ μκ°ν΄λ΄βλΌλ©° λ¨Έλ¦Ώμ μκ° κ³Όμ λ§ μ λλ‘ μ λνλ€.
λ°λ©΄, ReActμμλ ν둬ννΈ μμ μ¬λμ΄ μ€μ λ‘ λ¬Έμ λ₯Ό νΈλ λ°©μμΈ [μκ° β νλ β κ΄μ°°]μ΄λΌλ 3λ¨κ³κ° λ°λ³΅μ μΌλ‘ μννλ few-shot μμλ₯Ό ν¬ν¨νμλ€.
μ¬κΈ°μ μκ°μ μ§λ¬Έμ μͺΌκ°κ³ , κ΄μ°°λ μ 보μμ ν΅μ¬μ μΆμΆνλ©°, λ€μ κ²μ λ°©ν₯μ μλ΄νλ μν μ νλ€.
Baseline
ReActμ ν¨κ³Όλ₯Ό μ¦λͺ νκΈ° μν΄ λ€μκ³Ό κ°μ λμ‘°κ΅°μ μ€μ νλ€.
- Standard prompting: μκ°, νλ, κ΄μ°° κ³Όμ μμ΄ μ λ΅λ§ μꡬνλ ν둬ννΈ λ°©μ
- CoT prompting: νλκ³Ό κ΄μ°° κ³Όμ μ λ°°μ νκ³ , μΈλΆ κ²μ μμ΄ λ΄λΆ μ§μμΌλ‘ μκ°λ§ μννλ ν둬ννΈ λ°©μ
- Acting-only prompt: μκ° κ³Όμ μ λ°°μ νκ³ , μΈλΆ κ²μ νλλ§ μννλ ν둬ννΈ λ°©μ
λ
Όλ¬Έμμλ κΈ°μ‘΄ CoTμ μ±λ₯μ 보μνκΈ° μν΄, CoT-SC (CoT with Self-Consistency) κΈ°λ²μ μΆκ° λΉκ΅κ΅°μΌλ‘ ꡬμ±νμλ€.
λ¨μΌ μΆλ‘ κ²½λ‘λ§ νμνλ κΈ°μ‘΄ λ°©μκ³Ό λ¬λ¦¬, CoT-SCμμλ temperature κ°μ 0.7λ‘ μ€μ νμ¬ λμΌν μ§λ¬Έμ λν΄ 21κ°μ λ€μν μΆλ‘ κ²½λ‘λ₯Ό μνλ§νλ€.
μ΄ν μμ±λ λ΅λ³λ€ μ€ κ°μ₯ λ§μ΄ λ±μ₯ν λ΅μ λ€μκ²°λ‘ μ±ννλ€.
Combining Internal and External Knowledge
ReActλ μ¬μ€ νμΈμ κ°νμ§λ§ μ μ°μ±μ΄ λ¨μ΄μ§ μ μκ³ , CoTλ μΆλ‘ ꡬ쑰λ μ μ‘μ§λ§ hallucinationμ μ·¨μ½νλ€.
μ΄λ₯Ό 보μνκΈ° μν΄, λ Όλ¬Έμμλ ReActμ CoT-SC λ λ°©μμ λ²κ°μ μ¬μ©νλ heuristic witching μ λ΅μ μ μνλ€.
- ReAct β CoT-SC: μΈλΆ κ²μμ νλ€κ° λ무 λ§μ΄ ν€λ§€λ©΄, κ²μμ ν¬κΈ°νκ³ λͺ¨λΈμ λ΄λΆ μ§μμΌλ‘ μ ννλ λ°©μ
- CoT-SC β ReAct: λ¨Όμ λ΄λΆ μ§μμΌλ‘ λ΅μ μ¬λ¬ κ° λ΄λ³Έ λ€, λͺ¨λΈ μ€μ€λ‘ νμ μ΄ μμΌλ©΄ μΈλΆ κ²μμ ν΅ν΄μ ν©νΈλ₯Ό 체ν¬νλ λ°©μ
Finetuning
ReAct Prompting λ°©μμ κ±°λν λͺ¨λΈμμλ μ ν΅νμ§λ§, λΉκ΅μ μμ λͺ¨λΈλ€μ μμ λͺ κ°λ§ λ³΄κ³ μκ°κ³Ό νλμ λμμ νλ 볡μ‘ν ReAct λ°©μμ λ°λΌ νκΈ° νλ€μ΄νλ€.
λ°λΌμ λ Όλ¬Έμμλ κ±°λ λͺ¨λΈμ΄ ReAct λ°©μμ μ¬μ©ν΄ μ±κ³΅μ μΌλ‘ μ λ΅μ λ§ν νμ΄ κ³Όμ (trajectory) 3,000κ°λ₯Ό λͺ¨μμ, μμ λͺ¨λΈμ νμΈνλνμλ€κ³ νλ€.
μ€ν κ²°κ³Ό, κ²¨μ° 3,000κ°μ λ°μ΄ν°λ‘ νμΈνλλ 8B λͺ¨λΈ μ΄ μμ λ³΄λ€ 8λ°° ν° 62B λͺ¨λΈμ΄ μμλ§ λ³΄κ³ ν λλ³΄λ€ λ λ°μ΄λ μ±λ₯μ 보μλ€κ³ νλ€.
μ¬μ§μ΄ νμΈνλλ 62B λͺ¨λΈμ κ°μ₯ κ±°λν 540B λͺ¨λΈμ ν둬νν
μΌλ‘ μΈ λ보λ€λ μ±λ₯μ΄ λ°μ΄λ¬λ€κ³ νλ€.
κ²°λ‘ μ μΌλ‘ λ¨μν μ λ΅λ§ μΈμ°κ²λ νλ κ²μ΄ μλλΌ, μ€μ€λ‘ μκ°νκ³ λꡬλ₯Ό μ°λ λ°©λ²μ λ°°μ°λλ‘ νλ©΄ κ±°λν λͺ¨λΈλ§μ λ°μ΄λμ μ μλ€λ κ²μ μ¦λͺ ν κ²μ΄λ€.
μλ κ·Έλ¦Όμ κ° λ°©μμ μΆλ‘ κ²°κ³Όλ₯Ό 보μ¬μ€ κ²μ΄λ€.
2-4. Decision Making Tasks
μΈμ΄ κΈ°λ°μ 볡μ‘ν μνΈμμ© λ° μμ¬κ²°μ λ₯λ ₯μ νκ°νκΈ° μν΄ λ κ°μ§ νκ²½μ μΆκ°λ‘ λμ νλ€.
- ALFWorld: ν μ€νΈ κΈ°λ°μ κ°μ μ§μμΌ μν κ²μμΌλ‘, μ¬λ¬ νμ λͺ©νλ₯Ό μΈμ°κ³ μΆμ νλ λ₯λ ₯μ νκ°νλ€.
- WebShop: 118λ§ κ°μ μ€μ μλ§μ‘΄ μν λ°μ΄ν°λ₯Ό νμ©ν μΉ μΌν νκ²½μΌλ‘, λ Έμ΄μ¦κ° λ§μ μ€μ μΉ νκ²½μμμ νμ λ° κ²°μ λ₯λ ₯μ νκ°νλ€.
μμ μ§μμλ΅ taskμ λ¬λ¦¬, μμ¬κ²°μ taskλ μνν΄μΌ ν νλμ νμκ° ν¨μ¬ λ§λ€. λ°λΌμ λ§€λ² μκ°κ³Ό νλμ κ΅μ°¨νμ§ μκ³ , λͺ©νλ₯Ό μͺΌκ°κ±°λ μν©μ΄ λ³νλ κ°μ₯ μ€μν μκ°μλ§ λλ¬Έλλ¬Έ μκ°μ νλλ‘ ν둬ννΈλ₯Ό ꡬμ±νλ€.
3. Experiments
3-1. Comparison with different prompting methods
Table 1μ PaLM-540B λ² μ΄μ€ λͺ¨λΈμ μ¬μ©νμ¬, λ€μν ν둬νν λ°©μμ μ±λ₯μ λΉκ΅ν νμ΄λ€.
λͺ¨λΈμ λ΄λΆ μ§μκ³Ό μΈλΆ κ²μμ μνΈ λ³΄μμ μΌλ‘ κ²°ν©ν λ°©μ (ReAct β CoT-SC λλ CoT-SC β ReAct)μ΄ μ΅κ³ μ±λ₯μ κΈ°λ‘νλ€λ κ²μ νμΈν μ μλ€.
3-2. different the number of CoT-SC samples
Figure 2λ CoT-SCμμ μ μν νμλ₯Ό λ릴 λ μ±λ₯μ΄ μ΄λ»κ² λ³νλμ§ λ³΄μ¬μ£Όλ κ·Έλνμ΄λ€.
μμνκ² CoT-SCλ§ μ°λ κ²λ³΄λ€, ReActλ₯Ό κ²°ν©ν λ°©μλ€μ΄ μνλ§ νμμ μκ΄μμ΄ μΌκ΄λκ² ν¨μ¬ λμ μ±λ₯ 곑μ μ 그리λ κ²μ νμΈν μ μλ€.



