[AI Paper] π Tool Learning with Foundation Models
π Tool Learning with Foundation Models
π λ©ν μ 보
| νλͺ© | λ΄μ© |
|---|---|
| μ λͺ© | Tool Learning with Foundation Models |
| μ μ | Yujia Qin, Shengding Hu, Yankai Lin, Weize Chen, Ning Ding μΈ 40+ μ°κ΅¬μ |
| μμ | Tsinghua University, Renmin University, UIUC, NYU, CMU, Beijing University of Posts and Telecommunications |
| λ°ν | arXiv: 2304.08354 (April 2023) |
| μΆν | ACM Computing Surveys (2024) |
| GitHub | OpenBMB/BMTools, thunlp/ToolLearningPapers |
| μ ν | Survey Paper |
π― νμ€ μμ½
Foundation Modelμ΄ μΈλΆ λꡬ(API, κ²μμμ§, κ³μ°κΈ° λ±)λ₯Ό νμ©νμ¬ λ³΅μ‘ν λ¬Έμ λ₯Ό ν΄κ²°νλ “Tool Learning” ν¨λ¬λ€μμ λν μ΅μ΄μ 체κ³μ μΈ μ’ ν© μλ² μ΄λ‘, νλ μμν¬ κ΅¬μ±μμ, νμ΅ λ°©λ²λ‘ , μΌλ°ν μ λ΅ λ° λ―Έν΄κ²° λ¬Έμ λ₯Ό ν¬κ΄μ μΌλ‘ μ 리ν¨.
π μ°κ΅¬ λ°°κ²½ λ° λκΈ°
μΈκ°μ λꡬ μ¬μ© λ₯λ ₯
- μΈκ°μ λꡬλ₯Ό μ°½μ‘°νκ³ νμ©νλ νμν λ₯λ ₯μ 보μ
- λꡬ μ¬μ©μ ν΅ν΄ μ 체μ νκ³ κ·Ήλ³΅ λ° μλ‘μ΄ μμ νν κ°λ₯
- μΈμ§μ κ΄μ μμ λꡬλ νΉμ κΈ°λ₯μ κ°μ§ κ°μ²΄λ‘ μΈμλλ©°, λͺ©ν μ§ν₯μ μμ° κ΄μ°°μ ν΅ν΄ μ¬μ©λ² μ΅λ
Foundation Modelμ λ±μ₯
- λκ·λͺ¨ λ°μ΄ν°λ‘ νμ΅λ Foundation Modelμ κ΄λ²μν λλ©μΈ μ§μ 보μ
- μ μ ν μ‘°μ μ μμ¬κ²°μ λ° μ₯κΈ° κ³ν μν κ°λ₯
- λ°μ΄λ μΆλ‘ λ₯λ ₯μΌλ‘ νλ κ²°κ³Ό μμΈ‘ λ° ν©λ¦¬μ κ²°μ κ°λ₯
Tool Learningμ νμμ±
- Foundation Modelλ§μΌλ‘λ ν΄κ²°νκΈ° μ΄λ €μ΄ λ¬Έμ μ‘΄μ¬:
- μ΅μ μ 보 μ κ·Ό: νμ΅ λ°μ΄ν° κΈ°μ€μΌ μ΄ν μ 보
- μ νν κ³μ°: μνμ μ°μ°μ μ λ°λ
- μ€μκ° λ°μ΄ν°: λ μ¨, μ£Όκ° λ± λμ μ 보
- μ λ¬Έ λꡬ νμ©: μ½λ μ€ν, λ°μ΄ν°λ² μ΄μ€ 쿼리
μ°κ΅¬ λκΈ°
- Tool Learning λΆμΌμ 체κ³μ μ΄ν΄ λΆμ‘±
- ν΅μ¬ κ³Όμ , κΈ°ν, λ―Έλ μ°κ΅¬ λ°©ν₯μ λν μ’ ν©μ μ‘°λ§ νμ
- Foundation Modelκ³Ό λꡬ ν΅ν©μ μ μ¬λ ₯ νꡬ
π‘ ν΅μ¬ μμ΄λμ΄
Tool Learningμ μ μ
Tool Learning with Foundation Modelsλ μ λ¬Ένλ λꡬμ Foundation Modelμ κ°μ μ κ²°ν©νμ¬ λ¬Έμ ν΄κ²°μμ ν₯μλ μ νλ, ν¨μ¨μ±, μλνλ₯Ό λ¬μ±νλ ν¨λ¬λ€μ
ν΅μ¬ κ°λ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Tool Learning β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Foundation Model + External Tools = Enhanced AI β
β β
β β’ λͺ¨λΈμ μ§μ + λꡬμ κΈ°λ₯ = μλμ§ ν¨κ³Ό β
β β’ λͺ¨λΈμ μΆλ‘ + λꡬμ μ€ν = μ€μ§μ κ²°κ³Ό β
β β’ λͺ¨λΈμ κ³ν + λꡬμ μ λ¬Έμ± = 볡μ‘ν λ¬Έμ ν΄κ²° β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
λΆλ₯ 체κ³
1. λꡬ μ νμ λ°λ₯Έ λΆλ₯
| μ ν | μ€λͺ | μμ |
|---|---|---|
| Physical Tools | μ€μ μΈκ³μ μνΈμμ©νλ λꡬ | λ‘λ΄ ν, μΌμ, μ‘μΆμμ΄ν° |
| Cognitive Tools | μΈμ§ κΈ°λ₯μ νμ₯νλ λꡬ | κ³μ°κΈ°, κ²μμμ§, λ²μκΈ° |
| Virtual Tools | λμ§νΈ νκ²½μ μννΈμ¨μ΄ λꡬ | API, μ½λ λΌμ΄λΈλ¬λ¦¬, GUI |
2. νμ΅ μ κ·Όλ²μ λ°λ₯Έ λΆλ₯
| μ κ·Όλ² | μ€λͺ |
|---|---|
| Tool-Augmented Learning | κΈ°μ‘΄ λͺ¨λΈμ λꡬ μ¬μ© λ₯λ ₯ μΆκ° |
| Tool-Oriented Learning | λꡬ μ¬μ©μ μ΅μ νλ λͺ¨λΈ νμ΅ |
3. νμ΅ λ°©λ²μ λ°λ₯Έ λΆλ₯
| λ°©λ² | νΉμ§ |
|---|---|
| Prompting-based | κ³ μ λ λͺ¨λΈμ In-context Learning νμ© |
| Training-based | μ§λ νμ΅μΌλ‘ λͺ¨λΈ νλΌλ―Έν° μ΅μ ν |
ποΈ νλ μμν¬
4κ°μ§ ν΅μ¬ ꡬμ±μμ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Tool Learning Framework β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββ ββββββββββββββββ β
β β User βββββββββΆβ Controller β β
β β β β (Foundation β β
β βInstructionβ β Model) β β
β ββββββββββββ ββββββββ¬ββββββββ β
β β β
β Plan & Execute β
β β β
β βΌ β
β ββββββββββββ ββββββββββββββββ β
β β Tool Set βββββββββΆβ Environment β β
β β β β β β
β β APIs β β Results β β
β β Plugins β β Feedback β β
β ββββββββββββ ββββββββ¬ββββββββ β
β β β
β βΌ β
β ββββββββββββββββ β
β β Perceiver ββββββββΆ Controller β
β β β (feedback) β
β β Summarize β β
β β Feedback β β
β ββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
1. Controller (컨νΈλ‘€λ¬)
- μν : Tool Learning νλ μμν¬μ “λλ”
- ꡬν: Foundation Model κΈ°λ°
- ν΅μ¬ κΈ°λ₯:
- μ¬μ©μ μλ νμ
- μ¬μ© κ°λ₯ν λꡬμ μλμ κ΄κ³ μ΄ν΄
- μ μ ν λꡬ μ νμ μν κ³ν μ립
- 볡μ‘ν νμ€ν¬μ μλΈνμ€ν¬ λΆν΄
- μΆλ‘ μ ν΅ν λμ κ³ν μ‘°μ
2. Perceiver (μΈμ§κΈ°)
- μν : μ¬μ©μ λ° νκ²½ νΌλλ°± μ²λ¦¬
- ν΅μ¬ κΈ°λ₯:
- νΌλλ°± μμ§ λ° μμ½
- μμ½λ μ 보λ₯Ό Controllerμ μ λ¬
- κ³νμ ν¨κ³Όμ± νλ¨ μ§μ
- μ€ν μ€ μ΄μ μν© κ°μ§
- λ©ν°λͺ¨λ¬ μ§μ: ν μ€νΈ, λΉμ , μ€λμ€ λ± λ€μν λͺ¨λ¬λ¦¬ν° μ²λ¦¬
3. Tool Set (λꡬ μ§ν©)
- μν : νμ€ν¬ μνμ μν΄ νΈμΆ κ°λ₯ν λꡬλ€μ μ§ν©
- μμ: κ²μ API, κ³μ°κΈ°, λ²μκΈ°, μ½λ μ€νκΈ°, λ°μ΄ν°λ² μ΄μ€ 쿼리
4. Environment (νκ²½)
- μν : λꡬ μ€νμ΄ μ΄λ£¨μ΄μ§λ 곡κ°
- κΈ°λ₯:
- λꡬ μ€ν κ²°κ³Ό μμ±
- Perceiverμ νΌλλ°± μ 곡
Tool μ ν λΆλ₯
API κΈ°λ° λꡬ
| μΉ΄ν κ³ λ¦¬ | μμ | κΈ°λ₯ |
|---|---|---|
| κ²μ API | Google Search, Bing, Wikipedia | μ 보 κ²μ |
| κ³μ° API | Wolfram Alpha, Calculator | μνμ κ³μ° |
| λ²μ API | Google Translate, DeepL | μΈμ΄ λ²μ |
| μ§μ API | Knowledge Base, QA System | μ§μ 쿼리 |
| μ½λ μ€ν | Python Interpreter | μ½λ μ€ν λ° κ²°κ³Ό λ°ν |
물리μ λꡬ
- λ‘λ΄ μ‘°μ (Embodied AI)
- μΌμ λ° μ‘μΆμμ΄ν°
- IoT λλ°μ΄μ€
Learning λ°©λ² λΆλ₯
1. Learning from Demonstrations (μμ° νμ΅)
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Learning from Demonstrations β
βββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β (1) In-Context Learning (ICL) β
β β’ ν둬ννΈμ λꡬ μ¬μ© μμ ν¬ν¨ β
β β’ λͺ¨λΈ νλΌλ―Έν° λ³κ²½ μμ β
β β’ Few-shot νμ΅ β
β β
β (2) Full Model Fine-tuning β
β β’ λꡬ μ£Όμμ΄ λ¬λ¦° λ°μ΄ν°μ
μΌλ‘ νμ΅ β
β β’ μ 체 λͺ¨λΈ νλΌλ―Έν° μ
λ°μ΄νΈ β
β β’ λμ κ³μ° λΉμ© β
β β
β (3) Parameter-Efficient Fine-tuning (PEFT) β
β β’ LoRA, Adapter λ± νμ© β
β β’ μΌλΆ νλΌλ―Έν°λ§ μ
λ°μ΄νΈ β
β β’ ν¨μ¨μ μΈ νμ΅ β
β β
β λͺ©ν: Behavioral Cloning β
β β’ μ λ¬Έκ°μ νλ λͺ¨λ°© β
β β’ νΉμ μ
λ ₯μ λν νλ νμ΅ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
2. Learning from Feedback (νΌλλ°± νμ΅)
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Learning from Feedback β
βββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β (1) Reinforcement Learning (RL) β
β β’ μνΈμμ© κΈ°λ° νΌλλ°±μΌλ‘ νμ΅ β
β β’ μμ°¨μ , μ μμ λꡬ μ¬μ© νμ΅ β
β β’ λμ νμ΅ κ°λ₯ β
β β
β (2) RLHF (Reinforcement Learning from β
β Human Feedback) β
β β’ μΈκ° νΌλλ°± κΈ°λ° λ³΄μ λͺ¨λΈ νμ΅ β
β β’ PPO λ± RL μκ³ λ¦¬μ¦μΌλ‘ μ΅μ ν β
β β’ WebGPT: κ²μ μμ§ μ‘°μ μ΅μ ν β
β β
β (3) Execution Feedback β
β β’ λꡬ μ€ν κ²°κ³Όλ₯Ό νΌλλ°±μΌλ‘ νμ© β
β β’ μλνλ νμ΅ κ°λ₯ β
β β’ λ μ΄λΈ λΉμ© μ κ° β
β β
β μ₯μ : μ μ μμ°μ νκ³ κ·Ήλ³΅ β
β λ¨μ : μΈκ° νΌλλ°±μ λΉμ©μ΄ λκ³ μ§μ° λ°μ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
μΌλ° μ μ°¨ (General Procedure)
1. User Instruction (μ¬μ©μ μ§μ)
β
βΌ
2. Intent Understanding (μλ μ΄ν΄)
- μ¬μ©μκ° μνλ κ² νμ
- μ묡μ μꡬμ¬ν μΆλ‘
β
βΌ
3. Tool Understanding (λꡬ μ΄ν΄)
- λꡬμ κΈ°λ₯κ³Ό μ¬μ©λ² νμ
- μ μ ν λꡬ λ§€μΉ
β
βΌ
4. Task Planning (νμ€ν¬ κ³ν)
- 볡μ‘ν νμ€ν¬ λΆν΄
- μλΈνμ€ν¬ μμ κ²°μ
β
βΌ
5. Tool Selection (λꡬ μ ν)
- κ° μλΈνμ€ν¬μ μ ν©ν λꡬ μ ν
- λꡬ νλΌλ―Έν° μ€μ
β
βΌ
6. Task Execution (νμ€ν¬ μ€ν)
- μ νλ λꡬ νΈμΆ
- κ²°κ³Ό μμ§
β
βΌ
7. Response Generation (μλ΅ μμ±)
- μ€ν κ²°κ³Ό μ’
ν©
- μ¬μ©μμκ² μ΅μ’
μλ΅ μ λ¬
π μ£Όμ μ°κ΅¬ λΉκ΅
λνμ μΈ Tool Learning μ°κ΅¬
| μ°κ΅¬ | λ°ν | ν΅μ¬ κΈ°μ¬ | νμ΅ λ°©λ² |
|---|---|---|---|
| Toolformer | NeurIPS 2023 | μκΈ° μ§λ νμ΅μΌλ‘ API νΈμΆ μμ /λ°©λ² νμ΅ | Self-supervised |
| ReAct | ICLR 2023 | μΆλ‘ (Reasoning)κ³Ό νλ(Acting)μ κ΅μ°¨ | Prompting |
| Gorilla | NeurIPS 2024 | API νΈμΆ μ νλ ν₯μ, Retrieval-augmented | Fine-tuning |
| WebGPT | – | RLHFλ‘ κ²μ μμ§ νμ© μ΅μ ν | RLHF |
| HuggingGPT | NeurIPS 2023 | ChatGPT + Hugging Face λͺ¨λΈ ν΅ν© | Prompting |
| ToolLLM | – | μ€ν λλ©μΈ API νμ© | Fine-tuning |
| API-Bank | – | RESTful API νμ© λ²€μΉλ§ν¬ | Benchmark |
νμ΅ λ°©λ²λ³ λΉκ΅
| λ°©λ² | μ₯μ | λ¨μ |
|---|---|---|
| In-Context Learning | μ¦μ μ μ© κ°λ₯, νλΌλ―Έν° λ³κ²½ μμ | 컨ν μ€νΈ κΈΈμ΄ μ ν, 볡μ‘ν λꡬμ λΆμ ν© |
| Fine-tuning | λμ μ±λ₯, 볡μ‘ν λꡬ νμ΅ κ°λ₯ | λμ κ³μ° λΉμ©, λ°μ΄ν° νμ |
| RLHF | μΈκ° μ νΈλ λ°μ, μμ μ± ν₯μ | λ μ΄λΈ λΉμ© λμ, μ§μ° λ°μ |
| Execution Feedback | μλν κ°λ₯, λΉμ© ν¨μ¨μ | νΌλλ°± νμ§μ μμ‘΄ |
μ€ν κ²°κ³Ό μμ½
- λ Όλ¬Έμμ 18κ°μ λνμ μΈ λκ΅¬λ‘ μ€ν μν
- ChatGPTκ° κ°λ¨ν ν둬νν λ§μΌλ‘ ν¨κ³Όμ μΈ λꡬ μ¬μ© μμ°
- BMTools νλ μμν¬λ₯Ό ν΅ν μ€νμμ€ κ΅¬ν μ 곡
- Foundation Modelμ μΌλ° μμ΄μ νΈλ‘μμ μ μ¬λ ₯ μ μ¦
πͺ κ°μ
λ Όλ¬Έμ κ°μ
- ν¬κ΄μ μΈ μλ² μ΄
- Tool Learning λΆμΌμ μ΅μ΄ 체κ³μ μ’ ν© μλ² μ΄
- μΈμ§κ³ΌνλΆν° μ€μ ꡬνκΉμ§ νλμ κ΄μ μ 곡
- λͺ
νν νλ μμν¬ μ μ
- 4κ°μ§ ν΅μ¬ ꡬμ±μμ(Controller, Perceiver, Tool Set, Environment) μ μ
- μ¬μ¬μ© κ°λ₯ν μΆμν μ 곡
- λ€μν νμ΅ λ°©λ²λ‘ μ 리
- μμ° νμ΅ vs νΌλλ°± νμ΅ λΆλ₯
- κ° λ°©λ²μ μ₯λ¨μ λͺ νν λΆμ
- μ€μ©μ μΈ μ€ν
- 18κ° λκ΅¬λ‘ μ€μ μ€ν μν
- μ€νμμ€ κ΅¬ν(BMTools) μ 곡
- λ―Έλ μ°κ΅¬ λ°©ν₯ μ μ
- λͺ νν μ€ν λ¬Έμ μ μ
- νμ μ°κ΅¬λ₯Ό μν λ‘λλ§΅ μ 곡
Tool Learning ν¨λ¬λ€μμ κ°μ
- νμ₯μ±: μλ‘μ΄ λꡬ μΆκ°λ‘ λͺ¨λΈ λ₯λ ₯ νμ₯
- μ νμ±: μ λ¬Έ λꡬ νμ©μΌλ‘ μ λ°ν κ²°κ³Ό νλ
- μ΅μ μ±: μ€μκ° μ 보 μ κ·Ό κ°λ₯
- ν¨μ¨μ±: 볡μ‘ν κ³μ°μ μΈλΆ λꡬμ μμ
- ν¬λͺ μ±: λꡬ νΈμΆ κΈ°λ‘μΌλ‘ μμ¬κ²°μ κ³Όμ μΆμ κ°λ₯
β οΈ νκ³μ λ° μ€ν λ¬Έμ
ν둬νν λ°©λ²μ νκ³
- λͺ¨λΈ μμ‘΄μ±
- μκ±°λ λ₯λ ₯μ΄ λΆμ‘±ν λͺ¨λΈμ ν둬ννΈλ₯Ό μ μ΄ν΄νμ§ λͺ»ν¨
- 컨ν
μ€νΈ κΈΈμ΄ μ ν
- λ§μ 볡μ‘ν λꡬ μ€λͺ μ ν둬ννΈμ ν¬ν¨νκΈ° μ΄λ €μ
- λꡬ μ§ν© νμ₯ μ λͺ¨λ λꡬλ₯Ό ν둬ννΈμ ν¬ν¨ λΆκ°λ₯
μ£Όμ μ€ν λ¬Έμ
1. μ λ’°ν μ μλ λꡬ μ¬μ© (Trustworthy Tool Use)
β’ κ³ μν μλ리μ€μμμ λ°°ν¬ μ μ μ€ν κ³ λ € νμ
β’ λꡬ μ¬μ©μ μμ μ± λ³΄μ₯ λ©μ»€λμ¦ λΆμ¬
β’ μλͺ»λ λꡬ μ ν/μ¬μ©μ μνμ±
2. λꡬ μμ± (Tool Creation)
β’ AIκ° μλ‘μ΄ λꡬλ₯Ό μ°½μ‘°ν μ μλκ°?
β’ μΈκ° κ³ μ μ λ₯λ ₯μ΄λΌ μ¬κ²¨μ‘λ μμμ λν λμ
β’ μμ¨μ λꡬ κ°λ° κ°λ₯μ± νꡬ
3. κ°μΈνλ λꡬ νμ΅ (Personalized Tool Learning)
β’ μ¬μ©μ μ νΈλμ λꡬ μ‘°μμ μ λ ¬
β’ λ°μνμμ μ μ μ μμ€ν
μΌλ‘μ μ ν
β’ νλΌμ΄λ²μ λ³΄νΈ λ¬Έμ
4. μ§μ μΆ©λ (Knowledge Conflicts)
β’ λꡬ κ²°κ³Όμ λͺ¨λΈ λ΄λΆ μ§μμ μΆ©λ
β’ λΆμ ννκ³ μ λ’°ν μ μλ μμΈ‘ μ΄λ κ°λ₯
β’ μ 보 ν΅ν© μ λ΅ νμ
5. μ¬μ©μ μλμ λꡬ μ°κ²° (Linking Intent with Tools)
β’ λͺ
λ Ήμ΄λΏ μλλΌ λ§₯λ½κ³Ό μνλ κ²°κ³Ό μ΄ν΄ νμ
β’ ν¨κ³Όμ μΈ λꡬ μ¬μ©μ μν μ κ΅ν κ³ν/μΆλ‘ νμ
6. μΌλ°ν (Generalization)
β’ μ μ¬μ μΌλ‘ 무νν λꡬλ₯Ό νλμ© νμ΅νλ κ²μ λΉνμ€μ
β’ μλ‘μ΄ λꡬμ λν μΌλ°ν λ₯λ ₯ νμ
β’ Zero-shot/Few-shot λꡬ μ¬μ© λ₯λ ₯
μΆκ°μ μΈ κ³Όμ
| κ³Όμ | μ€λͺ |
|---|---|
| λꡬ μ¬μ© μΆλ‘ | 볡μ‘ν μΆλ‘ μ΄ νμν λꡬ μ ν |
| λκ΅¬λ³ νν | κ° λꡬμ νΉνλ νν νμ΅ |
| λ€μ€ λꡬ μ‘°μ¨ | μ¬λ¬ λꡬμ μ‘°νλ‘μ΄ μ¬μ© |
| μ€λ¦¬μ ν¨μ | μ§μ μμ₯, μμ μ±, μ€μ© κ°λ₯μ± |
| Embodied Learning | 물리μ νκ²½μμμ λꡬ νμ΅ |
π κ΄λ ¨ λ Όλ¬Έ
ν΅μ¬ κ΄λ ¨ μ°κ΅¬
| λ Όλ¬Έ | μ°λ | ν΅μ¬ κΈ°μ¬ | κ΄κ³ |
|---|---|---|---|
| [[π Toolformer]] | 2023 | LLMμ μκΈ° μ§λ λꡬ νμ΅ | κΈ°μ΄ μ°κ΅¬ |
| [[π ReAct – Synergizing Reasoning and Acting]] | 2023 | μΆλ‘ -νλ κ΅μ°¨ ν¨λ¬λ€μ | νλ μμν¬ |
| [[π Gorilla]] | 2024 | API νΈμΆ μ νλ ν₯μ | μμ© μ°κ΅¬ |
| [[π Chain-of-Thought Prompting]] | 2022 | λ¨κ³λ³ μΆλ‘ μ λ | κΈ°λ° κΈ°μ |
λΆλ₯λ³ κ΄λ ¨ μ°κ΅¬
Planning & Reasoning
- ReAct: Reasoningκ³Ό Actingμ ν΅ν©
- ART: μλ λ€λ¨κ³ μΆλ‘ λ° λꡬ μ¬μ©
- Chain-of-Thought: 볡μ‘ν μΆλ‘ μ μν ν둬νν
Tool Integration
- ToolkenGPT: λꡬ μλ² λ©μΌλ‘ Frozen LLM μ¦κ°
- HuggingGPT: ChatGPT + Hugging Face μνκ³
- TaskMatrix: μκ°μ λꡬμ LLM μ°κ²°
Benchmarks & Datasets
- ToolQA: μΈλΆ λꡬλ₯Ό νμ©ν QA λ°μ΄ν°μ
- API-Bank: RESTful API λ²€μΉλ§ν¬
- ToolBench: λꡬ νμ΅ νκ° λ²€μΉλ§ν¬
Training Methods
- WebGPT: RLHF κΈ°λ° κ²μ μ΅μ ν
- TRICE: μ€ν νΌλλ°±μΌλ‘ LLM κ°μ
π» μ€λ¬΄ μ μ© ν¬μΈνΈ
1. AI μμ΄μ νΈ κ°λ°
# κΈ°λ³Έμ μΈ Tool Learning ꡬ쑰 μμ
class ToolLearningAgent:
def __init__(self, controller_model, tools):
self.controller = controller_model # Foundation Model
self.perceiver = Perceiver()
self.tools = tools # Tool Set
def process(self, user_instruction):
# 1. Intent Understanding
intent = self.controller.understand_intent(user_instruction)
# 2. Task Planning
plan = self.controller.create_plan(intent, self.tools)
# 3. Execute with Feedback Loop
for subtask in plan:
tool = self.select_tool(subtask)
result = tool.execute(subtask.params)
feedback = self.perceiver.process(result)
self.controller.update_plan(feedback)
# 4. Response Generation
return self.controller.generate_response()
2. λꡬ μ€κ³ κ°μ΄λλΌμΈ
| μμΉ | μ€λͺ |
|---|---|
| λͺ νν μΈν°νμ΄μ€ | μ λ ₯/μΆλ ₯ νμ λͺ νν μ μ |
| μμΈν μ€λͺ | λꡬμ κΈ°λ₯κ³Ό μ¬μ©λ² λ¬Έμν |
| μλ¬ νΈλ€λ§ | μ€ν¨ μ μ μ©ν μλ¬ λ©μμ§ λ°ν |
| μΌκ΄λ μλ΅ | μμΈ‘ κ°λ₯ν μΆλ ₯ νμ μ μ§ |
3. νμ΅ μ λ΅ μ ν
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β νμ΅ μ λ΅ μ ν κ°μ΄λ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β λΉ λ₯Έ νλ‘ν νμ΄ν νμ? β
β β β
β βββ Yes βββΆ In-Context Learning (Prompting) β
β β β’ μ¦μ μ μ© κ°λ₯ β
β β β’ κ°λ¨ν λꡬμ μ ν© β
β β β
β βββ No βββΆ λκ·λͺ¨ λꡬ μ§ν©? β
β β β
β βββ Yes βββΆ Fine-tuning + Retrieval β
β β β’ Gorilla μ€νμΌ β
β β β
β βββ No βββΆ μΈκ° νΌλλ°± κ°λ₯? β
β β β
β βββ Yes βββΆ RLHF β
β β β
β βββ No βββΆ Execution β
β Feedback β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
4. μ€λ¬΄ μ μ© μ κ³ λ €μ¬ν
λꡬ μ ν
- νμ€ν¬μ νμμ μΈ λκ΅¬λ§ ν¬ν¨ (컨ν μ€νΈ μ μ½)
- λꡬ μ€λͺ μ λͺ ννκ³ κ°κ²°νκ² μμ±
- μ μ¬ν κΈ°λ₯μ λꡬλ ν΅ν© λλ κ΅¬λΆ λͺ νν
μλ¬ μ²λ¦¬
- λꡬ μ€ν μ€ν¨ μ λμ κ³ν μ립
- νμμμ λ° μ¬μλ λ©μ»€λμ¦ κ΅¬ν
- μ€ν¨ μμΈ λ‘κΉ λ° λΆμ
μ±λ₯ μ΅μ ν
- λΆνμν λꡬ νΈμΆ μ΅μν
- λ³λ ¬ μ€ν κ°λ₯ν λꡬ μλ³
- μΊμ± μ λ΅ μ립
μμ μ±
- μνν μμ μ λν νμΈ μ μ°¨
- λ―Όκ°ν μ 보 μ²λ¦¬ κ°μ΄λλΌμΈ
- κ°μ¬ λ‘κ·Έ μ μ§
5. νμ© μ¬λ‘
| μμ | μ μ© μμ |
|---|---|
| μ½λ© μ΄μμ€ν΄νΈ | μ½λ μ€ν, λ¬Έμ κ²μ, API νΈμΆ |
| μ°κ΅¬ 보쑰 | λ Όλ¬Έ κ²μ, λ°μ΄ν° λΆμ, μκ°ν |
| κ³ κ° μλΉμ€ | FAQ κ²μ, μμ½ μμ€ν , CRM μ°λ |
| λ°μ΄ν° λΆμ | SQL 쿼리, ν΅κ³ κ³μ°, μ°¨νΈ μμ± |
| μλν μν¬νλ‘μ° | μ΄λ©μΌ μ²λ¦¬, μΌμ κ΄λ¦¬, λ¬Έμ μμ± |
π·οΈ Tags
#AI-Agent #Tool-Learning #Foundation-Model #LLM #Survey #API #ReAct #Toolformer #RLHF #Prompting #Fine-tuning #Planning #Reasoning #Tsinghua #2023 #ACM-Computing-Surveys