toolformer

Meta-KI Toolformer nutzt eigenständig Anwendungen

Tim Filzinger

Language Models wie ChatGPT sind derzeit das Nonplusultra der automatisierten Sprachverarbeitung. Als pre-trainierte KI-Modelle auf Basis neuronaler Netze können sie besonders gut Text verarbeiten und generieren. Trotz der vielseitigen Anwendungsmöglichkeiten stoßen die Text-Bots in Sachen Arithmetik und Fact-Checking jedoch schnell an ihre Grenzen. Toolformer soll dieses Problem angehen, indem die KI eigenständig per Programmierschnittstelle (API) externe Tools nutzt – ein vielversprechender Ansatz.

Dieser Artikel soll aktuelle Forschung und daraus entstehende Entwicklungsmöglichkeiten leichter verständlich aufbereiten.

#!trpst#trp-gettext data-trpgettextoriginal=2316#!trpen#本文章以德语撰写,可自动翻译成其他语言并进行重读。我们欢迎您在文章末尾进行反馈。#!trpst#/trp-gettext#!trpen#

Überblick

  • Toolformer ist ein ChatGPT-ähnliches Language Model aus dem Hause Meta.
  • Es wurde durch ein selbst überwachtes Lernverfahren trainiert, um API Calls zu samplen, auszuführen und zu filtern.
  • Das ermöglicht die eigenständige Nutzung von Tools wie einem Kalender oder Taschenrechner.
  • Somit überwindet Toolformer typische Grenzen herkömmlicher Modelle.

Wo liegen die Grenzen von Language Models?

Während die Allgemeinheit noch über neue Möglichkeiten technologischen Fortschritts staunt, richten Entwickler gerne direkt den Blick auf alles, was noch nicht funktioniert. Bei Sprachmodellen ist dieser Kontrast besonders groß. Erst kürzlich stellten sie in Form von Tools wie ChatGPT die meisten bisherigen KI-Modelle in den Schatten und erweisen sich aufgrund ihres umfangreichen Pre-Trainings als derzeit hilfreichstes Werkzeug zur automatisierten Sprachverarbeitung. Die vielseitigen Einsatzmöglichkeiten können leicht wie eine Omnipotenz erscheinen, sind es aber nicht. Folgende Bereiche bleiben besonders problematisch und motivieren zu Neuerungen wie Toolformer:

Inhaltliche Korrektheit

Hauptquelle der von Language Models generierten Inhalte ist das Internet. Die Datenqualität kann dort stark variieren, was von gängigen Modellen jedoch kaum reflektiert wird. Zudem ist die Aktualität maßgeblich vom Zeitpunkt des Pre-Trainings abhängig. Hinzu kommen algorithmische Einschränkungen, die ein Fact-Checking, beispielsweise nach dem Zwei-Quellen-Prinzip, erschweren. Falschinformationen gehören daher zu den häufigsten Halluzinationen der KI.

GPT fact-checking
Auf mangelhafte Aktualität weist ChatGPT mittlerweile zwar hin, aber die gewünschte Antwort bleibt dennoch aus.

Arithmetik

Tatsächlich sind typische Language Models immer noch relativ schlecht in Mathe, sodass selbst grundlegende Rechenaufgaben und entsprechende Logik schwer fallen können. Eines der Probleme dahinter ist die Übersetzung von Mathematik in Code, wofür es im Vergleich zur Sprachübersetzung nur sehr wenige Trainingsbeispiele gibt.

data results
Ein mit Überzeugung vorgetragenes falsches Ergebnis

Was kann Toolformer tun?

Um in diesen Bereichen bessere Ergebnisse zu erzielen, spricht das Modell per API Call externe Tools an. Bisherige Ansätze waren entweder von einer Vielzahl menschlicher Annotationen abhängig oder nur für sehr spezifische Aufgaben nutzbar. Die eigenständige Ausführung von API Calls ermöglicht hingegen die intelligente Integration einer ganzen Reihe von Anwendungen, die sich besonders auf bisherige Schwächen von Language Models konzentrieren:

  • Frage-Antwort-System: Hierfür wird das Language Model “Atlas” verwendet, das ein Fine-Tuning anhand natürlicher Fragen durchlaufen hat.
  • Wikipedia-Suche: Diese Search Engine reagiert auf Suchbegriffe mit einer schnellen Wikipedia-Recherche und extrahiert selbstständig kleine Fragmente an Text. Generierte Ergebnisse können dabei spezifischer ausfallen als beim Frage-Antwort-System. Zum Beispiel den aktuellen Bundeskanzler von Deutschland zu ermitteln, dürfte kein Problem sein.
  • Kalender: Ein kurzer Blick in eine Kalender-App hilft, Fakten in den korrekten zeitlichen Kontext einzuordnen und Rückschlüsse auf deren Aktualität zu ziehen.
  • Taschenrechner: Mit einem simplen Tool für die vier Grundrechenarten und einer Genauigkeit von zwei Dezimalstellen kann Toolformer obenstehendes Rechenbeispiel korrekt lösen.
  • Übersetzungs-Tool: Um aus beliebigen Sprachen eine englische Übersetzung zu generieren, wird ein weiteres externes Language Model integriert.
used tools
Die Palette der nutzbaren Tools könnte in den kommenden Jahren deutlich wachsen.

Grenzen überwinden per API

Der bislang besonders schwer umsetzbare Aspekt dieser Idee ist das KI-basierte API-Management, das mitunter auch für menschliche Entwickler zu einer komplizierten Angelegenheit werden kann. Nicht viel einfacher ist es, API Calls in eine Textsequenz zu formatieren, die sich auf natürliche Weise in die Konversation mit dem verwendeten GPT-J-Modell einfügt. Dessen Komplexität, die auf über 6 Milliarden Parametern fußt, erschwert das Vorhaben zusätzlich. Toolformer überwindet diese Hürden und somit typische Grenzen der meisten herkömmlichen Sprachmodelle in drei grundlegenden Schritten:

  1. API Calls samplen

    Für jede mögliche API haben die Entwickler eine Aufforderung verfasst, die Toolformer relevante API Calls zusammenstellen lässt. Anhand probabilistischer Prinzipien ermittelt das Modell anschließend einige Calls, deren Wahrscheinlichkeiten, in die Sequenz zu passen, über einem bestimmten Schwellenwert liegen. Anhand weniger Beispiele lernt Toolformer, diesen Prozess zu optimieren.

  2. API Calls ausführen

    Anschließend werden alle gesampelten API Calls ausgeführt, um die entsprechenden Ergebnisse bzw. Antworten der Tools zu erhalten. Diese müssen für das weitere Vorgehen in Kurzsequenzen aus Text vorliegen.  Die Einzelheiten des Vorgangs hängen dabei von der individuellen API ab, die beispielsweise ein neuronales Netz oder ein Python-Script ansprechen kann.

  3. API Calls filtern

    Um die Calls zu filtern, berechnet Toolformer die gewichteten Verlustfunktionen der generierten API Tokens auf Basis von Kreuzentropie. Durch Vergleiche der Ergebnisse entweder unter Berücksichtigung oder unabhängig von den API Calls werden zur Vorhersage weiterer Tokens nützliche Fälle identifiziert. Auch hierbei wird ein entsprechender Schwellenwert gesetzt, um zu entscheiden, welche Calls beibehalten werden.

Fine-Tuning des Modells

Die gefilterten API Calls nutzt Toolformer, um sie in einem neuen Dataset mit dem ursprünglichen Input zusammenzuführen. Somit ist die Basis für ein anschließendes Fine-Tuning gelegt, das mithilfe einer typischen Sprachmodellierung erfolgt. Inhaltlich soll das neue Dataset dadurch mit dem ursprünglichen Dataset übereinstimmen – abgesehen von den hinzugefügten API Calls.

Der Anwender bekommt somit bestenfalls nichts von diesem Prozess im Backend mit und erhält eine mehr oder weniger natürliche Reaktion von Toolformer. Je mehr Eingaben das Language Model im weiteren Verlauf verarbeitet, desto präziser kann es das erweiterte Dataset zur Vorhersage zukünftiger API Tokens und korrekter Positionen entsprechender Calls nutzen. Vereinfacht gesagt lernt Toolformer also eigenständig, wann es welche Anwendung wie am besten nutzen muss, um die optimale Antwort zu geben.

Fazit und Ausblick

Indem Toolformer über API Calls eigenständig externe Anwendungen ansteuert, kann das Language Model typische Grenzen der Arithmetik und inhaltlichen Korrektheit überwinden. Konkret helfen dabei Tools wie eine Search Engine, ein Taschenrechner oder ein Kalender. Deren Antworten werden auf natürliche Weise in den Text der Konversation integriert. Um das zu ermöglichen, nutzt Toolformer ein selbst überwachtes Lernverfahren, bestehend aus Sampling, Ausführung und Filterung von API Calls. Daraus gebildete Datasets bilden die Grundlage für das Fine-Tuning des Modells.

Damit ermöglicht Toolformer einen experimentellen Ausblick auf das, was ein vielseitig eingesetztes Language Model wie ChatGPT künftig leisten könnte. Bisherige Versuche konzentrieren sich eher darauf, Tools direkt in einen Chat-Bot zu implementieren, allerdings führt das laut Meta noch nicht zu den gewünschten Ergebnissen. Die externe Nutzung per API ist demnach eine vielversprechende Alternative. Auch hier wartet aber weiterhin Arbeit auf die Entwickler. Noch ist Toolformer beispielsweise nicht in der Lage, eine Verkettung oder interaktive Nutzung von Anwendungen auszuführen. Ob die vorhandenen Fähigkeiten bereits für einen grundlegenden Durchbruch reichen, bleibt daher abzuwarten.

    🐍✨Auf der Suche nach einer neuen Herausforderung?

    Tritt dem AI Comedy Club bei! Tauche ein in eine Welt, in der sich KI und Humor treffen, und nutze diese Bühne für deine Fähigkeiten. Ob aufstrebender Youngster oder erfahrener Entwickler, hier hast du die Chance, dein Python-Können auf eine lustige und innovative Art zu zeigen. Entdecke außerdem Möglichkeiten, einen Beitrag zu leisten und dich sogar für einen Job bei uns zu bewerben.

    Bereit zum Coden, Lachen und Beeindrucken?

    Sieh dir unsere AI Comedy Club Challenge an und finde heraus, wohin dich dein Humor und deine Python-Skills führen können!

    Apply for data scientist, 
backend developer, 
data engineer, 
software developer, 
python software developer jobs.

    Über mich

    #!trpst#trp-gettext data-trpgettextoriginal=1955#!trpen#更多精彩文章#!trpst#/trp-gettext#!trpen#

    Who wants to be hired?

    Als Entwickler ist es schwer, eine gute Arbeitsstelle zu finden. Die meisten Entwickler wollen technische Herausforderungen lösen. Wahrscheinlich mögen sie...

    #!trpst#trp-gettext data-trpgettextoriginal=1947#!trpen#阅读故事#!trpst#/trp-gettext#!trpen#

    IDW PS 880 – Leitfaden für IT und KI Fachleute

    Tauchen Sie ein in diesen umfassenden Leitfaden zum Softwaretest nach dem IDW Prüfungsstandard PS-880, um seine entscheidende Rolle für die...

    #!trpst#trp-gettext data-trpgettextoriginal=1947#!trpen#阅读故事#!trpst#/trp-gettext#!trpen#
    Marktplatz Marketplace Konfuzio online

    Der Konfuzio Marktplatz ist jetzt online!

    Ob Sie bereits KI-Lösungen und -Produkte vermarkten, die Fachkompetenz zur Entwicklung dieser Lösungen besitzen oder einfach nur in den wachsenden...

    #!trpst#trp-gettext data-trpgettextoriginal=1947#!trpen#阅读故事#!trpst#/trp-gettext#!trpen#
    Arrow-up