본문 바로가기

AI Agent, LLM/논문 리뷰

[논문리뷰-AI Agent/LLM] 2. function calling 기법 제안 -Toolformer : Language Models Can Teach Themselves to Use tools

Schick et al., 2023 – Toolformer: Language Models Can Teach Themselves to Use Tools (ICLR)
https://proceedings.neurips.cc/paper_files/paper/2023/hash/d842425e4bf79ba039352da0f658a906-Abstract-Conference.html

 

 

  • Toolformer는 2023년 NeurIPS에 발표된 논문으로, LLM이 외부 도구(API)를 자율적으로 사용할 수 있도록 활용하는 방법을 제시한다. LLM이 스스로 API 호출 위치를 학습하는 개념이며, function calling 기반 오케스트레이션의 시초이다.
  • Toolformer는 LLM이 외부 도구를 직접 조합해서 추론하는 매커니즘을 처음 개척한 논문이다.

Abstract

대규모 언어모델은 텍스트 기반 작업에서 뛰어난 성능을 보이지만, 사실 확인이나 단순한 연산 수행과 같은 과제에서는 여전히 한계를 드러낸다.
본 연구에서는 언어모델이 외부 도구를 API 형태로 스스로 호출해 활용하는 방식을 학습함으로써, 텍스트 처리와 연산 과제를 모두 효과적으로 수행할 수 있는 방법을 제안한다.
제안하는 모델인 Toolformer는 주어진 상황에서 어떤 API를 사용할지, 그리고 그 결과를 어떻게 결합할지를 학습하며, 이를 통해 결과의 최적 조합을 자동으로 수행한다.
학습은 자기지도학습(self-supervised learning) 방식으로 진행되며, 각 API의 세부적인 설명이나 수동 조정이 별도로 필요하지 않다.
또한, 계산기, Q&A 시스템, 검색 엔진, 번역기, 달력 등 다양한 외부 도구를 연결한 실험을 통해 여러 다운스트림 작업에서 Toolformer가 우수한 성능을 보임을 검증하였다.

Introduction

언어모델에서 외부 도구 활용 한계

대규모 언어모델은 텍스트 기반 과제에서 높은 성능을 보이지만, 여전히 확장성 측면에서는 여러 제약이 존재한다.
예를 들어, 최신 데이터의 반영이 어렵고, 하루 단위 계산이나 저자원 언어의 처리, 정밀한 수치 연산 등에서는 성능 저하가 나타난다.
이러한 한계를 보완하기 위해 가장 단순하면서도 효과적인 접근법은 검색엔진이나 계산기 등 외부 도구를 함께 사용하는 것이다.
그러나 기존의 접근 방식은 사람이 주도적으로 도구 호출을 설계하거나, 특정 작업(task)에만 한정되어 적용되는 경우가 많아, 범용적으로 활용하기 어렵다는 한계가 있다.

논문 소개

본 연구는 Toolformer라는 모델을 통해 언어모델이 외부 도구를 스스로 활용할 수 있는 새로운 방법을 제안한다.
이 방식은 사람이 직접 주석을 달거나 수작업으로 설계하지 않고, 자기지도학습(self-supervised learning)을 통해 언어모델이 자동으로 API 호출 방식을 학습한다는 점에서 차별화된다.
또한 단순히 비용(cost)을 줄이기 위한 접근이 아니라, 모델이 스스로 어떤 정보가 유용한지를 판단하도록 학습하는 것이 핵심이다.
제안된 방법에서는 언어모델이 주어진 문맥 속에서 어떤 상황에서 어떤 API를 호출해야 할지를 스스로 결정하며, 특정 작업에만 제한되지 않고 일반화된 도구 활용 능력을 갖추게 된다.
학습 과정에서는 인간이 제시한 소량의 예시를 바탕으로 모델이 임의로 API 호출을 시도하고, 그 결과가 모델의 예측에 도움이 되는지를 평가한 뒤, 실제로 유의미하다고 판단되는 호출만을 파인튜닝(fine-tuning)에 반영한다.
이 방법은 특정 데이터셋에 종속되지 않기 때문에, 모델 학습에 사용되지 않은 새로운 데이터셋에서도 그대로 적용 가능하며, 모델의 일반화 성능을 유지하면서도 다양한 언어적 과제를 수행할 수 있음을 의미한다.

실험

본 논문에서는 제안한 방법의 효과를 검증하기 위해 여러 유형의 다운스트림 태스크에서 Toolformer를 실험적으로 평가하였다.
GPT-J 모델을 기반으로 학습을 진행했으며, 비교를 위해 GPT-3 모델을 포함한 대규모 언어모델들과의 성능을 함께 분석하였다.