ToolGen은 도구 지식을 대규모 언어 모델(LLM)에 직접 통합하는 프레임워크로, 각 도구를 고유 토큰으로 표현하여 원활한 도구 호출과 언어 생성을 가능하게 합니다. 도구 검색 및 작업 완료의 성능을 개선하기 위해 Renxi Wang 등이 개발했습니다.
- 도구 토큰화: 도구를 고유 토큰으로 변환하여 모델을 쉽게 호출할 수 있습니다.
- 도구 호출 생성: 이 모델은 도구 호출 및 매개변수를 생성할 수 있습니다.
- 작업 완료: 도구 호출을 통해 복잡한 작업을 자동화합니다.
- 데이터 세트 지원: 모델 학습 및 평가를 지원하기 위해 풍부한 데이터 세트를 제공합니다.
초록
대규모 언어 모델(LLM)이 발전함에 따라 외부 도구와 직접 상호 작용하여 자율적으로 작업을 수행할 수 없다는 한계가 특히 분명해졌습니다. 기존의 접근 방식은 도구 설명을 컨텍스트 입력으로 사용하는 데 의존하는데, 이는 컨텍스트 길이에 의해 제한되며 종종 비효율적인 별도의 검색 메커니즘이 필요합니다. 저희는 각 도구를 하나의 고유한 토큰 도구 지식을 LLM 파라미터에 직접 통합하는 패러다임입니다. 이를 통해 LLM은 다음 토큰의 예측 기능의 일부로 도구 호출과 파라미터를 사용할 수 있으므로 도구 호출과 언어 생성을 원활하게 통합할 수 있습니다. 이 프레임워크를 통해 LLM은 추가 검색 단계 없이 수많은 도구에 액세스하고 사용할 수 있어 성능과 확장성이 크게 향상됩니다. 47,000개 이상의 도구를 기반으로 한 실험 결과에 따르면 ToolGen은 도구 검색 및 자율적 작업 완료에서 탁월한 결과를 달성할 뿐만 아니라 다양한 도메인 도구에 적응할 수 있는 차세대 AI 에이전트의 토대를 마련했습니다. 도구 검색을 생성 프로세스로 근본적으로 전환함으로써 보다 유연하고 효율적이며 자율적인 AI 시스템을 위한 기반을 마련한 ToolGen은 엔드투엔드 도구 학습을 지원하고 체인 사고 및 강화 학습과 같은 다른 고급 기술과의 통합 기회를 제공함으로써 LLM의 효용성을 확장합니다.
1 소개
대규모 언어 모델(LLM)은 외부 입력을 처리하고 연산을 수행하며 자율적으로 작업을 완료하는 데 있어 인상적인 능력을 보여 왔습니다(Gravitas, 2023; Qin 외. 2023; Yao 외. 2023; Shinn 외. 2023; Wu 외. 2024a; Liu 외. 2024). LLM이 외부 세계와 상호 작용할 수 있도록 하는 다양한 접근 방식 중 API를 통한 도구 호출이 가장 일반적이고 효과적인 방법 중 하나가 되었습니다. 그러나 도구의 수가 수만 개로 증가함에 따라 기존의 도구 검색 및 실행 방식으로는 효율적으로 확장하기 어렵습니다.
실제 시나리오에서 일반적인 접근 방식은 도구 검색과 도구 실행을 결합하는 것으로, 검색 모델이 먼저 관련 도구를 필터링한 후 최종 선택 및 실행을 위해 LLM에 넘기는 것입니다(Qin et al., 2023; Patil et al., 2023). 이러한 결합 방식은 많은 수의 도구를 다룰 때 유용하지만, 검색 모델은 종종 작은 인코더에 의존하기 때문에 복잡한 도구와 쿼리의 의미를 포괄적으로 파악하기 어렵고, 검색과 실행을 분리하면 작업 완료 프로세스에서 비효율성과 단계 편향이 발생할 수 있다는 분명한 한계가 있습니다.
게다가 LLM과 그 동의어 처리기는 주로 자연어 데이터에 대해 사전 훈련을 받았으며(Brown et al., 2020; Touvron et al., 2023), 자체적으로 도구 관련 기능에 대한 본질적 지식이 제한되어 있습니다. 이러한 지식 격차는 특히 LLM이 의사 결정을 위해 검색된 도구 설명에 의존해야 할 때 성능 저하로 이어집니다.
이 연구에서는 실제 도구 지식을 LLM 파라미터에 직접 통합하고 도구 검색 및 실행을 통합된 생성 작업으로 전환하는 새로운 프레임워크인 ToolGen을 소개합니다. 특히 ToolGen은 도구를 특정 가상 토큰으로 표현하도록 LLM 어휘를 확장하고 대화 맥락에서 이러한 토큰을 생성하도록 모델을 훈련함으로써 도구 검색 및 호출을 위해 LLM의 기존 지식을 보다 효과적으로 활용합니다.
구체적으로 각 도구는 LLM 어휘에서 고유한 가상 토큰으로 표현되며, 사전 학습된 LLM을 기반으로 ToolGen의 학습 과정은 도구 메모리, 검색 훈련, 에이전트 훈련의 세 단계로 구성됩니다. 도구 메모리 단계에서 모델은 각 가상 도구 토큰을 해당 문서와 연결합니다. 검색 훈련 단계에서 모델은 사용자 쿼리를 기반으로 관련 툴토큰을 생성하는 방법을 학습하고, 마지막으로 엔드투엔드 에이전트 튜닝 단계에서 모델은 자율 에이전트처럼 작동하도록 훈련되어 계획과 도구를 생성하고 작업을 완료하기 위한 적절한 매개변수를 결정합니다. 툴을 호출하고 외부 환경으로부터 피드백을 얻음으로써 모델은 사용자 쿼리를 효율적이고 통합적으로 처리할 수 있습니다. 그림 1은 ToolGen이 기존 패러다임과 어떻게 비교되는지 보여줍니다.
주어진 쿼리에 대해 올바른 도구를 검색하는 도구 검색 작업과 실제 API 호출이 포함된 복잡한 작업을 완료하는 LLM 기반 에이전트 작업이라는 두 가지 시나리오에서 ToolGen의 우수성을 검증했습니다. 47,000개의 실제 도구로 구성된 데이터 세트를 사용하는 ToolGen은 주요 도구 검색 방법과 동일한 성능을 제공하면서도 훨씬 낮은 비용과 높은 효율성을 자랑합니다. 또한 기존의 도구 학습 패러다임을 뛰어넘어 보다 효과적인 도구 사용 시스템을 발전시킬 수 있는 잠재력을 보여줍니다.
그림 1: ToolGen과 기존 검색 기반 접근 방식 비교. 기존 접근 방식은 검색기를 사용하여 유사성 매칭을 통해 관련 도구를 검색한 다음, 이러한 도구를 LLM 프롬프트에 배치하여 선택하도록 하는 반면, ToolGen은 도구 토큰을 직접 생성하여 도구 검색을 가능하게 하고 외부 검색기에 의존하지 않고도 작업을 수행할 수 있습니다.
ToolGen은 검색과 생성을 통합된 모델로 통합하여 도구 상호 작용의 새로운 패러다임을 제시합니다. 이러한 혁신은 다양한 도메인 도구에 적응할 수 있는 차세대 AI 에이전트를 위한 토대를 마련합니다. 또한 ToolGen은 연쇄 사고 추론 및 강화 학습과 같은 고급 기술을 도구 사용을 위한 통합 생성 접근 방식과 결합하여 실제 애플리케이션에서 대규모 언어 모델의 기능을 확장할 수 있는 새로운 기회를 창출합니다.
요약하면 다음과 같습니다:
- 가상 토큰을 통해 대규모 언어 모델을 생성하는 프로세스에 도구 검색 및 실행을 통합하는 새로운 프레임워크인 ToolGen이 제안되었습니다.
- 3단계 교육 프로세스는 도구 검색 및 API 호출을 위한 효율적이고 확장 가능한 ToolGen을 만들기 위해 설계되었습니다.
- 실험적 검증을 통해 ToolGen은 대규모 도구 리포지토리에서 사용 가능한 최상의 도구 검색 방법과 비슷한 성능을 보여주면서도 기존 도구 학습 패러다임을 뛰어넘어 더 낮은 비용으로 더 효율적으로 사용할 수 있다는 것을 보여주었습니다.
2 관련 작업
2.1 도구 검색
도구 검색은 일반적으로 문서로 설명되는 대규모 언어 모델 에이전트의 실제 작업 실행에서 매우 중요합니다. 스파스 검색과 같은 전통적인 접근 방식(예 BM25 (로버트슨 외, 2009)) 및 집중 검색(예: DPR(카푸킨 외, 2020), ANCE(시옹 외, 2021))은 대규모 문서 인덱스와 외부 모듈에 의존하기 때문에 엔드투엔드 에이전트 프레임워크에서 최적화하는 데 비효율적이고 어려움이 따릅니다. 여러 연구에서 대안적인 접근 방식을 모색했습니다. 예를 들어 Chen 등(2024b)은 비지도 검색 설정을 위해 쿼리를 다시 작성하고 의도를 추출하지만 결과는 지도 방식만큼 좋지 않습니다. xu 등(2024)은 도구 피드백을 기반으로 쿼리를 반복적으로 최적화하여 검색 정확도를 개선하지만 지연 시간을 증가시키는 접근 방식을 제안합니다.
최근 생성적 검색은 전통적인 검색 메커니즘에 의존하지 않고 모델이 관련 문서 식별자를 직접 생성하는 새로운 패러다임으로 떠오르고 있습니다(Wang et al., 2022; Sun et al., 2023; Kishore et al., 2023; Mehta et al., 2023; Chen et al., 2023b). 여기에서 영감을 얻은 ToolGen은 각 도구를 고유한 토큰으로 표현하여 도구 검색과 호출을 생성 작업으로 처리할 수 있도록 합니다. 이러한 설계는 검색을 단순화할 뿐만 아니라, 다른 빅 언어 모델 및 빅 언어 모델 기반 에이전트 기능인 연쇄적 사고 추론(Wei et al., 2023)과 함께 사용할 수 있습니다. ReAct (Yao et al., 2023))가 원활하게 통합됩니다. 검색과 작업 실행을 하나의 대형 언어 모델 에이전트로 통합함으로써 지연 시간과 계산 오버헤드를 줄이고 작업 완료의 효율성과 효과를 개선합니다.
2.2 도구 호출이 있는 대규모 언어 모델 에이전트
대규모 언어 모델은 다양한 작업에 필요한 도구를 마스터할 수 있는 강력한 잠재력을 보여줍니다. 그러나 대부분의 기존 연구는 제한된 작업 세트에 초점을 맞추고 있습니다(Chen et al., 2023a; Zeng et al., 2023; Yin et al., 2024; Wang et al., 2024). 예를 들어, Toolformer(Schick et al., 2023)는 5가지 도구(예: 계산기)만 처리하도록 GPT-J를 미세 조정합니다. 이 접근 방식은 좁은 작업에서는 잘 작동하지만 많은 양의 작업 공간이 포함된 현실적인 시나리오에서는 어려움이 있으며, ToolBench(Qin et al., 2023)는 복잡한 환경에서 도구 선택의 어려움을 강조하면서 16,000개 이상의 도구를 도입하여 연구를 확장했습니다.
도구 선택을 수행하기 위해 현재 접근 방식은 일반적으로 대규모 언어 모델이 먼저 관련 도구를 검색한 다음 이를 활용하는 검색 생성 파이프라인을 사용합니다(Patil 외., 2023; Qin 외., 2023). 그러나 파이프라인 접근 방식은 검색 단계의 잘못된 전달과 빅 언어 모델이 간단한 프롬프트를 통해 도구를 완전히 이해하고 활용하기 어렵다는 두 가지 주요 문제에 직면해 있습니다.
이러한 문제를 완화하기 위해 연구자들은 동작을 토큰으로 표현하고 동작 예측을 생성 작업으로 전환하는 시도를 해왔습니다. 예를 들어, RT2(Brohan et al., 2023)는 로봇 동작을 나타내는 토큰을 생성하고, Self-RAG(Asai et al., 2023)는 특수 토큰을 사용해 문서 검색 시기를 결정하며, ToolkenGPT(Hao et al., 2023)는 도구별 토큰을 도입하여 도구의 사용을 트리거하는 개념으로, 우리의 접근 방식과 가장 근접한 개념입니다. 개념이 우리의 접근 방식과 가장 유사합니다.
저희의 접근 방식은 ToolkenGPT와 크게 다릅니다. 첫째, 우리는 복잡한 작업(예: 유튜브 채널 검색)을 위해 유연한 매개변수가 필요한 실제 도구에 초점을 맞추는 반면, ToolkenGPT는 입력이 적은 간단한 도구(예: 두 개의 숫자가 있는 수학 함수)로 제한됩니다. 또한 ToolkenGPT는 더 적은 수의 샘플 단서에 의존하는 반면, ToolGen은 완전한 매개변수 미세 조정을 통해 도구 지식을 더 큰 언어 모델에 직접 통합하여 자율적으로 작업을 검색하고 수행할 수 있습니다. 마지막으로, 실험에 사용된 도구 세트는 47,000개에 달하는 훨씬 더 많은 도구로, ToolkenGPT의 13-300개에 비해 훨씬 더 많습니다.
도구 학습 또는 작업 완료를 향상시키기 위해 강화 학습 또는 다중 에이전트 시스템을 사용한 ToolPlanner(Wu et al., 2024b) 및 AutoACT(Qiao et al., 2024)와 같은 다른 연구도 있습니다(Qiao et al., 2024; Liu et al., 2023; Shen et al., 2024; Chen et al., 2024a). 이러한 접근법을 우리 모델과 비교하지 않는 이유는 두 가지입니다.(1) 이러한 노력의 대부분은 다음과 같은 피드백 메커니즘에 의존합니다. 반사 (Shinn et al., 2023) 또는 대규모 언어 모델이 평가자 역할을 하고 실제 답변에 접근할 수 없는 ToolBench의 평가 설계와 유사한 보상 모델도 있습니다. 그러나 이는 저희 연구의 초점이 아니며, 저희의 엔드투엔드 실험은 이러한 피드백 메커니즘에 의존하지 않습니다. (2) 우리의 접근 방식은 이러한 방법과 충돌하지 않으며 오히려 통합될 수 있습니다. 이러한 통합에 대한 탐색은 향후 연구를 위해 남겨져 있습니다.
3 ToolGen
이 섹션에서는 먼저 이 백서에서 사용된 기호 표현을 소개합니다. 그런 다음 그림 2와 같이 도구 가상화, 도구 메모리, 검색 훈련 및 엔드투엔드 에이전트 튜닝을 포함한 ToolGen의 구체적인 접근 방식에 대해 자세히 설명합니다. 마지막으로 추론 방법론을 제시합니다.
그림 2: ToolGen 프레임워크의 개략도. 도구 가상화 단계에서는 도구가 가상 토큰에 매핑되고, 다음 세 가지 학습 단계에서 ToolGen은 먼저 도구 문서에서 도구 토큰을 예측하여 도구를 기억합니다. 다음으로, ToolGen은 쿼리에서 도구 토큰을 예측하여 도구를 검색하는 방법을 학습합니다. 마지막으로 파이프라인 데이터(즉, 궤적)를 사용하여 마지막 단계에서 검색 모델을 미세 조정하여 ToolGen 에이전트 모델을 생성합니다.
3.1 준비 지식
주어진 사용자 쿼리 q에 대해 도구 학습의 목표는 대규모 도구 집합 D={d1,d2,...,dN}의 도구를 사용하여 q를 해결하는 것입니다. 여기서 |D|=N은 큰 수이므로 대규모 언어 모델링 환경에서 D의 모든 도구를 포함하는 것은 비실용적입니다. 따라서 현재 연구에서는 일반적으로 리트리버 R을 사용하여 D에서 k개의 관련 도구를 검색하는데, 이는 Dk,R={dr1,dr2,...,drk}=R(q,k,D)로 표시되며 여기서 |Dk,R|≪N. 최종 프롬프트는 q와 Dk,R의 연결로, Prompt=[q,Dk,R]로 표시됩니다. 작업(쿼리)을 완료하기 위해 대규모 언어 모델에 기반한 에이전트는 일반적으로 4단계 반복을 사용합니다(Qu et al., 2024 ): 계획 생성 pi, 도구 선택 dsi, 도구 매개변수 결정 ci, 도구 피드백으로부터 정보 수집 fi. 우리는 이러한 단계를 i 번째 반복에 대해 pi,dsi,ci,fi로 표시합니다. 모델은 작업이 완료될 때까지 이러한 단계를 계속 반복하며, 이 시점에서 최종 답 a가 생성됩니다. 전체 궤적은 Traj=[Prompt,(p1,ds1,c1,f1),...,(pt,dst,ct,ft),a]=[q,R (q,D),(p1,ds1,c1,f1),...,(pt,dst,ct,ft),a]. 이러한 반복적 접근 방식을 통해 모델은 수신된 피드백에 따라 각 단계에서 작업을 동적으로 조정하고 개선하여 복잡한 작업을 수행할 때 성능을 향상시킬 수 있습니다.
3.2 도구 가상화
ToolGen에서는 원자 인덱싱이라는 접근 방식을 통해 각 도구를 고유한 새 토큰에 매핑하여 도구 가상화를 구현합니다. 이 접근 방식에서는 대규모 언어 모델의 어휘를 확장하여 각 도구에 고유한 토큰을 할당합니다. 각 도구 토큰의 임베딩은 해당 도구 이름의 평균 임베딩으로 초기화되어 각 도구에 의미론적으로 의미 있는 시작점을 제공합니다.
공식적으로 토큰 세트는 T = Index(d)|∀d ∈ D로 정의되며, 여기서 Index는 도구를 토큰에 매핑하는 함수입니다. 원자 인덱싱이 다른 인덱싱 방법(예: 시맨틱 및 숫자 매핑, 논의는 4.3과 5.4 참조)에 비해 더 효율적이고 팬텀 현상을 줄인다는 것을 보여드립니다.
3.3 도구 메모리
토큰을 도구에 할당해도 빅 언어 모델에는 여전히 도구에 대한 지식이 부족합니다. 이 문제를 해결하기 위해 도구 설명을 입력으로 사용하고 해당 토큰을 출력으로 사용하여 도구 설명을 미세 조정하며, 이 과정을 도구 메모리라고 합니다. 우리는 다음과 같은 손실 함수를 사용합니다:
ℒtool=∑d∈D-logpθ(Index(d)|ddoc) |
여기서 θ는 대규모 언어 모델 파라미터를 나타내고 ddoc은 도구 설명을 나타냅니다. 이 단계에서는 대규모 언어 모델에 대한 도구의 기본 사항과 관련 작업을 제공합니다.
3.4 검색 교육
그런 다음 빅 언어 모델을 훈련시켜 가상 도구 토큰(및 해당 문서)의 숨겨진 공간을 사용자 쿼리 공간과 연결하여 모델이 사용자의 쿼리에 따라 올바른 도구를 생성할 수 있도록 합니다. 이를 위해 사용자 쿼리를 입력으로, 해당 도구 토큰을 출력으로 삼아 빅 언어 모델을 미세 조정합니다:
ℒretrieval=∑q∈Q∑d∈Dqq-logpθ′(Index(d)|q) |
여기서 θ′는 도구 메모리 이후의 대규모 언어 모델의 매개변수를 나타내고, Q는 사용자 쿼리 집합이며, Dq는 각 쿼리와 연관된 도구 집합입니다. 이 프로세스는 주어진 사용자 쿼리에 대해 적절한 도구 토큰을 생성할 수 있는 ToolGen 리트리버를 생성합니다.
3.5 엔드투엔드 에이전트 튜닝
검색 훈련 후, 빅 언어 모델은 쿼리에서 도구 토큰을 생성할 수 있으며, 마지막 단계에서는 에이전트-플란 작업을 사용하여 궤적 미세 조정 모델을 완성합니다. 저희는 에이전트-플란과 유사한(Chen et al., 2024c) 추론 전략을 채택하고 있는데, 파이프라인은 반복 프로세스를 사용하여 모델이 먼저 Thought를 생성한 다음 해당 Action Token을 생성하여 도구 문서를 가져오는 데 사용한 다음 빅 언어 모델에서 필요한 파라미터를 생성하는 데 사용합니다. 이 프로세스는 모델이 "완료" 토큰을 생성하거나 최대 라운드 수에 도달할 때까지 반복됩니다. 생성된 궤적은 Traj=[q,(p1,Index(ds1),c1,f1),...,(pt,Index(dst),ct,ft),a]로 표현됩니다. 이 구조에서는 연결 도구가 더 이상 필요하지 않습니다.
3.6 추론
추론 과정에서 대규모 언어 모델은 미리 정의된 도구 토큰 집합을 넘어서는 액션 토큰을 생성할 수 있으며, 이를 방지하기 위해 출력 토큰을 도구 토큰 집합으로 제한하는 제약 조건 번들 검색 생성 방법을 고안했습니다. 이 제약 번들 검색을 도구 검색(쿼리 선택 도구를 기반으로 하는 모델)과 엔드투엔드 에이전트 시스템에 적용하여 액션 생성 단계의 착각을 효과적으로 줄입니다. 자세한 분석은 5.4를 참조하세요. 구현에 대한 자세한 내용은 부록 C를 참조하세요.
4 도구 검색 평가
4.1 실험 설정
128,256개의 어휘로 사전 학습된 Llama-3-8B 모델(Dubey et al., 2024)을 기본 모델로 사용했습니다. 도구 가상화 과정에서 원자 인덱싱 방법을 통해 46,985개의 토큰이 추가되어 최종 어휘는 175,241개였습니다. 코사인이 적용된 Llama-3 채팅 템플릿을 사용하여 모델을 미세 조정하고 학습 속도 스케줄러와 3%의 워밍업 단계를 적용하여 모델을 미세 조정했습니다. 최대 학습 속도는 4 × 10-5였습니다. 모든 모델은 4 × A100 GPU에서 Deepspeed ZeRO 3를 통과했습니다(Rajbhandari et al.2020)를 훈련시켰습니다. 도구 기억 훈련은 8회, 검색 훈련은 1회 실시했습니다.
데이터 집합
실험은 각각 여러 API를 포함하는 16,000개 이상의 도구 컬렉션, 총 약 47,000개의 고유 API가 포함된 실제 도구 벤치마크인 ToolBench를 기반으로 합니다. 각 API는 API 이름, 설명 및 호출 매개변수가 포함된 사전을 사용하여 문서화됩니다. 실제 예제는 부록을 참조하세요. A각 API를 하나의 작업으로 취급하여 토큰에 매핑합니다. 각 API를 작업으로 취급하고 토큰에 매핑합니다. 검색 및 엔드투엔드 에이전트 튜닝 데이터는 ToolBench의 원시 데이터에서 변환됩니다. 자세한 내용은 부록을 참조하세요. G. 각 도구에는 여러 개의 API가 포함될 수 있지만 이 문서에서는 간단하게 하기 위해 각 API를 하나의 도구로 통칭합니다.
Qin 등(2023)의 데이터 분할 방법론을 따라 20만 쌍(쿼리, 관련 API)을 각각 87,413개, 84,815개, 25,251개의 인스턴스를 포함하는 I1(단일 도구 쿼리), I2(클래스 내 다중 도구 쿼리), I3(컬렉션 내 다중 도구 명령)의 세 가지 카테고리로 분류했습니다.
기준 방법론
ToolGen을 다음 벤치마크와 비교합니다:
- BM25: 쿼리와 문서 간의 단어 유사도를 기반으로 하는 고전적인 TF-IDF 기반 비지도 검색 방식입니다.
- 임베딩 유사성(EmbSim): OpenAI의 문장 임베딩 모델을 사용하여 생성된 문장 임베딩, 특히 실험에 사용된 텍스트 임베딩 3-large.
- Re-Invoke(Chen 외, 2024b): 쿼리 재작성 및 문서 확장을 통합하는 비지도 검색 방법입니다.
- IterFeedback(Xu et al., 2024): 최대 10라운드의 반복 피드백을 위한 피드백 모델로 gpt-3.5-turbo-0125를 사용하는 BERT 기반 리트리버입니다.
- ToolRetriever(Qin 외, 2023): 대비 학습으로 훈련된 BERT 기반 리트리버입니다.
설정
두 가지 설정에서 실험을 진행했습니다. 첫 번째 설정에서 도메인 내 검색은 검색 공간이 동일한 도메인 내에 있는 도구의 검색을 제한합니다. 예를 들어 I1 도메인에서 쿼리를 평가할 때는 I1에 있는 도구로 제한됩니다. 이 설정은 ToolBench 설정과 일치합니다. 두 번째 설정인 다중 도메인 검색은 검색 공간이 세 가지 유형의 도메인 모두에 있는 도구로 확장되는 더 복잡한 설정입니다. 이 경우 병합된 데이터에 대해 모델이 학습되므로 검색 공간과 작업 복잡성이 증가합니다. ToolBench와 달리 다중 도메인 설정은 검색 작업에 중복되거나 혼합된 도메인이 포함될 수 있는 현실적인 시나리오를 반영합니다. 이 설정은 여러 도메인에 걸쳐 일반화하고 더 복잡하고 다양한 검색 작업을 처리하는 모델의 능력을 평가합니다.
표준
도구 검색을 포함한 순위 지정 작업에서 널리 사용되는 지표인 정규화 할인 누적 이득(NDCG)(Järvelin & Kekäläinen, 2002)을 사용하여 검색 성능을 평가했습니다. NDCG는 검색된 도구의 관련성과 순위 지위를 모두 고려합니다.
표 1: 두 가지 설정에서의 도구 검색 평가: (1) 동일한 도메인에서 모델을 훈련하고 평가하는 도메인 내 검색과 (2) 모든 도메인에서 모델을 훈련하고 모든 도메인의 전체 도구 세트에서 평가하는 다중 도메인 검색.BM25, EmbSim 및 Re-Invoke는 훈련되지 않은 비지도 벤치마킹 방법.IterFeedback 는 여러 모델과 피드백 메커니즘을 갖춘 검색 시스템이며, ToolRetriever는 대조 학습을 사용하여 학습되고, ToolGen은 다음 토큰 예측을 사용하여 학습됩니다. 결과에 *가 표시된 항목은 당사가 구현하지 않은 모델을 나타내며, 데이터는 원본 논문에서 가져온 것이므로 도메인 내 설정에만 나열되어 있습니다. 도메인 내 설정의 ToolGen의 경우, 다른 모델에 비해 더 어려운 시나리오인 생성 공간에 모든 토큰을 포함하도록 허용합니다. 각 카테고리에서 가장 좋은 결과는 굵은 글씨로 표시되어 있습니다.
모델링 | I1 | I2 | I3 | ||||||
---|---|---|---|---|---|---|---|---|---|
NDCG1 | NDCG3 | NDCG5 | NDCG1 | NDCG3 | NDCG5 | NDCG1 | NDCG3 | NDCG5 | |
지역 | |||||||||
BM25 | 29.46 | 31.12 | 33.27 | 24.13 | 25.29 | 27.65 | 32.00 | 25.88 | 29.78 |
EmbSim | 63.67 | 61.03 | 65.37 | 49.11 | 42.27 | 46.56 | 53.00 | 46.40 | 52.73 |
다시 호출* | 69.47 | - | 61.10 | 54.56 | - | 53.79 | 59.65 | - | 59.55 |
IterFeedback* | 90.70 | 90.95 | 92.47 | 89.01 | 85.46 | 87.10 | 91.74 | 87.94 | 90.20 |
도구 리트리버 | 80.50 | 79.55 | 84.39 | 71.18 | 64.81 | 70.35 | 70.00 | 60.44 | 64.70 |
ToolGen | 89.17 | 90.85 | 92.67 | 91.45 | 88.79 | 91.13 | 87.00 | 85.59 | 90.16 |
다중 도메인 | |||||||||
BM25 | 22.77 | 22.64 | 25.61 | 18.29 | 20.74 | 22.18 | 10.00 | 10.08 | 12.33 |
EmbSim | 54.00 | 50.82 | 55.86 | 40.84 | 36.67 | 39.55 | 18.00 | 17.77 | 20.70 |
도구 리트리버 | 72.31 | 70.30 | 74.99 | 64.54 | 57.91 | 63.61 | 52.00 | 39.89 | 42.92 |
ToolGen | 87.67 | 88.84 | 91.54 | 83.46 | 86.24 | 88.84 | 79.00 | 79.80 | 84.79 |
4.2 결과
표 1은 도구 검색의 결과를 보여줍니다. 예상대로 모든 훈련된 모델은 모든 지표에서 훈련되지 않은 기준선(BM25, EmbSim 및 Re-Invoke)을 크게 능가하여 도구 검색 데이터에 대한 훈련의 이점을 보여줍니다.
저희가 제안한 ToolGen 모델은 두 설정 모두에서 일관되게 최고의 성능을 발휘합니다. 도메인 내 설정에서 ToolGen은 여러 모델과 피드백 메커니즘을 사용하는 IterFeedback 시스템과 비슷한 성능으로 매우 경쟁력 있는 결과를 제공합니다. 단일 모델로서 ToolGen은 모든 메트릭에서 ToolRetriever를 크게 능가하며 여러 시나리오(예: 도메인 I1의 경우 NDCG@5, I2의 경우 NDCG@1, @3, @5)에서도 IterFeedback보다 성능이 뛰어납니다.
멀티도메인 환경에서는 더 큰 검색 공간과 일반적인 전반적인 성능 저하에도 불구하고 ToolGen은 여전히 견고하며, ToolRetriever를 능가하고 기준 모델보다 앞서고 있습니다. 이는 ToolGen이 단일 모델임에도 불구하고 IterFeedback과 같은 복잡한 검색 시스템과 경쟁할 수 있음을 보여주며, 도메인 경계가 불분명한 복잡한 실제 검색 작업을 처리할 수 있는 능력을 입증합니다.
4.3 인덱싱 방법 비교
ToolGen은 도구 가상화를 위해 원자 인덱스를 사용하지만, 몇 가지 대체 생성 검색 방법도 살펴봅니다. 이 섹션에서는 다음 세 가지 접근 방식을 비교합니다:
- 디지털: 각 도구를 고유 번호에 매핑합니다. 생성된 토큰은 순전히 디지털 방식으로, 고유한 의미 정보는 제공하지 않지만 각 도구에 고유한 식별자만 제공합니다.
- 계층적: 이 방법은 도구를 겹치지 않는 그룹으로 클러스터링하고 이러한 클러스터를 재귀적으로 분할하여 계층 구조를 형성합니다. 이 구조에서 루트 노드에서 리프 노드까지의 인덱스는 브라운 클러스터링 기법과 유사하게 각 도구를 나타냅니다.
- 의미론: 이 접근 방식에서는 각 도구가 그 이름에 매핑되어 도구 이름의 의미론적 내용을 통해 대규모 언어 모델(LLM)을 안내합니다. 도구 이름은 해당 기능과 관련된 의미 있는 표현을 직접적으로 제공합니다.

그림 3: 도구당 하위 토큰 수의 분포는 각 인덱싱 방식에 따라 다릅니다. 원자 인덱싱은 각 도구가 단일 토큰임을 보장하는 반면, 숫자 인덱싱은 도구를 N 토큰, 즉 도구 번호가 [10N-1,10N] 범위에 속하는 토큰으로 인코딩합니다. 반면, 시맨틱 인덱싱과 계층적 인덱싱은 다양한 수의 하위 토큰을 생성하며, 시맨틱 인덱싱은 하위 토큰의 시퀀스가 더 길고 이상값이 더 많습니다.
구체적인 구현 세부 사항은 부록 B에 설명되어 있습니다.
먼저, 그림 3과 같이 각 툴을 표현하기 위해 각 방법에서 필요한 하위 토큰의 수를 분석했습니다. 그래프는 각 도구가 단일 토큰으로 표현되는 원자 인덱싱의 우월성을 강조하는 반면, 다른 방법에는 여러 개의 토큰이 필요합니다. 이러한 효율성을 통해 ToolGen은 토큰 생성 횟수를 줄이고 검색 및 에이전트 시나리오에서 추론 시간을 단축할 수 있습니다.
다음으로, 다양한 색인 방법의 효율성을 조사했습니다. 표 2에서 볼 수 있듯이, 시맨틱 인덱싱은 여러 메트릭과 시나리오에서 가장 우수한 검색 성능을 보였고, 원자 인덱싱은 많은 경우에서 근소한 차이로 2위를 차지했습니다. 이는 시맨틱 인덱싱이 대규모 언어 모델의 사전 학습된 데이터와 더 잘 일치하기 때문인 것으로 보입니다. 그러나 이러한 장점은 학습 데이터와 유형이 증가함에 따라 감소합니다. 예를 들어, 섹션 5.3에서는 원자 인덱스가 엔드 투 엔드 결과에서 더 나은 성능을 보인다는 것을 보여주었습니다. 이러한 요소를 고려하여 ToolGen 도구 가상화를 위해 원자 인덱스를 선택했습니다.
표 2: 멀티도메인 설정에서 다양한 인덱싱 방법의 검색 평가. 가장 좋은 결과는 굵게 표시되어 있고 두 번째로 좋은 결과는 밑줄이 그어져 있습니다.
모델링 | I1 | I2 | I3 | ||||||
---|---|---|---|---|---|---|---|---|---|
NDCG1 | NDCG3 | NDCG5 | NDCG1 | NDCG3 | NDCG5 | NDCG1 | NDCG3 | NDCG5 | |
숫자 | 83.17 | 84.99 | 88.73 | 79.20 | 79.23 | 83.88 | 71.00 | 74.81 | 82.95 |
라미네이션 | 85.67 | 87.38 | 90.26 | 82.22 | 82.70 | 86.63 | 78.50 | 79.47 | 84.15 |
단어의 의미 | 89.17 | 91.29 | 93.29 | 83.71 | 84.51 | 88.22 | 82.00 | 78.86 | 85.43 |
atomic | 87.67 | 88.84 | 91.54 | 83.46 | 86.24 | 88.84 | 79.00 | 79.80 | 84.79 |
표 3: 도구 검색을 위한 제거 연구. 검색 훈련, 도구 메모리 및 제한된 빔 검색을 제거하는 것이 ToolGen 성능에 미치는 영향은 개별적으로 평가됩니다.
모델링 | I1 | I2 | I3 | ||||||
---|---|---|---|---|---|---|---|---|---|
NDCG1 | NDCG3 | NDCG5 | NDCG1 | NDCG3 | NDCG5 | NDCG1 | NDCG3 | NDCG5 | |
ToolGen | 87.67 | 88.84 | 91.54 | 83.46 | 86.24 | 88.84 | 79.00 | 79.80 | 84.79 |
-메모리 | 84.00 | 86.77 | 89.35 | 82.21 | 83.20 | 86.78 | 77.00 | 77.71 | 84.37 |
-검색 교육 | 10.17 | 12.31 | 13.89 | 5.52 | 7.01 | 7.81 | 3.00 | 4.00 | 4.43 |
-바인딩 | 87.67 | 88.79 | 91.45 | 83.46 | 86.24 | 88.83 | 79.00 | 79.93 | 84.92 |
4.4 절제 실험
표와 같이 ToolGen의 다양한 훈련 단계별 효과를 평가하기 위해 절제 실험을 수행했습니다. 3 표시. 결과는 검색 훈련이 입력이 쿼리이고 출력이 도구 토큰인 검색 작업을 직접 정렬하기 때문에 도구 검색의 성능에 영향을 미치는 핵심 요소임을 보여줍니다. 도구 메모리를 제거하면 성능이 약간 저하되지만, 부록에서 보여드리겠지만 일반화 성능을 개선하는 데 도움이 됩니다. F 에서 자세히 설명합니다. 마찬가지로 제한된 번들 검색은 검색 작업에는 거의 기여하지 않지만 환각 생성을 방지하는 데 도움이 되므로 엔드 투 엔드 상담원 작업에서 어느 정도 가치가 있습니다(5.4절 참조).
5 엔드투엔드 평가
5.1 실험 설정
ToolBench의 추적 데이터를 ToolGen 프레임워크에 맞게 조정하기 위해 몇 가지 사항을 변경했습니다. 예를 들어, ToolGen은 입력으로 관련 도구를 명시적으로 선택할 필요가 없으므로 시스템 프롬프트에서 이 정보를 제거했습니다. 자세한 내용은 부록 G를 참조하세요. 이를 기반으로 재포맷된 데이터를 사용하여 검색 모델을 미세 조정하여 엔드투엔드 ToolGen 에이전트를 생성했습니다.
기준 모델
- GPT-3.5: 기준 모델 중 하나로 gpt-3.5-turbo-0613을 사용합니다. 구현은 GPT-3.5의 도구 호출 기능이 도구 에이전트를 구성하는 데 사용되는 StableToolBench(Guo et al., 2024)와 동일합니다.
- ToolLlama-2: Qin 등(2023)은 ToolBench 데이터에서 Llama-2(Touvron 등, 2023) 모델을 미세 조정하여 ToolLlama-2를 도입했습니다.
- 툴라마-3: 공정한 비교를 위해 툴벤치 데이터 세트의 툴젠과 동일한 기본 모델인 라마-3을 미세 조정하여 툴라마-3 기준 모델을 만들었습니다. 이 백서의 나머지 부분에서는 ToolLlama-3을 ToolLlama-2와 구분하기 위해 ToolLlama라고 부릅니다.
설정
- 정품 도구(G.T.) 사용: Qin 등(2023)을 참조하여 쿼리를 위한 정품 도구를 다음과 같이 정의합니다. ChatGPT 선택한 도구. ToolLlama의 경우, 프롬프트에 실제 도구를 학습 데이터와 동일한 형식으로 직접 입력했습니다. ToolGen의 경우, 미리 선택된 도구가 있는 데이터로 학습되지 않았기 때문에 계획 단계에서 다음 도구를 사용하고 있습니다:[tool 토큰여기서 [도구 토큰]은 실제 도구에 해당하는 가상 토큰입니다.
- 검색기 사용: 엔드투엔드 실험에서는 검색 기반 설정을 사용합니다. 기준 모델의 경우, ToolRetriever가 검색한 도구를 연관 도구로 사용합니다. 반면에 ToolGen은 도구 토큰을 직접 생성하므로 리트리버를 사용하지 않습니다.
모든 모델은 최대 학습 속도를 4 × 10-5로 설정한 코사인 스케줄러를 사용하여 미세 조정했습니다. 컨텍스트 길이는 6,144로, 총 배치 크기는 512로 잘라냈습니다. 또한 플래시-어텐션(Dao et al., 2022; Dao, 2024)과 딥스피드 ZeRO 3( Rajbhandari et al., 2020)를 사용하여 메모리를 절약했습니다.
ToolGen과 ToolLlama는 작업을 완료하기 위해 서로 다른 패러다임을 따르는데, ToolLlama는 아이디어, 작업 및 매개변수를 한 라운드에 생성하는 반면 ToolGen은 이러한 단계를 분리하여 진행합니다. ToolGen의 경우 최대 16라운드의 한도를 설정하여 5라운드의 작업과 1라운드의 최종 답변을 허용합니다. 이는 ToolLlama의 6라운드 제한과 비교됩니다.
또한 조기 종료를 방지하기 위해 모든 모델에 재시도 메커니즘을 도입했으며, 자세한 내용은 부록 D에 설명되어 있습니다. 특히, 모델이 "포기" 또는 "죄송합니다"가 포함된 응답을 생성하는 경우 모델에 더 높은 온도에서 응답을 다시 생성하라는 메시지를 표시합니다.
지표 평가
엔드투엔드 평가의 경우, 안정적인 도구 평가 벤치마크인 StableToolBench(Guo et al., 2024)를 사용하는데, 이는 ToolBench에서 해결 가능한 쿼리를 선택하고 GPT-4(OpenAI, 2024)를 사용하여 실패한 도구의 출력을 시뮬레이션합니다. 성공적으로 해결된 쿼리의 비율인 해결 가능 통과율(SoPR)과 참조 모델(이 연구에서는 GPT-3.5)을 능가하는 답변의 비율을 나타내는 해결 가능 승률(SoWR)이라는 두 가지 메트릭을 사용하여 성능을 평가합니다. 또한 각 카테고리에 대한 마이크로 평균 점수도 제공합니다.
표 4: 두 가지 설정에서 보이지 않는 명령의 엔드투엔드 평가 성능. R. 설정의 경우, GPT-3.5와 ToolLlama는 ToolRetriever를 사용하는 반면, ToolGen은 외부 리트리버를 사용하지 않습니다. 모든 결과 SoPR 및 SoWR 평가는 세 번 수행되며 평균값으로 보고됩니다.
모델링 | SoPR | SoWR | ||||||
---|---|---|---|---|---|---|---|---|
I1 | I2 | I3 | 평균 | I1 | I2 | I3 | 평균 | |
실제 도구 사용(G.T.) | ||||||||
GPT-3.5 | 56.60 | 47.80 | 54.64 | 50.91 | - | - | - | - |
ToolLlama-2 | 53.37 | 41.98 | 46.45 | 48.43 | 47.27 | 59.43 | 27.87 | 47.58 |
ToolLlama | 55.93 | 48.27 | 52.19 | 52.78 | 50.31 | 53.77 | 31.15 | 47.88 |
ToolGen | 61.35 | 49.53 | 43.17 | 54.19 | 51.53 | 57.55 | 31.15 | 49.70 |
리트리버(R.) 사용 | ||||||||
GPT-3.5 | 51.43 | 41.19 | 34.43 | 45.00 | 53.37 | 53.77 | 37.70 | 50.60 |
ToolLlama-2 | 56.13 | 49.21 | 34.70 | 49.95 | 50.92 | 53.77 | 21.31 | 46.36 |
ToolLlama | 54.60 | 49.96 | 51.37 | 51.55 | 49.08 | 61.32 | 31.15 | 49.70 |
ToolGen | 56.13 | 52.20 | 47.54 | 53.28 | 50.92 | 62.26 | 34.42 | 51.51 |
5.2 결과
표 4는 실제 도구(G.T.)와 리트리버(R.)를 사용하는 두 가지 환경에서 각 모델의 엔드투엔드 평가 성능을 보여줍니다. G.T. 환경에서는 ToolGen이 평균 54.19의 SoPR 점수를 기록해 GPT-3.5와 ToolLlama를 앞섰고, ToolGen이 49.70의 가장 높은 SoWR 점수를 달성했습니다. ToolGen은 평균 53.28의 SoPR과 51.51의 SoWR로 여전히 선두를 유지하고 있으며, 일부 개별 인스턴스에서 실제 툴보다 우수한 성능을 보여줬습니다. 툴라마는 일부 개별 인스턴스에서 툴젠을 능가하는 경쟁력을 보여주었습니다. 엔드투엔드 툴젠 제거 연구는 부록 G에 나와 있습니다.
표 5: 다양한 인덱싱 방법의 엔드투엔드 평가.
인덱싱 방법 | SoPR | SoWR | ||||||
---|---|---|---|---|---|---|---|---|
I1 | I2 | I3 | 평균 | I1 | I2 | I3 | 평균 | |
숫자 인덱스 | 34.76 | 29.87 | 46.99 | 35.45 | 25.77 | 33.02 | 29.51 | 28.79 |
계층적 인덱스 | 50.20 | 45.60 | 32.79 | 45.50 | 38.04 | 43.40 | 29.51 | 38.18 |
시맨틱 인덱싱 | 58.79 | 45.28 | 44.81 | 51.87 | 49.69 | 57.55 | 26.23 | 47.88 |
원자 색인 | 58.08 | 56.13 | 44.81 | 55.00 | 47.85 | 57.55 | 29.51 | 47.58 |
5.3 인덱싱 방법 비교
검색 작업의 인덱싱 방법 비교(4.3절 )와 마찬가지로 표 5는 엔드투엔드 에이전트 작업의 다양한 인덱싱 방법을 비교한 것입니다. 이 설정에서는 제한된 디코딩이 제거되어 에이전트가 생각, 행동 및 매개변수를 자유롭게 생성할 수 있습니다. 결과에서 원자 인덱싱 방법이 네 가지 인덱싱 방법 중 가장 우수한 성능을 보였습니다. 이는 5.4절에서 설명한 대로 다른 방법의 팬텀 비율이 더 높기 때문입니다.

그림 4: 존재하지 않는 툴을 생성할 때 다양한 모델의 팬텀 비율을 보여줍니다. 제한된 디코딩을 사용할 때는 존재하지 않는 도구를 생성하지 않습니다. 그러나 이러한 제한이 없는 경우, 원자 인덱싱을 사용할 때 ToolGen은 액션 생성 단계에서 7% 비도구 토큰을 생성하며, 시맨틱 인덱싱을 사용할 때 환영 비율이 더 높습니다. ToolLlama와 GPT-3.5의 경우, 힌트에 실제 도구가 5개만 제공되어도 착시 현상이 발생합니다. 힌트에 도구가 지정되지 않은 경우, ToolLlama는 50%를 초과하는 존재하지 않는 도구 이름을 생성합니다.
5.4 환각
엔드투엔드 에이전트 시나리오에서 툴 생성 시 모델의 가상 상황을 평가합니다. 이를 위해 모델의 학습과 일관되게 형식이 지정된 쿼리를 입력합니다. 특히 ToolGen의 경우 쿼리를 직접 입력하고 모델이 ToolGen 에이전트 패러다임(즉, 생각, 도구, 매개변수 순서)에 따라 응답을 생성하도록 유도합니다. 섹션 3.6에 설명된 번들 검색 제한 없이 액션 디코딩을 테스트했습니다. ToolLlama와 GPT-3.5의 경우, 쿼리를 입력하고 실제 도구 5개를 포함시켰습니다. 모든 설정에서 모든 도구 생성 액션에서 생성된 도구 중 데이터 세트에 존재하지 않는 도구의 비율을 보고했습니다. 그림 4는 다양한 모델에서 생성된 존재하지 않는 도구의 유령 비율을 보여줍니다. 그림에서 볼 수 있듯이, ToolLlama와 GPT-3.5는 실제 도구가 5개만 제공됨에도 불구하고 존재하지 않는 도구 이름을 생성할 가능성이 여전히 높습니다. 이와는 대조적으로 ToolGen은 제한된 디코딩 설계를 통해 환각을 완전히 방지합니다.
6 결론
이 백서에서는 도구별 가상 토큰을 모델 어휘에 포함시켜 도구 검색과 실행을 통합함으로써 도구 상호 작용을 생성 작업으로 전환하는 대규모 언어 모델링(LLM) 프레임워크인 ToolGen에 대해 소개합니다. 3단계 교육 프로세스를 포함하는 ToolGen은 LLM이 실제 시나리오에서 도구를 효율적으로 검색하고 실행할 수 있도록 지원합니다. 이러한 통합 접근 방식은 대규모 툴 라이브러리를 처리할 수 있는 확장 가능하고 효율적인 AI 에이전트에 대한 새로운 기준을 제시합니다. 앞으로 ToolGen은 연쇄 추론, 강화 학습, ReAct와 같은 고급 기술을 통합하여 실제 애플리케이션에서 LLM의 자율성과 다양성을 더욱 향상시킬 수 있는 문을 열 것입니다.
참조
- 아사이 외(2023) ↑아카리 아사이, 제추 우, 왕이종, 아비룹 실, 한나네 하지시르지.셀프 래그: 자기 성찰을 통해 검색, 생성, 비평하는 법을 배우다. 자기 성찰을 통해, 2023.URL https://arxiv.org/abs/2310.11511.
- 브로한 외(2023)↑ 앤서니 브로한, 노아 브라운, 저스티스 카르바잘, 예브겐 체보타르, 시 첸, 크지슈토프 초로만스키, 티안리 딩, 대니 드리스, 아비나바 두베이, 첼시 핀, 피트 피렌체, 추유안 푸, 몬트세 곤잘레스 아레나스, 키르타나 고팔락크리슈난, 케항 한, 카롤 아비나바 두베이, 첼시 핀, 피트 플로렌스, 추유안 푸, 몬세 곤잘레스 아레나스, 키르타나 고팔라크리쉬난, 케항 한, 카롤 하우스만, 알렉산더 헤르조그, 자스민 쉬, 브라이언 이흐터, 알렉스 이르판, 니킬 조시, 라이언 줄리안, 드미트리 칼라시니코프, 유헝 쿠앙, 이사벨 레알, 리사 리, 창웨이 에드워드 리 , 세르게이 레빈, 야오 루, 헨릭 미칼레프스키, 이고르 모르다치, 칼 페르치, 카니슈카 라오, 크리스타 레이만, 마이클 류, 그레시아 살라자르, 판나그 산케티, 피에르 세르넷, 자스필 조시, 라이언 줄리안, 드미트리 칼라쉬니코프, 유흥 쿠앙, 이사벨 레알, 리사 리, 창-웨이 에드워드 리, 창-웨이 리 피에르 세르메네, 자스피어 싱, 아니카이트 싱, 라두 소리컷, 후옹 트란, 빈센트 반호크, 콴 부옹, 아이잔 와히드, 스테판 웰커, 폴 월하트. 우지아린, 페이 샤, 테드 샤오, 펭 쉬, 시춘 쉬, 티안허 유, 브리아나 지트코비치.Rt-2: 비전-언어-액션 모델이 웹 지식을 로봇 제어, 2023.URL https://arxiv.org/abs/2307.15818.
- Brown 외(2020) ↑Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam. 기리쉬 사스트리, 아만다 아스켈, 산디니 아가르왈, 아리엘 허버트 보스, 그레첸 크루거, 톰 헤니건, 리원 차일드, 아디트야 라메쉬, 다니엘 M. 지글러. Jeffrey Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam 맥캔들리시, 알렉 래드포드, 일리야 수츠케버, 다리오 아모데이.언어 모델은 소수의 학습자이며, 휴고 라로셸, 마르쿠엘리오. Ranzato, Raia Hadsell, Maria-Florina Balcan, 및 Hsuan-Tien Lin (eds.). 신경 정보 처리 시스템의 발전 33: 신경 정보 처리 시스템 연례 컨퍼런스 2020, NeurIPS 2020, 12월 6~12일, 2020, 가상, 2020.URL https://proceedings.neurips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html.
- Chen 등(2023a) ↑바이안 첸, 창슈, 에산 샤레기, 나이젤 콜리어, 카틱 나라심한, 순유 야오.파이어액트: 언어 에이전트 미세 조정을 향해. 미세 조정.arXiv 사전 인쇄물 arXiv:2310.05915, 2023a.
- Chen 등(2023b)↑지앙기 첸, 루칭 장, 지아펑 구오, 마틴 드 리케, 웨이 첸, 이싱 판, 쉬에치 청.생성적 학습을 위한 지속적 학습. 검색 동적 코퍼라를 통해 제32회 ACM 정보 및 지식 관리에 관한 국제 컨퍼런스 자료집, CIKM '23, pp. 306-315, 뉴욕, NY, USA, 2023b. 컴퓨팅 기계 협회. isbn 9798400701245. 3583780.3614821.url https://dl.acm.org/doi/10.1145/3583780.3614821.
- Chen 등(2024a)↑준지 첸, 주하오 량, 벤유 왕.스머프: 도구의 맥락 효율성을 갖춘 다중 숙련도 에이전트 활용 계획, 2024a.URL https://arxiv.org/abs/2405.05955.
- Chen et al. (2024b)↑얀페이 첸, 윤진성, 데벤드라 싱 사찬, 칭제 왕, 빈센트 코헨-아다드, 모하마드호세인 바테니, 첸유 리, 그리고 Tomas Pfister.Re-invoke: 제로 샷 도구 검색을 위한 도구 호출 재작성.arXiv 사전 인쇄물 arXiv:2408.01875, 2024b.
- Chen et al. (2024c)↑Zehui Chen, Kuikun Liu, Qiuchen Wang, Wenwei Zhang, Jiangning Liu, Dahua Lin, Kai Chen, Feng Zhao.Agent-flan: 데이터 설계 및 대규모 언어 모델을 위한 효과적인 에이전트 튜닝 방법, 2024c.URL https://arxiv.org/abs/2403.12881.
- Dao(2024)↑Tri Dao.FlashAttention-2: 더 나은 병렬 처리 및 작업 분할로 더 빠른 주의 집중.In 학습 표현에 관한 국제 컨퍼런스(ICLR), 2024.
- (2022)↑트리 다오, 다니엘 Y. 푸, 스테파노 에르몬, 아트리 루드라, 크리스토퍼 레.플래시주의: 빠르고 메모리 효율적인 정확한 주의로 IO-awareness.In 신경 정보 처리 시스템(NeurIPS)의 발전, 2022.
- Dubey 외(2024)↑아비만유 두베이, 아브히나브 자우리, 아브히나브 판데이, 아비셰크 카디안, 아마드 알달레, 아이샤 레트만, 아킬 마투르, 앨런 셸튼, 에이미 양, 안젤라 팬 외. 라마 3마리 모델 무리.arXiv 프리프린트 arXiv:2407.21783, 2024.
- 그라비타스 (2023)↑Gravitas.AutoGPT, 2023.URL https://github.com/Significant-Gravitas/AutoGPT.
- Guo et al. (2024)↑Zhicheng Guo, Sijie Cheng, Hao Wang, Shihao Liang, Yujia Qin, Peng Li, Zhiyuan Liu, Maosong Sun, and Yang Liu.StableToolBench: Towards. 대규모 언어 모델의 도구 학습에 대한 안정적인 대규모 벤치마킹, 2024.URL https://arxiv.org/abs/2403.07714.
- Hao 외(2023)↑Shibo Hao, Tianyang Liu, Zhen Wang, Zhiting Hu.Toolkengpt: 도구를 통해 방대한 도구로 고정 언어 모델 보강하기 embeddings.In 앨리스 오, 트리스탄 나우만, 아미르 글로버슨, 케이트 센코, 모리츠 하르트, 세르게이 레빈(eds.) 신경 정보 처리 시스템의 발전 36: 신경 정보 처리 시스템 2023 연례 컨퍼런스, NeurIPS 2023, 미국 뉴올리언스, LA, 2023년 12월 10일 - 16일, 미국 미국, 2023년 12월 10일 - 16일, 2023.URL http://papers.nips.cc/paper_files/paper/2023/hash/8fd1a81c882cd45f64958da6284f4a3f-Abstract-Conference.html.
- 칼레르보 야르벨린과 야나 케켈라이넨(2002)↑칼레르보 야르벨린과 야나 케켈라이넨.IR 기법에 대한 누적 이득 기반 평가.정보 시스템에 대한 ACM 트랜잭션(TOIS), 20(4):422-446, 2002.
- Karpukhin 외(2020)↑블라디미르 카르푸킨, 바를라스 오구즈, 민세원, 패트릭 루이스, 레델 우, 세르게이 에두노프, 댄치 첸, 웬타우 이.밀도 높은 구절 개방형 도메인 질문 답변을 위한 검색 보니 웨버, Trevor Cohn, Yulan He, 양 리우(eds.) 중에서 2020 자연어 처리의 경험적 방법에 관한 컨퍼런스(EMNLP) 논문집6769-6781, 온라인, 2020. 전산 언어학 협회. 도이: 10.18653/v1/2020.emnlp-main.550.URL. https://aclanthology.org/2020.emnlp-main.550.
- 키쇼어 외(2023)↑Varsha Kishore, 차오 완, 저스틴 러브레이스, 요아브 아트지, 킬리안 Q. 와인버거.Incdsi: 점진적으로 업데이트 가능한 문서 검색.안드레아스 크라우스, 엠마 브룬스킬, 조경현, 바바라 엥겔하르트, 시반 사바토, 조나단 스칼렛(eds.). 머신 러닝 국제 컨퍼런스, ICML 2023, 2023년 7월 23~29일, 미국 하와이 호놀룰루, 미국의 202권 머신 러닝 연구 논문집17122-17134쪽. PMLR, 2023.URL https://proceedings.mlr.press/v202/kishore23a.html.
- Liu 등(2024)↑샤오 리우, 하오 유, 한첸 장, 이판 쉬, 쉬안유 레이, 한유 라이, 유구, 항량 딩, 카이웬 멘, 케주안 양 등 에이전트벤치. 에이전트로서 llms 평가하기 제12회 학습 표현에 관한 국제 컨퍼런스, 2024.
- Liu 외. (2023)↑ Zhiwei Liu, Weiran Yao, Jianguo Zhang, Le Xue, Shelby Heinecke, Rithesh Murthy, Yihao Feng, Zeyuan Chen, Juan Carlos Niebles, Devansh Arpit, 외. Bolaa: LLM 증강 자율 에이전트 벤치마킹 및 오케스트레이션.arXiv 프리프린트 arXiv:2308.05960, 2023.
- Mehta 외(2023)↑Sanket Vaibhav Mehta, Jai Gupta, Yi Tay, Mostafa Dehghani, Vinh Q. Tran, Jinfeng Rao, Marc Najork, Emma Strubell, Donald Metzler. DSI++: 업데이트 변압기 새 문서로 기억하기.후다 부아모르, 후안 피노, 칼리카 발리(eds.)에서. 2023년 자연어 처리의 경험적 방법에 관한 컨퍼런스 자료집8198-8213, 싱가포르, 2023. 전산 언어학 협회. 도이: 10.18653/v1/2023.emnlp-main.510.URL. https://aclanthology.org/2023.emnlp-main.510.
- OpenAI (2024)↑OpenAI.Gpt-4 기술 보고서, 2024.URL https://arxiv.org/abs/2303.08774.
- Patil 외(2023) ↑시시르 G. Patil, 티안준 장, 신 왕, 조셉 E. 곤잘레스.고릴라: 대규모 에이피스와 연결된 대규모 언어 모델, 2023. URL https://arxiv.org/abs/2305.15334.
- Qiao 외(2024)↑슈오페이 차오, 장닝위, 룬난 팡, 유지에 루오, 왕춘슈 저우, 유첸 엘리너 장, 청페이 리우, 후아준 첸.Autoact. 셀프 플래닝을 통해 처음부터 QA를 위한 자동 에이전트 학습, 2024.URL https://arxiv.org/abs/2401.05268.
- Qin et al. (2023)↑위지아 친(Yujia Qin), 시하오 량(Shihao Liang), 이닝 예(Yining Ye), 주쿤룬, 란얀, 야시 루, 얀카이 린, 신 콩, 샹루 탕, 빌 첸, 시한 조, 로렌 홍, 룬추 티엔, 루오빙 시에, 지에 저우, 마크 거슈타인, 다하이 리, 지유안 류, 마오송 썬. Runchu Tian, Ruobing Xie, Jie Zhou, Mark Gerstein, Dahai Li, Zhiyuan Liu, Maosong Sun.ToolLLM: 16000개 이상의 대규모 언어 모델을 마스터하기 위한 촉진 도구 실제 API, 2023.URL https://arxiv.org/abs/2307.16789.
- Qu et al. (2024)↑Change Qu, Sunhao Dai, Xiaochi Wei, Hengyi Cai, Shuaiqiang Wang, Dawei Yin, Jun Xu, Ji-Rong Wen.대규모 언어를 사용한 도구 학습 대규모 언어 모델을 사용한 도구 학습: 설문조사.arXiv 사전 인쇄물 arXiv:2405.17935, 2024.
- Rajbhandari 외(2020)↑Samyam Rajbhandari, Jeff Rasley, Olatunji Ruwase, Yuxiong He.Zero: 트레이닝 조 단위 학습을 위한 메모리 최적화 매개변수 모델, 2020.URL https://arxiv.org/abs/1910.02054.
- 로버트슨 등(2009)↑스티븐 로버트슨, 휴고 자라고사 등 확률론적인 관련성 프레임워크: Bm25 이상.정보 검색의 기초와 트렌드®, 3(4):333-389, 2009.
- Schick 외(2023)↑Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Luke Zettlemoyer, Nicola Cancedda 및 Thomas 언어 모델이 스스로 도구 사용법을 가르칠 수 있는 Scialom.Toolformer, 2023.URL https://arxiv.org/abs/2302.04761.
- Shen 등(2024)↑Weizhou Shen, Chenliang Li, Hongzhan Chen, Ming Yan, Xiaojun Quan, Hehong Chen, Ji Zhang, Fei Huang.작은 llms는 약한 도구입니다. 학습자: 멀티 llm 에이전트, 2024.URL https://arxiv.org/abs/2401.07324.
- Shinn 등(2023)↑노아 신, 페데리코 카사노, 애쉬윈 고피나스, 카틱 나라심한, 슌유 야오.반사: 언어적 강화 학습.In 제37회 신경 정보 처리 시스템에 관한 국제 컨퍼런스 논문집, 8634-8652쪽, 2023.
- Sun et al. (2023)↑웨이웨이 선, 링용 얀, 정 첸, 슈아이창 왕, 하이차오 주, 펑지에 렌, 주민 첸, 다웨이 인, 마틴 드 리케, 자오춘 Ren.생성 검색을 위한 토큰화 학습(Alice Oh, Tristan Naumann, Amir Globerson, Kate Saenko, Moritz Hardt, 세르게이 레빈(eds.)) 신경 정보 처리 시스템의 발전 36: 신경 정보 처리 시스템 2023 연례 컨퍼런스, NeurIPS 2023, 미국 뉴올리언스, LA, 2023년 12월 10일 - 16일, 미국 미국, 2023년 12월 10일 - 16일, 2023.URL http://papers.nips.cc/paper_files/paper/2023/hash/91228b942a4528cdae031c1b68b127e8-Abstract-Conference.html.
- 투브론 외(2023)↑휴고 투브론, 티보 라브릴, 고티에 이자카드, 자비에 마르티네, 마리 안 라쇼, 티모테 라크루아, 밥티스트 로지에르, 나망 고얄, 에릭 함브로, 파이살 아자르, 오렐리앙 로드리게스, 아르망 줄랭, 에두아르 그라브, 기욤 라마: 개방적이고 효율적인 재단 언어 모델, 2023.URL https://arxiv.org/abs/2302.13971.
- Wang 등(2024)↑Renxi Wang, Haonan Li, Xudong Han, Yixuan Zhang, Timothy Baldwin.실패로부터 배우기: 부정적인 예시를 미세 조정할 때 통합하기 -대규모 언어 모델을 에이전트로 조정하기.arXiv 프리프린트 arXiv:2402.11651, 2024.
- Wang et al. (2022)↑Yujing Wang, Yingyan Hou, Haonan Wang, Ziming Miao, Shibin Wu, Qi Chen, Yuqing Xia, Chengmin Chi, Guoshuai Zhao, Zheng Liu, Xing Xie, Hao Sun, Weiwei Deng, Qi Zhang 및 Mao Yang. 문서 검색을 위한 신경 말뭉치 인덱서.In Sanmi Koyejo, S. Mohamed, A. Agarwal, Danielle Belgrave, K. Cho, and A. Oh (2008), a neural corpus indexer for document retrieval. Cho, and A. Oh (eds.). 신경 정보 처리 시스템의 발전 35: 신경 정보 처리 시스템 연례 컨퍼런스 2022, NeurIPS 2022, 미국 뉴올리언스, LA, 2022년 11월 28일 - 12월 9일 뉴올리언스, LA, 미국, 2022년 11월 28일 - 12월 9일, 2022.URL http://papers.nips.cc/paper_files/paper/2022/hash/a46156bd3579c3b268108ea6aca71d13-Abstract-Conference.html.
- 웨이 외(2023)↑Jason Wei, 쉬에즈 왕, 데일 슈어만스, 마틴 보스마, 브라이언 아이치터, 페이 샤, 에드 치, 쿠옥 레, 데니 주우.생각의 연쇄. 대규모 언어 모델에서 추론을 이끌어내는 프롬프트, 2023.URL https://arxiv.org/abs/2201.11903.
- Wu et al. (2024a)↑칭윈 우, 가간 반살, 지에유 장, 이란 우, 베이빈 리, 어캉 주, 리 장, 샤오윈 장, 샤오쿤 장, 지레 리우, 아메드 하산. 아와달라, 라이엔 화이트, 더그 버거, 치 왕.Autogen: 다중 에이전트 대화 프레임워크를 통한 차세대 llm 애플리케이션 활성화.In COLM, 2024a.
- Wu 외(2024b)↑친주오 우, 웨이 리우, 지안 루안, 빈 왕.ToolPlanner: 경로 계획을 통한 다중 세분성 지침을 위한 도구 증강 LLM. 및 피드백, 2024b.URL https://arxiv.org/abs/2409.14826.
- (2021)↑Lee Xiong, Chenyan Xiong, Ye Li, Kwok-Fung Tang, Jialin Liu, Paul N. Bennett, Junaid Ahmed, Arnold Overwijk.대략적인 근사치. 조밀 한 텍스트 검색을위한 이웃 음의 대조 학습 .In 제9회 학습 표현에 관한 국제 컨퍼런스, ICLR 2021, 가상 이벤트, 오스트리아, 2021년 5월 3~7일. OpenReview.net, 2021.URL https://openreview.net/forum?id=zeFrfgyZln.
- Xu 등(2024)↑Qiancheng Xu, Yongqi Li, Heming Xia, Wenjie Li.대규모 언어 모델로부터 반복적인 피드백으로 도구 검색을 향상시킵니다.arXiv 프리프린트 arXiv:2406.17465, 2024.
- 야오 외(2023)↑순유 야오, 제프리 자오, 다이안 유, 난 두, 이작 샤프란, 카틱 나라심한, 위안 카오.ReAct: 추론과 행동의 시너지 효과. 언어 모델.In 학습 표현에 관한 국제 컨퍼런스(ICLR), 2023.
- Yin 외(2024)↑다 인, 파에즈 브라만, 아빌라샤 라비찬더, 캬티 찬두, 카이웨이 장, 최예진, 빌 유첸 린.에이전트 루모스: 통합 및 오픈 소스 언어 에이전트를 위한 모듈식 교육.In Lun-Wei Ku, Andre Martins, Vivek Srikumar (eds.) 제62회 계산 언어학 협회 연례 회의 논문집(1권: 장편 논문)12380-12403, 태국 방콕, 2024년 8월. 컴퓨터 언어학 협회. 도이: 10.18653/v1/2024.acl-long.670. URL https://aclanthology.org/2024.acl-long.670.
- Zeng 외(2023) ↑오한 젠(Zeng), 밍다오 류(Mingdao Liu), 루이 루(Rui Lu), 보웬 왕, 샤오 류, 유샤오 동, 지 탕(Jie Tang).에이전트 튜닝: 일반화된 에이전트 능력 구현하기 2023년, LLMS.
실제 도구의 예
지도 5 실제 도구의 예가 나와 있습니다. 각 도구에는 여러 개의 API가 포함되어 있습니다. 실험에서 사용된 필드는 다음과 같습니다. "tool_name"은 도구의 이름입니다. "tool_description"은 도구의 기능 등 도구에 대한 정보를 설명합니다. 각 API에서 "name"은 API의 이름입니다. "description"은 API에 대한 정보를 설명합니다. "method"는 API를 호출하는 http 메서드입니다. "required_parameters"는 API를 호출할 때 입력해야 하는 매개변수입니다. "optional_parameters"는 추가 매개변수를 설정하는 데 사용할 수 있습니다(선택 사항).
{
"tool_name":"YouTube Hub",
"tool_description":"获取单个视频的点赞数、观看次数、标题、缩略图等详细信息。",
"home_url":"https://rapidapi.com/itsrohitofficial-XBPdXttOUQ/api/youtube-hub/",
"host":"youtube-hub.p.rapidapi.com",
"api_list":[
{
"name":"获取视频详情",
"url":"https://youtube-hub.p.rapidapi.com/",
"description":"获取视频的所有基本信息",
"method":"GET",
"required_parameters":[
{
"name":"id",
"type":"STRING",
"description":"",
"default":"fD6SzYIRr4c"
}
],
"optional_parameters":[],
}
]
}

그림 5: 실제 도구의 예. 이 도구에는 API가 포함되어 있으며 간소화를 위해 불필요한 필드는 제거되었습니다.
B 도구 가상화 구현
ToolGen은 하나의 고유한 토큰을 사용해 도구를 나타내며, 이는 도구 검색과 호출에 있어 강점을 보여줍니다. 또한 시맨틱, 숫자, 계층적 등 다른 도구 색인 방법도 도입했습니다. 아래는 각 인덱싱 유형을 구현하는 방법에 대한 자세한 설명입니다.
atomic
인덱싱은 툴젠에서 사용하는 방법입니다. 다른 방법과 달리 단일 토큰을 도구로 사용하며, 존재하지 않는 도구를 위조하지 않습니다. 도구 이름과 API 이름을 하나의 토큰으로 결합하기 위해 <>을 사용합니다. A 이 섹션의 예는 <> 토큰을 생성합니다.
단어의 의미
인덱스는 각 도구를 도구 이름과 API 이름의 조합인 ToolBench에서 사용되는 이름에 매핑합니다. 그러나 모델이 그 의미적 의미를 인식할 수 있도록 이름을 여러 개의 토큰으로 나눌 수 있습니다. 부록 A의 예제에서 결과 매핑은 get_video_details_for_youtube_hub입니다.
숫자
색인은 각 도구를 고유 번호에 매핑합니다. 먼저 약 47,000개에 달하는 모든 도구 목록을 가져와서 모든 도구에 대해 공백으로 구분된 5자리 숫자를 사용하여 도구를 나타냅니다. 부록 A의 예가 목록에서 128번째 요소인 경우 0 0 0 0 1 2 8을 사용하여 도구를 나타냅니다. Llama-3 어휘집은 각 숫자를 다음과 같이 인코딩하므로
레이어링
는 각 도구를 숫자에 매핑합니다. 숫자 인덱스와 달리 반복적인 클러스터링을 통해 도구 표현에 구조적 정보를 주입합니다. 각 반복에서 도구를 10개의 클러스터로 묶고 각 클러스터에 0에서 9까지의 숫자를 할당합니다. 각 클러스터에 대해 해당 클러스터에 도구가 하나만 남을 때까지 이 클러스터링 프로세스를 반복합니다. 이러한 단계가 클러스터링 트리를 형성합니다. 루트에서 해당 리프에 있는 도구를 나타내는 리프 번호로 이동합니다. 부록 A의 예에서는 0 1 2 2 3 3 3과 같이 5자리보다 긴 숫자를 할당할 수 있습니다.
C 제약 조건 검색 세부 정보
엔드투엔드 에이전트 작업을 검색하고 완료할 때, 생성된 작업을 유효한 도구 토큰으로 제한하기 위해 제약된 번들 검색을 사용합니다. 자세한 단계는 알고리즘 1에 설명되어 있으며, 기본 아이디어는 번들 검색 단계 중에 검색 공간을 제한하는 것입니다. 이를 위해 먼저 각 노드가 도구 토큰 ID를 나타내고 해당 노드의 자식은 모두 현재 ID를 따르는 실행 가능한 ID인 분리된 사전 트리를 구성합니다. 이 트리를 사용하면 현재 검색된 ID를 기반으로 가능한 모든 다음 토큰 ID를 결정할 수 있습니다. 번들 검색 단계에서는 실행 불가능한 다른 모든 토큰을 차단합니다. 로그를 모두 차단하여 가능한 ID만 샘플링하거나 검색하도록 합니다.
검색의 경우 생성 중에 바로 적용할 수 있습니다. 엔드투엔드 에이전트 작업의 경우 추론 단계를 세 번의 대화 라운드로 분해하기 때문에 ToolGen이 작업을 생성해야 하는 시점을 쉽게 감지하여 제약 조건을 적용할 수 있습니다. 그림 6은 ToolGen에 대한 엔드투엔드 추론의 예를 보여 주는데, 여기에는 ToolGen이 선택할 수 있는 관련 도구가 없습니다. ToolToken을 생성하고 작업을 완료하기만 하면 됩니다.
표 6: 세 단계의 훈련에 대한 데이터 세트 통계. 도구 메모리의 경우 일부 중복이 있어 사용된 도구 수에 비해 샘플 크기가 약간 더 큽니다.
데이터 집합 | 도구 메모리 | 검색 교육 | 엔드투엔드 상담원 튜닝 | |||
---|---|---|---|---|---|---|
I1 | I2 | I3 | 전체 | |||
#num | 49,936 | 194,086 | 222,783 | 72,833 | 489,702 | 183,336 |
系统:您是一个 AutoGPT,能够利用众多工具和功能来完成给定的任务。
1. 首先,我会给您提供任务描述,您的任务将开始。
2. 在每一步中,您需要通过生成一个行动令牌来确定下一步行动。
3. 在令牌之后,您将收到与该令牌对应的行动文档。您需要生成该行动的输入,将您转移到一个新状态。随后,您将决定下一步,并重复此过程。
4. 在生成多个行动和输入的几次迭代后,您将最终完成任务并提供您的最终答案。
... ...
:我最近访问了 Viva City,菜单给我留下了深刻的印象。我想了解更多关于场馆 5a76c927bb5d660001e09731 的菜单项。您能提供菜单类别、价格、可用性、规则、套餐项及其他相关细节吗?请使用语言 'zh-hans' 来提供菜单详情。
:我需要调用 "<<Viva City Documentation&&MenuDetails>>" 函数以检索场馆 5a76c927bb5d660001e09731 的菜单详情。调用此函数的原因是为了向用户提供菜单类别、价格、可用性、规则、套餐项及其他相关细节。该函数的调用参数为 "lang" 设置为 "zh-hans" 和 "is_id" 设置为 "5a76c927bb5d660001e09731",以确保提供的菜单详情符合所需语言,并且是针对特定场馆。
:生成行动。
:<<Viva City Documentation&&MenuDetails>>
:请给出输入。以下是文档:{'name': '<<Viva City Documentation&&VenueDetails>>', 'description': '使用 KV 获取场馆详情(需要重新同步以获取最新数据),并根据查询参数过滤动态多语言数据。', 'required': [{'name': 'id', 'type': 'STRING', 'description': '', 'default': '56c467cb7b0d464811a42017'}, {'name': 'lang', 'type': 'STRING', 'description': '', 'default': 'zh-hans'}], 'optional': []}
:{\n "is_id": "5a76c927bb5d660001e09731",\n "lang": "zh-hans"\n}
:{'error': '', 'response': {'menu_id': '5a76c927bb5d660001e09731', 'language': 'zh-hans', 'menu_details': {'sections': [{'section_name': '开胃菜', 'items': [{'item_name': '春卷', 'description': '脆皮春卷,搭配特制酱汁', 'price': 12.99}, {'item_name': '鸡肉串', 'description': '香辣鸡肉串,外焦里嫩', 'price': 15.99}]}, {'section_name': '主菜', 'items': [{'item_name': '宫保鸡丁', 'description': '经典川菜,麻辣鲜香', 'price': 18.99}, {'item_name': '清蒸鲈鱼', 'description': '清新淡雅,营养健康', 'price': 22.99}]}], 'special_notes': '本菜单提供纯素选项,请告知服务员。'}}}
:场馆 5a76c927bb5d660001e09731 的菜单详情如下:\n- 菜单类别:中餐\n价格:\n - 项目 1:12.99 人民币\n - 项目 2:15.99 人民币\n - 项目 3:18.99 人民币\n - 项目 4:22.99 人民币\n可用性:\n - 项目 1:可用\n - 项目 2:可用\n - 项目 3:可用\n - 项目 4:可用\n- 规则:\n - 项目 1:未提及具体规则\n - 项目 2:未提及具体规则\n - 项目 3:未提及具体规则\n - 项目 4:未提及具体规则\n- 套餐项:\n - 项目 1:2份套餐\n - 项目 2:2份套餐\n - 项目 3:2份套餐\n - 项目 4:2份套餐\n- 其他相关细节:\n - 特别说明:菜单可能会更改,价格也可能会变动。请向场馆确认最新信息。\n\n请告诉我是否还有其他我可以帮助您的地方!
:生成行动。
:<<Finish>>
:请给出输入。以下是文档:{'required': [], 'optional': [{'name': 'give_answer', 'description': '输出答案', 'type': 'string'}, {'name': 'give_up_and_restart', 'description': '无法从此步骤处理任务', 'type': 'string'}]}
:{"return_type": "give_answer", "final_answer": "场馆 5a76c927bb5d660001e09731 的菜单详情如下:\n- 菜单类别:中餐\n- 价格:\n - 项目 1:12.99 人民币\n - 项目 2:15.99 人民币\n - 项目 3:18.99 人民币\n - 项目 4:22.99 人民币\n- 可用性:\n - 项目 1:可用\n - 项目 2:可用\n - 项目 3:可用\n - 项目 4:可用\n- 规则:\n - 项目 1:未提及具体规则\n - 项目 2:未提及具体规则\n - 项目 3:未提及具体规则\n - 项目 4:未提及具体规则\n- 套餐项:\n - 项目 1:2份套餐\n - 项目 2:2份套餐\n - 项目 3:2份套餐\n - 项目 4:2份套餐\n- 其他相关细节:\n - 特别说明:菜单可能会更改,价格也可能会变动。请向场馆确认最新信息。"}
그림 6: ToolGen을 사용한 추론의 예. 먼저 관련 도구 없이 시스템 프롬프트가 제공됩니다. 그런 다음 사용자가 작업 쿼리를 제공하고, ToolGen이 생각을 생성한 다음, 사용자 역할 프롬프트 모델을 사용하여 작업을 생성합니다. 작업을 생성한 후 다시 사용자를 사용하여 도구 문서를 제공합니다. 모델은 이 문서를 기반으로 도구 입력을 생성합니다.
E 절제 테스트
표 7은 엔드투엔드 평가에 대한 제거 결과를 보여줍니다. 보이지 않는 지침의 경우 툴 메모리 또는 검색 훈련 없이도 ToolGen 에이전트의 성능이 약간 더 우수합니다. 그러나 보이지 않는 도구의 경우 처음 두 단계의 훈련이 없으면 SoPR과 SoWR이 모두 감소합니다. 이는 처음 두 단계의 훈련이 ToolGen의 일반화 능력에 중요한 역할을 하는 반면, 검색 훈련은 도구 기억보다 더 중요하다는 것을 시사합니다.
표 7: ToolGen의 엔드투엔드 평가에 따른 제거 결과. 여기서 Inst. 는 보이지 않는 쿼리(명령어)를 나타내고 Tool. 및 Cat. 은 학습 중에 보이지 않는 도구를 나타냅니다.
모델링 | SoPR | SoWR | ||||||
---|---|---|---|---|---|---|---|---|
I1-Inst. | I2-Inst. | I3-Inst. | 평균 | I1-Inst. | I2-Inst. | I3-Inst. | 평균 | |
ToolGen | 54.60 | 52.36 | 43.44 | 51.82 | 50.31 | 54.72 | 26.23 | 47.28 |
검색 교육 미실시 | 56.95 | 46.70 | 50.27 | 52.42 | 49.69 | 50.94 | 34.43 | 47.27 |
암기 없음 | 56.03 | 47.96 | 57.38 | 53.69 | 49.08 | 59.43 | 34.43 | 49.70 |
I1-Tool. | I1-Cat. | I2 Cat. | 평균 | I1-Tool | I1-Cat. | I2 Cat. | 평균 | |
ToolGen | 56.54 | 49.46 | 51.96 | 52.66 | 40.51 | 39.87 | 37.90 | 39.53 |
검색 교육 미실시 | 49.47 | 40.31 | 37.90 | 42.84 | 36.71 | 30.07 | 36.29 | 34.18 |
암기 없음 | 58.86 | 46.19 | 49.87 | 51.70 | 37.34 | 38.56 | 42.74 | 39.32 |
F 일반화 기능
ToolGen 에이전트의 경우, 학습되지 않은 도구 쿼리에 대한 모델의 성능을 측정합니다. 표 8은 보이지 않는 도구에 대한 모델의 엔드투엔드 평가를 보여줍니다. ToolGen Agent의 성능은 ToolLlama보다 낮으며, 이는 전체 작업을 완료할 때 일반화가 제대로 이루어지지 않음을 의미합니다. 일반화 문제는 생성 검색에 널리 퍼져 있으며 이 백서의 범위를 벗어납니다. 따라서 향후 연구를 위해 남겨두겠습니다.
표 8: ToolGen의 일반화 결과. 학습 중에 보이지 않는 도구가 필요한 쿼리에 대해 다른 모델과 ToolGen의 성능을 테스트하고 비교했습니다.
모델링 | 설정 | SoPR | SoWR | ||||||
---|---|---|---|---|---|---|---|---|---|
I1-Tool. | I1-Cat. | I2 Cat. | 평균 | I1-Tool | I1-Cat. | I2 Cat. | 평균 | ||
GPT-3.5 | GT. | 58.90 | 60.70 | 54.60 | 58.07 | - | - | - | - |
ToolLlama | GT. | 57.38 | 58.61 | 56.85 | 57.68 | 43.04 | 50.31 | 54.84 | 49.04 |
ToolGen | GT. | 52.32 | 40.46 | 39.65 | 47.67 | 39.24 | 38.56 | 40.32 | 39.30 |
GPT-3.5 | 검색(데이터) | 57.59 | 53.05 | 46.51 | 52.78 | 46.20 | 54.25 | 54.81 | 51.58 |
ToolLlama | 검색(데이터) | 57.70 | 61.76 | 45.43 | 54.96 | 48.73 | 50.98 | 44.35 | 48.30 |
ToolGen | 56.54 | 49.46 | 51.96 | 52.66 | 40.51 | 39.87 | 37.90 | 39.53 |
ToolBench 데이터를 ToolGen에 적용하기
툴젠 데이터는 툴벤치 데이터를 조정하고 변형한 것입니다. 특히 도구 문서가 도구 메모리 학습을 위한 데이터로 사용되며, 입력은 도구 문서이고 출력은 해당 토큰입니다.
검색 훈련의 경우, 쿼리에 여러 개의 관련 도구가 주석 처리된 ToolBench에서 도구 검색을 위해 주석이 달린 데이터를 사용합니다. 쿼리를 입력으로 받아 관련 도구를 가상 토큰으로 변환한 다음 검색 학습의 출력으로 사용합니다.
엔드투엔드 스마트바디 튜닝을 위해 다음과 같은 변환을 통해 상호작용 궤적을 소스로 사용합니다.(1) 각 궤적에는 쿼리를 해결하는 데 사용할 수 있는 시스템 힌트에서 사용할 수 있는 도구가 포함되어 있습니다. 작업을 완료할 때 ToolLlama는 시스템 힌트에서 검색된 도구에 의존하여 작업을 해결하는 반면, ToolGen은 도구를 직접 생성할 수 있습니다. 따라서 시스템 힌트에서 도구를 제거합니다. (2) 궤적의 모든 도구 이름을 해당 가상 도구 토큰으로 대체합니다. (3) 원래 궤적에서 지능형 신체 모델은 생각, 행동, 행동 입력(ReAct라고도 함)을 순차적으로 생성합니다. 전체 ReAct를 세 번의 대화 라운드로 분해합니다. 첫 번째 라운드에서는 지능형 신체 모델이 생각을 생성하고 사용자가 모델에 행동을 생성하도록 유도합니다. 두 번째 라운드에서는 모델이 액션, 즉 가상 도구 토큰을 생성한 다음 이 토큰에 해당하는 문서를 가져와 모델이 어떤 매개변수를 지정할지 알 수 있도록 합니다. 세 번째 라운드에서는 모델이 도구에 대한 매개변수를 생성합니다.
각 데이터 세트의 샘플 수는 표 6에 나와 있으며, 도구 메모리 및 검색 훈련용 샘플은 그림 7에, 엔드투엔드 인텔리전스 튜닝용 샘플은 그림 8에 나와 있습니다.
# 工具记忆
用户: 工具名称:泰国驾驶执照 OCR。工具描述:提取泰国驾驶执照上的信息并返回文本结果,例如驾驶执照号码和个人信息。API 名称:驾驶执照 API 描述:提取泰国驾驶执照上的信息并返回文本结果,例如驾驶执照号码和个人信息。
助手: <<Thai Drivers License OCRDriver's License>>
# 检索训练
用户: 我和我的朋友正在组织一个关于“网页开发”和“移动应用开发”的黑客马拉松。我们需要一些灵感和指导。你能从 Medium.com 获取这些主题的热门故事吗?
助手: <<Medium&&/search/topics>>

그림 7: 도구 기억 및 검색 훈련을 위한 데이터 세트 예시. 사용자 역할은 입력을 나타내고 어시스턴트 역할은 출력을 나타내는 데 사용합니다.
# 端到端代理调优
系统:
您是一个 AutoGPT,能够利用众多工具和功能来完成给定的任务。
1. 首先,我会提供给您任务描述,您的任务将开始。
2. 在每一步中,您需要通过生成一个操作 Token 来确定下一步行动。
3. 在 Token 之后,您将收到与该 Token 对应的操作文档。您需要生成操作的输入,帮助您转到新的状态。随后,您将对下一步进行决策,并重复此过程。
4. 在生成多个操作和输入的若干次迭代后,您最终将完成任务并提供您的最终答案。
记住:
1. 状态变化是不可逆的,您无法返回到之前的状态。
2. 保持您的操作简洁,限制在最适合当前查询的范围内。
3. 您可以进行多次尝试。如果您计划不断尝试不同的条件,请每次尝试一个条件。
4. 如果您认为您已经收集了足够的信息,请生成操作 "<<Finish>> with argument give_answer",以提供您对该任务的答案。
5. 如果您觉得在这一步无法处理任务,请生成操作 "<<Finish>> with argument give_up_and_restart"。
让我们开始吧!
任务描述:您应该使用操作来处理实时用户查询。记住:
1. 在任务结束时始终生成 "<<Finish>>"。最终答案应包含足够的信息以展示给用户。如果您无法处理任务,或者发现操作总是失败(该功能当前无效),请使用操作 <<Finish>> with give_up_and_restart。
2. 仅生成操作和输入。
用户:
您能否获取邮政编码 'PL11DN' 的地址?我想知道找到的项目数量、区、分区、县、国家以及地理编码详情(东向、北向、纬度和经度)。
开始!
助手:
根据用户的查询,他们想获取邮政编码 'PL11DN' 的地址,并检索特定详情,如找到的项目数量、区、分区、县、国家以及地理编码详情。当前的 API 调用是针对函数 'find_by_postcode',参数 'postcode' 设置为 'PL11DN'。此 API 很有用,因为它可以根据给定的英国邮政编码提供地址。通过使用此 API,我将能够为用户的查询检索所需的信息。
用户:
生成操作。
助手:
<<Find By PostCode&&Find By PostCode>>
用户:
请给出输入。这是文档:{'name': '<<Find By PostCode&&Find By PostCode>>', 'description': '“Find By PostCode” API 根据给定的英国邮政编码获取地址。此 API 提供 JSON 接口以搜索英国邮政编码的地址。', 'required': [{'name': 'postcode', 'type': 'string', 'description': '', 'default': 'PL11DN'}], 'optional': []}
助手:
{
"postcode": "PL11DN"
}
工具:
{"error": "", "response": "{'status': 200, 'message': '成功', 'noOfItems': 37, 'result': {'postcode': 'PL1 1DN', 'district': '普利茅斯', 'ward': '圣彼得和海滨', 'county': '德文', 'country': '英格兰', 'geocode': {'eastings': '248025', 'northings': '0054420', 'lattitude': '50.370001', 'longitude': '-4.138397'}, 'addresses': [{'po_box': '', 'line_2': '', 'postcode_type': 'S', 'line_3': '', 'su_organisation_indicator': ' ', 'building_number': '5', 'udprn': '18911184', 'thoroughfare': '圣安德鲁十字', 'line_1': '5 圣安德鲁十字', 'postcode_outcode': 'PL1', 'postcode_compact': 'PL11DN', 'dependant_thoroughfare': '', 'premise': '5', 'post_town': '普利茅斯', 'building_name': '', 'organisation_name': '', 'postcode': 'PL1 1DN', 'department_name': '', 'postcode_incode': '1DN', 'address': '5 圣安德鲁十字, 普利茅斯, PL1 1DN', 'double_dependant_locality': '', 'sub_building_name': '', 'dependant_locality': '', 'delivery_point_suffix': '4T'}, {'po_box': '', 'line_2': '2 圣安德鲁十字', 'p...
用户:
生成操作。
助手:
<<Finish>>
用户:
请给出输入。这是文档:{'required': [], 'optional': [{'name': 'give_answer', 'description': '输出答案', 'type': 'string'}, {'name': 'give_up_and_restart', 'description': '无法处理此步骤的任务', 'type': 'string'}]}
助手:
{
"return_type": "give_answer",
"final_answer": "找到的项目数量:37\n区:普利茅斯\n分区:圣彼得和海滨\n县:德文\n国家:英格兰\n地理编码详情:\n- 东向:248025\n- 北向:0054420\n- 纬度:50.370001\n经度:-4.138397"
}
! [[붙여넣은 이미지 20241027190429.png]]
그림 8: 엔드투엔드 상담원 튜닝의 예.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...