Metas Toolformer soll selbstständig den Umgang mit Werkzeugen erlernen und dabei weitaus größere Sprachmodelle übertreffen.
"Sprache ist die Programmiersprache für das Gehirn", schrieb der Science-Fiction-Autor Neal Stephenson 1992 in seinem Roman "Snow Crash". Die jüngsten Fortschritte in der maschinellen Verarbeitung natürlicher Sprache zeigen, dass Sprache auch die Programmiersprache für Maschinen sein kann - wenn diese sie zunehmend besser verstehen.
Mit "Toolformer" will Meta dieses Prinzip auf den Einsatz von Werkzeugen erweitern.
Dass externe Werkzeuge an ein Sprachmodell angedockt werden können, um dessen Leistungsfähigkeit zu verbessern, ist keine neue Erkenntnis. Das Besondere an Toolformer ist, dass das System gelernt hat, diesen Prozess selbstständig zu handhaben und so einen wesentlich flexibleren Zugriff auf eine größere Menge von Werkzeugen realisieren könnte.
Bisherige Werkzeuge benötigten große Mengen menschlicher Annotationen oder beschränkten die Nutzung externer Werkzeuge auf bestimmte Aufgaben, schreiben die Forscher. Dies behindere den Einsatz von Sprachmodellen für eine breitere Anwendung von Werkzeugen.
Mit dem Toolformer-Ansatz hingegen könne ein Sprachmodell "eine Vielzahl von Werkzeugen steuern und selbst entscheiden, welches Werkzeug wann und wie eingesetzt werden soll".
Toolformer sucht selbständig nach nützlichen APIs, um Aufgaben besser lösen zu können
Toolformer ist darauf optimiert, selbstständig zu entscheiden, wann welche APIs aufgerufen und welche Argumente dabei übergeben werden. Zudem integriert er die dabei generierten Ergebnisse bestmöglich in die zukünftige Tokenvorhersage.
Das Modell lernt diesen Prozess selbstüberwacht anhand von Beispielen: Die Forschenden ließen ein Sprachmodell mit einer "Handvoll" von Menschen geschriebener API-Befehle einen großen Datensatz potenzieller API-Befehle beschriften. Aus diesen wählten die Forschenden automatisiert nützliche Beispiele aus, mit denen sie ihr Toolformer-Modell feinjustierten. Pro API verwendeten sie etwa 25.000 Beispiele.
Nach dem Training dockte das Sprachmodell laut den Forschenden automatisch erfolgreich an einen Taschenrechner, ein Frage-Antwort-System, zwei verschiedene Suchmaschinen, darunter eine Wikipedia-Suche, ein Übersetzungssystem und einen Kalender an. Je nach Textaufgabe entscheidet das Modell selbstständig, ob und wann es auf ein Werkzeug zugreift.
🎉 New paper 🎉 Introducing the Toolformer, a language model that teaches itself to use various tools in a self-supervised way. This significantly improves zero-shot performance and enables it to outperform much larger models. 🧰
🔗 Link: https://t.co/FvjzhysMze pic.twitter.com/sBSGaQIABI
— Timo Schick (@timo_schick) February 10, 2023
Nach Angaben der Forscherinnen und Forscher verbesserte der Einsatz der Werkzeuge die Zero-Shot-Performance eines GPT-J-Modells mit nur 6,7 Milliarden Parametern so signifikant, dass es in ausgewählten Aufgaben das viel größere GPT-3-Modell mit 175 Milliarden Parametern übertreffen konnte.
Die Fähigkeit eines Modells, mit Werkzeugen bessere Ergebnisse zu erzielen, zeigte sich in den Tests ab etwa 775 Millionen Parametern. Kleinere Modelle erzielten mit und ohne Werkzeuge ähnliche Ergebnisse.
Eine Ausnahme bildete die Wikipedia-Schnittstelle, die für Frage-Antwort-Aufgaben verwendet wurde, wahrscheinlich weil diese API sehr einfach zu bedienen sei, spekulieren die Forschenden. Toolformer konnte jedoch GPT-3 in den QA-Benchmarks nicht übertreffen.
Während Modelle mit zunehmender Größe besser darin werden, Aufgaben ohne API-Aufrufe zu lösen, verbessert sich gleichzeitig ihre Fähigkeit, die bereitgestellte API sinnvoll zu nutzen. Infolgedessen bleibt selbst bei unserem größten Modell eine große Lücke zwischen den Vorhersagen mit und ohne API-Aufrufe bestehen.
Aus dem Paper
Toolformer-Prinzip könnte helfen, grundlegende Probleme großer Sprachmodelle zu minimieren
Die Fähigkeit eines Sprachmodells, selbstständig externe Werkzeuge zu nutzen, kann nach Ansicht der Forscherinnen und Forscher helfen, grundlegende Probleme auch großer Sprachmodelle zu lösen, wie etwa die zuverlässige Lösung von Rechenaufgaben oder die Überprüfung von Fakten.
Allerdings habe das System noch Grenzen. Werkzeuge könnten nicht nacheinander verwendet werden, etwa die Ausgabe eines Werkzeugs als Eingabe für das nächste Werkzeug, da die API-Anweisungen für jedes Werkzeug unabhängig generiert würden. Dies schränke die Anwendungsszenarien ein.
Außerdem sei der Umgang mit den Werkzeugen nicht interaktiv. Beispielsweise könne das Sprachmodell nicht die zahlreichen Ergebnisse einer Suchmaschine durchsuchen und die eigene Anfrage anhand dieser Ergebnisse spezifizieren.
Darüber hinaus reagierten die Toolformer-Modelle sehr empfindlich auf den genauen Wortlaut einer Anfrage, um zu entscheiden, ob das Tool aufgerufen werden soll, und seien bei Stichproben ineffizient. Bei der Verarbeitung von mehr als einer Million Dokumenten ergäben sich etwa nur wenige tausend Beispiele für sinnvolle Aufrufe der Taschenrechner-API. Überdies berücksichtige Toolformer nicht die Berechnungskosten eines Toolaufrufs.