본문 바로가기
개발/LLM

[논문 리뷰] Toolformer: Language Models Can Teach Themselves to Use Tools

by ▶ Carpe diem ◀ 2024. 2. 21.

Core language modeling abilities를 희생하지 않고, 더 큰 모델과 경쟁할 수 있도록 다양한 다운스트림 작업에서 향상된 제로샷 성능을 달성한 Toolformer 논문에 대해 간단히 리뷰해보겠습니다.

 

 

목차

     

    Toolformer: Language Models Can Teach Themselves to Use Tools

    논문은 Toolformer라는 새로운 언어 모델을 소개합니다. Toolformer는 외부 도구를 사용하여 텍스트 생성, 질의 답변, 수학 문제 해결 등의 다양한 자연어 처리 태스크를 수행할 수 있고, 이러한 도구를 사용하는 방법을 자체적으로 학습할 수 있으서 이전에 개발된 다른 접근 방식과는 차별화됩니다.

     

    논문은 아래 이미지를 클릭하면 다운로드 받을 수 있습니다.

    Toolformer 논문
    Toolformer 논문

     

    Toolformer는 언어 모델(LM)이 광범위한 사람의 감독 없이 외부 도구를 효과적으로 사용할 수 있도록 만들어졌습니다. ChatGPT가 Plugin을 사용하는 것을 생각하시면 외부 도구를 사용한다는 것의 이미를 이해하실 수 있을 것 입니다.

    Figure 1
    Figure 1

     

    이 글에서는 Toolformer의 접근방식, 성능, 제약사항에 대해 정리해보고자 합니다. 자세한 내용은 논문을 참고하세요.

     

    Approach

    Toolformer는 다음과 같은 단계로 이루어진 새로운 self-supervised 접근 방식을 사용하여 훈련됩니다.

    Figure 2
    Figure 2

     

     

    각 단계에 대해 알아보면 다음과 같습니다.

     

    Sampling API Calls

    모델의 예측을 기반으로 잠재적인 API 호출이 샘플링됩니다. 예를 들어, 모델이 질문에 답변하는 작업에서 API 호출은 질문에 관련된 키워드 또는 개념을 나타내는 토큰일 가능성이 높습니다.


    Executing API Calls

    선택된 API 호출이 수행되고 그 결과가 텍스트에 통합됩니다. 텍스트에 API 호출 결과를 통합하는 방법은 API의 유형에 따라 다릅니다. 예를 들어, 질문 답변 API의 경우 결과는 답변 문장으로 삽입될 수 있습니다.

     

    Filtering API Calls

    언어 모델의 perplexity를 줄이는 API 호출은 유지되고 그렇지 않은 호출은 삭제됩니다. perplexity는 텍스트의 예측 불확실성 측정값으로 perplexity를 줄이는 API 호출은 모델이 텍스트를 더 잘 예측하는 데 도움이 되는 것으로 간주됩니다.

     

    Model Finetuning

    필터링된 API 호출로 확장된 데이터에 대해 언어 모델이 미세 조정됩니다. 이를 통해 모델은 API 호출을 사용하여 특정 작업을 수행하는 방법을 학습할 수 있습니다.

     

    Inference

    모델을 평가 데이터나 새로운 입력에 적용하여 API 호출을 사용하여 작업 수행을 예측합니다. 이 단계에서는 학습된 지식과 기술을 사용하여 모델이 API 호출을 사용하여 작업을 수행할 수 있도록 합니다.

     

    이 과정을 통해 Toolformer는 API 호출을 사용하지 않고는 수행하기 어려운 작업을 수행할 수 있는 능력을 습득하고, 모델은 API 호출을 언제 어떻게 사용해야 하는지 스스로 결정할 수 있습니다.

     

    Performance Improvements

    Toolformer는 다음을 포함한 다양한 다운스트림 작업의 성능을 크게 향상시켰습니다.

    Table 1
    Table 1

     

    • 자연어 작업(예: 질문 답변, 수학적 추론)
    • 외부 도구의 지식이 특히 유용한 작업(예: Wikipedia 검색, 기계 번역)
    • GPT-3과 같은 훨씬 더 큰 LM에 비해 강력한 결과를 입증했습니다.

     

    API 호출 유무에 관계없이 Toolformer 논문에서 제시된 방식으로 finetuning된 다양한 크기의 GPT-2 모델과 GPT-J에 대한 LAMA, 수학 벤치마크 및 QA 벤치마크의 평균 성능을 보여주는데 Toolformer 방식이 적용된 모델의 성능이 좋음을 알 수 있습니다.

    Figure 4
    Figure 4

     

    Limitations

    Toolformer에는 다음과 같은 제약사항이 있습니다.

    • Chain 불가: Toolformer는 현재 여러 도구를 순차적으로 사용할 수 없습니다. 예를 들어, 모델은 텍스트에서 키워드를 추출하기 위해 검색 엔진을 사용한 다음 추출된 키워드를 사용하여 질문 답변 API에 쿼리를 보낼 수 없습니다.
    • Interactive 방식으로 사용 불가: Toolformer는 대화식으로 도구와 상호 작용할 수 없습니다. 예를 들어, 모델은 사용자에게 질문을 하고 사용자의 응답을 바탕으로 추가 API 호출을 수행할 수 없습니다.
    • 입력 프롬프트에 민감함: Toolformer는 API 호출을 수행할지 여부를 결정할 때 입력 프롬프트의 정확한 문구에 민감한 경우들이 있습니다.
    • 특정 API에 대한 데이터 효율성 제한: 일부 API는 다른 API보다 데이터 효율적이지 않습니다. 즉, 이러한 API를 사용하여 유용한 호출을 생성하려면 더 많은 데이터가 필요할 수 있습니다.
    • 계산 비용: API 호출은 계산 비용이 많이 들 수 있습니다. 이는 특히 대규모 데이터셋에 대해 Toolformer를 사용할 때 문제가 될 수 있습니다.

     


    Toolformer가 외부 도구에 액세스할 수 있는 언어 모델의 범위를 확장할 수 있는 방법을 제안한 점에 주의를 기울여야 할 것 같습니다. 이를 통해 언어 모델이 이전에는 불가능했던 더욱 복잡하고 현실적인 태스크를 수행할 수 있게 됩니다.

     

    언어 모델의 능력을 더욱 강력하게 할 수 있는 방법으로 ChatGPT의 Plugin 형태로 서비스가 제공되거나, LangChain의 Agent, Tool의 형태로 서비스를 구성할 수 있는 플랫폼 등이 제공되고 있는 것으로 생각됩니다.