Autoren:
(1) Kexun Zhang, UC Santa Barbara und gleicher Beitrag;
(2) Hongqiao Chen, Northwood High School und gleicher Beitrag;
(3) Lei Li, Carnegie Mellon Universität;
(4) William Yang Wang,UC Santa Barbara.
In diesem Abschnitt zeigen wir, dass TOOLDEC Syntaxfehler beim Generieren von Tool-Aufrufen beseitigen kann. Wir wählen zwei aktuelle Baselines, ToolLLM und ToolkenGPT, die das In-Context-Learning- und das Fine-Tuning-Paradigma repräsentieren, um die Fähigkeiten von TOOLDEC zu demonstrieren. Da die Tool-Nutzungseinstellungen für die beiden Baselines unterschiedlich sind und nicht aufeinander angewendet werden können, testen wir die Leistung von TOOLDEC separat für die beiden Baselines anhand der Benchmarks aus den Originalarbeiten. Durch umfangreiche Experimente zeigen wir, dass TOOLDEC Syntaxfehler vollständig beseitigen kann, was zu besserer Genauigkeit und kürzerer Inferenzzeit führt.
ToolLLM (Qin et al., 2023). ToolLLM ist ein kontextbezogener Lernansatz für werkzeugerweiterte Sprachmodelle. Es verwendet ein anweisungsoptimiertes LLaMA-7B-Modell (Touvron et al., 2023) zur Verwendung von Werkzeugen. Ausgehend von der natürlichsprachlichen Anweisung einer werkzeugabhängigen Aufgabe ruft ein API-Retriever zunächst eine kleine Teilmenge relevanter Funktionen ab. Textbeschreibung und Schema dieser relevanten Funktionen werden im Kontext bereitgestellt. Anschließend durchläuft ToolLLM einen mehrstufigen Denkprozess unter Verwendung der Funktionen, um eine endgültige Antwort zu erzeugen.
ToolLLM wird anhand von ToolEval ausgewertet, einem im selben Artikel vorgeschlagenen Datensatz. ToolEval enthält Aufgaben, die einen riesigen Satz (über 10.000) öffentlich verfügbarer REST-APIs umfassen. Wir verwenden die schwierigsten Teilmengen von ToolEval, um unsere Methode auszuwerten – I2-Kategorie und I3-Anweisung. Sie enthalten Aufgaben, deren Lösung komplexe und unbekannte Tools aus mehreren Kategorien (wie Geolokalisierung, Datum/Uhrzeit und andere) erfordert. Im Durchschnitt benötigt eine Aufgabe der I2-Kategorie 6,76 Tools und eine Aufgabe der I3-Kategorie 8,24 Tools. ToolEval hat zwei Hauptmesswerte: Die Erfolgsquote misst den Prozentsatz der Aufgaben, für die das Modell innerhalb einer bestimmten Anzahl von Denkschritten eine Antwort findet. Die Gewinnquote verwendet einen automatischen Evaluator, der von einem LLM angetrieben wird und einem vordefinierten Satz von Kriterien für einen besseren Pfad folgt. Er vergleicht die Qualität und Richtigkeit der Basisantworten mit der von ChatGPT erstellten Referenzantwort. Qin et al. (2023) stellt fest, dass der automatische Evaluator eine hohe Korrelation von 75,8 % mit menschlichen Annotatoren aufweist. Neben diesen beiden Kennzahlen messen wir auch die Tool-Fehlerrate , den Anteil der Aufgaben, die mindestens einen Tool-bezogenen Fehler aufweisen.
ToolkenGPT (Hao et al., 2023). ToolkenGPT ist ein Feinabstimmungsansatz für die Verwendung von Tools. ToolkenGPT stellt jedes Tool als spezielles Token dar und optimiert nur die Einbettung der Tool-Token für die Verwendung von Tools. Während der Inferenz ruft ToolkenGPT ein Tool auf, sobald das entsprechende spezielle Token vorhergesagt wurde. Während eines Tool-Aufrufs übergibt es Argumente, indem es aus kontextbezogenen Demonstrationen lernt. ToolkenGPT verwendet LLaMA-33B (Touvron et al., 2023) als Basismodell.
ToolLLM+TOOLDEC. In Anlehnung an Qin et al. (2023) verwenden wir ReAct (Yao et al., 2023), um die Tool-Aufrufe von ToolLLM zu planen. Dies entspricht dem zweiten Fall des Moduswechsels in Abschnitt 3.2. Das FSM für ToolLLM besteht aus drei Teilen. Erstens ein Format-FSM, das die „Gedanke, Aktion, Aktionseingabe“-Syntax von ReAct erzwingt. Nach der Dekodierung von „Aktion:“ wechselt dieses FSM in den Anfangszustand des Funktionsnamen-FSM, was garantiert, dass ein dekodierter Funktionsname immer gültig ist. Wir haben auch ein JSON-basiertes Funktionsargument-FSM erstellt. Wir haben LLMs erlaubt, 5 Schritte lang zu argumentieren, bevor es die Abschlussaktion aufrufen muss, um als „bestanden“ zu gelten.
ToolkenGPT+TOOLDEC. Da ToolkenGPT spezielle Token zum Aufrufen von Tools verwendet, wird TOOLDEC nur angewendet, um die Syntax der Argumente zu garantieren. In diesem Experiment garantiert unser FSM, dass jedes Argument eine gültige Zahl ist und die Argumente durch Kommas getrennt sind. Es garantiert auch, dass die tatsächliche Anzahl der an eine Funktion übergebenen Argumente genau der von ihr benötigten Anzahl entspricht. Wir haben TOOLDEC mit zwei Varianten der Baseline in Hao et al. (2023) verglichen, eine mit Backtrace und eine ohne. Backtrace versucht, fehlgeschlagene Tool-Aufrufe zu vermeiden, indem es dem LLM ermöglicht, zurückzugehen und anstelle des fehlgeschlagenen Tool-Aufrufs das nächste wahrscheinliche Token auszuprobieren. Um TOOLDEC zu bewerten, berichten wir neben der Genauigkeit auch über die durchschnittliche Inferenzzeit pro Problem und die Tool-Fehlerraten.
TOOLDEC verbessert kontextbezogene Lerntools LLMs. Tabelle 3 zeigt die Leistung von TOOLDEC bei ToolEval. TOOLDEC erreichte eine Gewinnrate von 55 % bei der I2-Kategorie und eine Gewinnrate von 60 % bei der I3-Anweisung. Als Drop-in-Ersatz für den ursprünglichen Dekodierungsalgorithmus eliminierte TOOLDEC alle drei Arten von Tool-bezogenen Fehlern und erreichte die beste Gewinn- und Erfolgsrate und schlug sogar ChatGPT.
Die hohe Tool-Fehlerrate der Baselines deutet darauf hin, dass ToolLLM selbst nach der Feinabstimmung der Anweisungen immer noch nicht in der Lage ist, externe Tools aus der Tool-Dokumentation korrekt aufzurufen. Diese Unfähigkeit wird noch deutlicher, wenn eine große Vielfalt an Tools verfügbar ist, wie bei I3-Instruction. Darüber hinaus beeinträchtigten diese Fehler die Fähigkeit des Modells, Aufgaben zu erledigen, erheblich.
Wir stellen die Fehlerraten der einzelnen Fehlertypen anhand von zwei Benchmarks in Abbildung 4 dar. Bei ToolLLMs war der Namensfehler, also der Aufruf eines nicht vorhandenen Tools, der häufigste syntaktische Fehler bei einem Tool-Aufruf. TOOLDEC hat alle drei Fehler vollständig eliminiert.
Da Funktionsnamen-Halluzinationen der häufigste Tool-bezogene Fehler sind, war es eine etwas bessere Baseline, sie durch Fuzzy-Matching nach Suffix zu mildern. Wir präsentieren die Ergebnisse der Baseline mit Fuzzy-Matching als ToolLLM + Fuzzy-Matching und ohne als ToolLLM. Diese Milderung erhöhte die Erfolgsquote, hatte aber wenig Einfluss auf die Gewinnquote, wie aus Tabelle 3 hervorgeht, da oft falsche APIs gewählt werden konnten, wenn ein Modell nicht in der Lage war, das gewünschte Tool präzise aufzurufen. Insgesamt zeigen unsere Experimente mit ToolLLM, dass TOOLDEC bei LLMs mit kontextbezogenem Lernen sehr effektiv ist. Anhand der nächsten Baseline, ToolkenGPT, zeigen wir, dass TOOLDEC auch für fein abgestimmte Tool-LLMs von Vorteil ist.
TOOLDEC verbessert die Feinabstimmung von Tool-LLMs. Tabelle 4 zeigt die Ergebnisse zu FuncQAmulti. Obwohl ToolkenGPT die Möglichkeit des Aufrufs nicht vorhandener Tool-Namen durch Feinabstimmung einer speziellen Token-Einbettung eliminiert, kann es dennoch unter anderen syntaktischen Fehlern leiden, was durch die Tool-Fehlerrate von 27,9 % belegt wird. Als Drop-in-Ersatz erhöhte TOOLDEC die Genauigkeit von ToolkenGPT und war gleichzeitig viel schneller bei der Inferenz. Obwohl ToolkenGPT + Backtrace eine etwas bessere Genauigkeit als TOOLDEC erreichte, benötigte es doppelt so viel Zeit, um verschiedene Tools auszuprobieren. Beachten Sie, dass es, da TOOLDEC alle Tool-Fehler eliminierte, keine fehlgeschlagenen Tool-Aufrufe für einen erneuten Backtrace-Versuch gab. Die Ergebnisse unterstreichen die Relevanz toolbezogener Fehler und die Anwendbarkeit von TOOLDEC sowohl auf aktuelles kontextbezogenes Lernen als auch auf die Feinabstimmung toolerweiterter LLMs.
Dieses Dokument ist auf arxiv unter der CC 4.0 DEED-Lizenz verfügbar .