1 minute read

Meta info.

TL; DR

Tool-augmented dialogue를 5개 hidden state를 MDP로 formulate하고, chosen-rejected trajectory pair 자동 생성해 DPO-style objective로 학습. slot-filling/tool rejection 능력 대폭 향상

image.png

image.png

image.png

image.png

Background

  • tool-augmented LLM 연구는 conversation flow control 등으로 확대되었으나,
  • T-Eval, ToolEyes, BFCL 등 대체로 single-turn에서 tool calling 평가
  • FunctionChat-Bench가 유일하게 slot-filling을 포함
  • 기존의 SFT만으로는 slot-filling이나 tool 거절 등을 자연스럽게 학습하기 어려움
  • DPO, RLHF 등이 fine-grained dialogue control에 적합

Problem States

기존 연구는 latent state framing과 multi-turn trajectory level preference를 직접 모델링 못함

Suggestions

  • 5개 hidden states 정의: initial > slot-filling > tool-ready > wait-response > complete
    • initial: 사용자 요청을 받은 직후 (아직 아무 툴도 안 정함).
    • slot-filling: 어떤 툴을 쓸지 정했는데 필요한 argument를 아직 모름
    • tool-ready: 필요한 argument가 다 채워졌으므로 툴 호출 준비 완료
    • wait-response: 툴을 호출 결과 대기
    • complete : 툴 실행 결과를 받아서 사용자에게 최종 응답
  • multi-turn tool-augmented dialogue의 3가지 질의 유형
    • type 1 augment 다 있는 경우 → 바로 tool calling
    • type 2 augment가 부족한 경우 → slot-filling 질의 후 call
    • type 3 user요청에 맞는 tool이 없는 경우 → 거절
  • DiaTool-DPO framework: Reference를 SFT 모델로 하여 trajectory-level preference 학습
    • TA-LLM을 MDP로 보고 trajectory 기반 학습
    • human label 없이 alignment: 자동으로 각 user query마다 chosen(state 전이 잘 한 경우) vs. rejected(못한 경우) trajectory 쌍 생성
      • e.g., slot-filling 필요한데 바로 툴 호출하거나 툴이 없는데 호출하는 trajectory > rejected
    • DPO-style loss; dialogue 길이와 critical turn을 고려해 alignment 강화
    • Dataset construction: tab 2
      • Easy: slot-filling ≤1 step.
      • Hard: 복잡한 slot-filling + explicit rejection 포함

Effects

DiaTool-DPO는 slot-filling 질문 생성과 툴 거절 학습에 효과적이더라

  • setup: FunctionChat-Bench (Call Completion, Description Filling, Relevance).
  • Qualitative:
    • SFT-only에서 임의의 slot-value를 생성하는 hallucination 발생
    • SFT+DiaTool-DPO까지 하면 slot-filling 질문 생성 후 올바른 호출 Fig 4
  • Quantitative:
    • FunctionChat-Bench 전반 성능 상승. GPT-4o 수준에 근접하는 성능 보고
    • 특히 Relevance(거절)와 Description Filling에서 뚜렷한 향상
  • Ablation: Hard dataset + full objective 조합이 가장 큰 개선 tab 3

Personal note. function calling(tool augmented LLM)이 지속적으로 언급되고 있는 것도 확인되고 있고, 이 관점에 DPO를 섞는 것도 트렌드상 익숙한 흐름으로 보입니다. 실무적인 관점에서 tool rejection을 포함시킨 게 유익한 부분이라고 생각합니다만, 다섯가지 state를 구분한거나 type을 나눈 건 어쩌면 조금 과했다고도 느껴지는 부분이 있긴 한데, 실무적인 니즈가 명확하다면 설계가 깊고 세련되어지는 측면이 있는 흐름은 여전한 것으로 이해됩니다. (현재 산학프로젝트 스타일과 비슷)