paint-brush
Syntaxfehlerfreier und generalisierbarer Tooleinsatz für LL.M.: Abstract und Introvon@textmodels
135 Lesungen

Syntaxfehlerfreier und generalisierbarer Tooleinsatz für LL.M.: Abstract und Intro

Zu lang; Lesen

Forscher schlagen TOOLDEC vor, eine durch Finite-State-Machine-geführte Dekodierung für LLMs, die Fehler reduziert und die Tool-Nutzung verbessert.
featured image - Syntaxfehlerfreier und generalisierbarer Tooleinsatz für LL.M.: Abstract und Intro
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

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.

Linktabelle

ABSTRAKT

Große Sprachmodelle (LLMs) haben vielversprechende Fähigkeiten bei der Verwendung externer Tools zur Lösung komplexer Probleme gezeigt. Bestehende Ansätze beinhalten jedoch entweder eine Feinabstimmung von Tooldemonstrationen, die sich ohne zusätzliche Schulung nicht auf neue Tools übertragen lässt, oder die Bereitstellung einer Tooldokumentation im Kontext, wodurch die Anzahl der Tools begrenzt wird. Beide Ansätze erzeugen häufig syntaktisch ungültige Toolaufrufe. In diesem Artikel schlagen wir TOOLDEC vor, einen von Finite-State-Machine-geführten Dekodierungsalgorithmus für toolerweiterte LLMs. TOOLDEC eliminiert toolbezogene Fehler für alle toolerweiterten LLMs, indem es gültige Toolnamen und typkonforme Argumente sicherstellt. Darüber hinaus ermöglicht TOOLDEC LLMs die effektive Auswahl von Tools nur anhand der in ihren Namen enthaltenen Informationen, ohne dass eine Feinabstimmung oder kontextbezogene Dokumentation erforderlich ist. Wir haben mehrere frühere Methoden und ihre TOOLDEC-erweiterten Versionen anhand einer Vielzahl von Aufgaben mit Tools wie mathematischen Funktionen, Wissensgraphbeziehungen und komplexen realen RESTful-APIs evaluiert. Unsere Experimente zeigen, dass TOOLDEC syntaktische Fehler auf Null reduziert und somit eine deutlich bessere Leistung und eine bis zu doppelt so hohe Geschwindigkeit erreicht. Wir zeigen auch, dass TOOLDEC eine überlegene Generalisierungsleistung auf bisher unbekannten Werkzeugen erreicht und bis zu 8x besser abschneidet als die Baselines [1].

1. EINLEITUNG

Die Erweiterung großer Sprachmodelle (LLMs) mit externen Tools (Mialon et al., 2023) ermöglicht es ihnen, komplexe Probleme zu lösen. Aktuelle LLMs können Retriever (Shen et al., 2023; Gupta & Kembhavi, 2022; Schick et al., 2023), RESTful APIs (Qin et al., 2023; Song et al., 2023), Programminterpreter (Chen et al., 2022; Gao et al., 2023) und verschiedene andere Tools verwenden. Die Leistung eines durch Tools erweiterten LLM hängt von seiner Fähigkeit ab, drei wichtige Entscheidungen zu treffen – wann ein Tool verwendet werden soll, welches Tool verwendet werden soll und wie ein Tool aufgerufen werden soll. Bestehende Ansätze lernen, diese Entscheidungen durch Feinabstimmung oder kontextbezogenes Lernen zu treffen.


Diese Ansätze erzeugen jedoch immer noch fehlerhafte Tool-Aufrufe. Beispielsweise kann In-Context-Learning leicht nicht vorhandene Tool-Namen erzeugen, die nicht im Tool-Inventar vorhanden sind, da nicht vorhandene Tools auch als nächstes Token plausibel erscheinen können (Song et al., 2023; Qin et al., 2023). Feinabgestimmte Modelle rufen Tools zwar normalerweise mit korrekten Namen auf, übergeben aber oft ungültige Argumente an die richtigen Tool-Funktionen (Hao et al., 2023), genau wie In-Context-Learning. Darüber hinaus lassen sich frühere Ansätze nicht gut auf unbekannte Tools verallgemeinern. Feinabstimmungsansätze benötigen zusätzliche Trainingsdaten und weitere Feinabstimmungen, um neue Tools zu übernehmen. In-Context-Learning-Ansätze erfordern eine Tool-Dokumentation in den Eingabeaufforderungen.


Um diese Probleme zu lösen, schlagen wir TOOLDEC vor, einen Dekodierungsalgorithmus, der von einer Finite-State-Maschine (FSM) gesteuert wird, um sicherzustellen, dass LLMs Tools richtig aufrufen. Unsere Kernerkenntnis besteht darin, Zustände während der LLM-Dekodierung explizit darzustellen. Jeder Zustand ist mit einem gültigen Satz von Token verknüpft, die Toolnamen und Toolargumenten entsprechen. TOOLDEC wechselt im Verlauf der Dekodierung von Zustand zu Zustand. Bei jedem Dekodierungsschritt greift TOOLDEC nicht auf das gesamte Vokabular des Sprachmodells zu. Stattdessen greift es auf eine Teilmenge von Token zu, die im aktuellen Zustand zulässig sind. Die FSM, die TOOLDEC anleitet, wird aus Tooldokumentation und API-Signatur erstellt, sodass die Maschine die Grammatik der Toolaufrufe genau darstellt. Auf diese Weise kann TOOLDEC immer Folgendes generieren:


Abbildung 1: LLMs, die externe Tools verwenden. LLMs ohne Tools können nicht multiplizieren, also generieren sie nur ein wahrscheinliches nächstes Token. Tool-erweiterte LLMs können auf externe Tools wie „Multiplizieren“ zugreifen, aber sie rufen möglicherweise ein nicht vorhandenes Tool wie „Produkt“ auf und übergeben ungültige Argumente wie die Zeichenfolge „Pi“. Unser vorgeschlagenes TOOLDEC generiert immer Tool-Aufrufe ohne Syntaxfehler.


syntaktisch korrekte Toolaufrufe. Abbildung 1 zeigt, dass ein durch TOOLDEC erweitertes LLM in der Lage ist, den richtigen Funktionsaufruf mehrfach mit präzisen Argumenten („3.14“ und „123“) zu generieren und daher das richtige Ergebnis vom Tool zurückgibt. Weitere Beispiele, die TOOLDEC und andere Tool-LLMs vergleichen, finden Sie in Anhang A.3.


Darüber hinaus verallgemeinert TOOLDEC viel effizienter auf neue Werkzeuge, die vorher noch nie aufgetaucht sind. Im Gegensatz zu früheren Ansätzen, die Feinabstimmung oder kontextbezogene Beschreibungen neuer Werkzeuge erfordern, erstellt TOOLDEC automatisch eine Finite-State-Maschine aus der API-Signatur eines Werkzeugs (seinen Namen und Argumenttypen) und fügt sie dem vorhandenen FSM hinzu. TOOLDEC kann dann neue Werkzeuge ohne Feinabstimmung oder kontextbezogene Demonstration aufrufen. Während vorab trainierte Sprachmodelle Werkzeugnamen generieren können, wenn sie dazu aufgefordert werden, halluzinieren sie häufig plausible Werkzeugnamen, die nicht im Inventar vorhanden sind. TOOLDEC tut das nicht. In Abbildung 1 klingen sowohl „product“ als auch „multiply“ für das Szenario plausibel, aber nur „multiply“ ist ein gegebenes Werkzeug. Da TOOLDEC nur vorhandene Werkzeuge aufruft, halluziniert es kein plausibles, aber nicht vorhandenes Werkzeug und kann sich auf die Werkzeugnamen verlassen, um das richtige Werkzeug zu finden.


Die Beiträge dieses Papiers können wie folgt zusammengefasst werden:


• Wir schlagen TOOLDEC vor, einen Finite-State-Decodierungsalgorithmus, der LLMs in die Lage versetzt, Tools richtig zu verwenden. TOOLDEC bietet zwei Vorteile: Die generierten Tool-Aufrufe sind garantiert syntaktisch korrekt und es lässt sich effizient auf unbekannte Tools verallgemeinern.


• Wir verifizieren empirisch die überlegene Leistung von TOOLDEC im Vergleich zu früheren starken Baselines anhand von vier unterschiedlichen Datensätzen aus verschiedenen Bereichen. Unsere umfangreichen Experimente zeigen, dass TOOLDEC alle Syntaxfehler und halluzinierten Tool-Namen eliminiert, was zu besserer Genauigkeit und bis zu 50 % weniger Inferenzzeit führt. Unsere Ergebnisse zeigen auch, dass TOOLDEC bei mathematischem Denken mit 9 unbekannten Tools mehr als 8x besser ist als Baselines und bei der Beantwortung von Wissensfragen mit 204 unbekannten Tools 7x besser ist.



[1] Wir veröffentlichen unseren Code und unsere Daten unter https://github.com/chenhongqiao/tooldec.