Tipps & Tricks

Optimierung der Token-Nutzung: TOON als Alternative zu JSON in LLM-Pipelines

6 min Lesezeit
Optimierung der Token-Nutzung: TOON als Alternative zu JSON in LLM-Pipelines

Wenn Sie strukturierte Daten in ein großes Sprachmodell (LLM) einspeisen, besteht eine hohe Wahrscheinlichkeit, dass Sie eine „JSON-Steuer“ zahlen.

Einführung

JSON eignet sich hervorragend für APIs, Datenspeicherung und Anwendungslogik. In LLM-Pipelines jedoch verursacht es häufig einen hohen Token-Overhead, der dem Modell wenig Mehrwert bietet: geschweifte Klammern, Anführungszeichen, Kommas und wiederholte Feldnamen in jeder Zeile. TOON, was für Token-Oriented Object Notation steht, ist ein neues Format, das speziell entwickelt wurde, um das gleiche JSON-Datenmodell zu bewahren, dabei jedoch weniger Tokens zu verwenden und den Modellen klarere strukturelle Hinweise zu geben. Die offiziellen TOON-Dokumente beschreiben es als eine kompakte, verlustfreie Darstellung von JSON für LLM-Eingaben, insbesondere stark bei einheitlichen Arrays von Objekten.

In diesem Artikel erfahren Sie, was TOON ist, wann es sinnvoll ist, es zu verwenden, und wie Sie es Schritt für Schritt in Ihrem eigenen LLM-Workflow einsetzen können. Wir werden auch die Vor- und Nachteile ehrlich darstellen, denn TOON ist in einigen Fällen nützlich, nicht in allen.

Warum JSON in LLM-Pipelines Tokens verschwendet

JSON wird in Eingabeaufforderungen teuer, weil es die Struktur immer wieder wiederholt. LLMs interessiert nicht, dass JSON ein Standard ist. Sie sehen nur Tokens.

Wenn Sie 100 Support-Tickets, Produktzeilen oder Benutzeraufzeichnungen an ein Modell senden, erscheinen die gleichen Feldnamen in jedem Objekt. TOON reduziert diese Wiederholung, indem es die Felder einmal deklariert und dann die Zeilenwerte in einer kompakten tabellarischen Form streamt. Hier ist ein einfaches Beispiel.

JSON:
{
„users“: [
{ „id“: 1, „name“: „Alice“, „role“: „admin“ },
{ „id“: 2, „name“: „Bob“, „role“: „user“ },
{ „id“: 3, „name“: „Charlie“, „role“: „user“ }
]
}

TOON:
users[3]{id,name,role}:
1,Alice,admin
2,Bob,user
3,Charlie,user

Die gleichen Daten, weniger Unordnung.

Die Struktur bleibt klar, aber die wiederholten Schlüssel sind verschwunden. Das ist der Hauptvorteil von TOON.

Was ist TOON und wann ist es sinnvoll, es zu verwenden?

TOON ist ein Serialisierungsformat für das JSON-Datenmodell. Das bedeutet, dass es Objekte, Arrays, Strings, Zahlen, Booleans und Nullwerte darstellen kann – jedoch auf eine Weise, die kompakter für die Eingabe in Modelle ist. Das TOON-Projekt präsentiert es als verlustfrei im Vergleich zu JSON, was bedeutet, dass Sie JSON in TOON und zurück konvertieren können, ohne Informationen zu verlieren. Wichtig zu verstehen ist:

  • Sie müssen JSON in Ihrer Anwendung nicht ersetzen.

Ein besserer Ansatz ist es, JSON in Ihrem Backend, APIs und der Datenspeicherung zu belassen und es nur in TOON zu konvertieren, wenn Sie strukturierte Daten an ein LLM senden.

TOON ist besonders nützlich, wenn Ihre Eingabeaufforderung wiederholte strukturierte Datensätze mit denselben Feldern enthält. Gute Beispiele sind abgerufene Support-Tickets, Katalogzeilen, Analyseaufzeichnungen, Toolausgaben, CRM-Einträge oder Gedächtnisschnappschüsse für Agentensysteme. Wenn Ihre Struktur jedoch tief verschachtelt, stark unregelmäßig, rein flach oder sehr klein ist, können die Vorteile schrumpfen oder verschwinden.

Erste Schritte mit TOON

Schritt 1: Installation der TOON-Befehlszeilenschnittstelle

Der einfachste Weg, TOON auszuprobieren, ist die offizielle Befehlszeilenschnittstelle (CLI) des TOON-Projekts. Die TOON-Website verlinkt direkt zu ihrer CLI, und das Hauptrepository präsentiert das Format als Teil eines umfassenderen SDK- und Tooling-Ökosystems.

Installieren Sie das Paket:

npm install -g @toon-format/cli

Schritt 2: Konvertierung einer JSON-Datei in TOON

Erstellen Sie zunächst einen Ordner:

mkdir toon-test
cd toon-test

Führen Sie nun den folgenden Befehl aus, um die JSON-Datei zu erstellen:

nano users.json

Fügen Sie Folgendes ein:

[
{ „id“: 1, „name“: „Alice“, „role“: „admin“ },
{ „id“: 2, „name“: „Bob“, „role“: „user“ },
{ „id“: 3, „name“: „Charlie“, „role“: „user“ }
]

Jetzt konvertieren Sie es:

npx @toon-format/cli users.json -o users.toon

Sie sollten ein kompaktes Ergebnis ähnlich diesem erhalten:

[3]{id,name,role}:
1,Alice,admin
2,Bob,user
3,Charlie,user

Dies ist das Kernmuster von TOON: die Form einmal deklarieren und dann die Werte zeilenweise auflisten. Das entspricht dem offiziellen Designziel von tabellarischen Arrays für einheitliche Objekte.

Schritt 3: Verwendung von TOON als Eingabe für Modelle

Der beste Ort, um TOON zu verwenden, ist auf der Eingabeseite Ihrer Pipeline. Anstatt einen großen JSON-Bereich in eine Eingabeaufforderung einzufügen, übergeben Sie die TOON-Version und halten die Anweisung einfach.

Beispielsweise:

Die folgenden Daten liegen im TOON-Format vor.
users[3]{id,name,role}:
1,Alice,admin
2,Bob,user
3,Charlie,user
Fassen Sie die Benutzerrollen zusammen und weisen Sie auf Ungewöhnliches hin.

Dies funktioniert gut, da TOON darauf ausgelegt ist, dem Modell zu helfen, wiederholte Strukturen mit weniger Overhead zu lesen. So wird auch das offizielle Projekt in seinen Benchmarks dargestellt: als Test des Verständnisses über verschiedene strukturierte Eingabeformate hinweg.

Schritt 4: Beibehaltung von JSON für Ausgaben

Dies ist eine der wichtigsten praktischen Entscheidungen. TOON ist sehr nützlich für Eingaben, aber JSON ist in der Regel die bessere Wahl für Ausgaben, wenn ein anderes System die Modellantwort analysieren muss. Das liegt daran, dass JSON eine viel stärkere Unterstützung durch Tools hat und moderne APIs strukturierte JSON-Ausgaben mit Schemas durchsetzen können.

In der Praxis ist das sicherste Muster:

  • JSON in Ihrer Anwendung.
  • TOON für große strukturierte Eingabekontexte.
  • JSON erneut für maschinenlesbare Modellantworten.

Dies bietet Ihnen Effizienz auf der Eingabeseite und Zuverlässigkeit auf der Ausgabeseite.

Schritt 5: Benchmarking in Ihrer eigenen Pipeline

Wechseln Sie nicht einfach das Format aufgrund von Hype.

Führen Sie einen kleinen Benchmark in Ihrem eigenen Workflow durch:

  • Zählen Sie die Eingabetokens für JSON.
  • Zählen Sie die Eingabetokens für TOON.
  • Vergleichen Sie die Latenz.
  • Vergleichen Sie die Antwortqualität.
  • Vergleichen Sie die Gesamtkosten.

Das offizielle TOON-Projekt positioniert die Einsparungen bei Tokens als einen der Hauptvorteile, und Berichterstattung von Dritten wiederholt diese Behauptungen, aber Diskussionen in der Community zeigen auch, dass die Ergebnisse stark von der Form der Daten abhängen. Daher ist die bessere Frage nicht: „Ist TOON besser als JSON?“

Die bessere Frage lautet: „Ist TOON besser für diesen spezifischen LLM-Schritt?“

Fazit

TOON ist nicht etwas, das Sie überall verwenden müssen.

Es ist eine gezielte Optimierung für ein spezifisches Problem: das Verschwenden von Tokens durch wiederholte JSON-Strukturen in LLM-Eingaben. Wenn Ihre Pipeline viele wiederholte strukturierte Datensätze an ein Modell übergibt, ist TOON einen Test wert. Wenn Ihre Payloads klein, unregelmäßig oder stark verschachtelt sind, könnte JSON dennoch die bessere Wahl sein.

Der klügste Weg, es zu übernehmen, ist einfach: Behalten Sie JSON dort, wo es bereits gut funktioniert, verwenden Sie TOON, wenn Sie große strukturierte Eingaben in Eingabeaufforderungen packen, und benchmarken Sie die Ergebnisse bei Ihren eigenen Aufgaben, bevor Sie sich dafür entscheiden.

Kanwal Mehreen ist Maschinenbauingenieurin und technische Autorin mit einer tiefen Leidenschaft für Datenwissenschaft und der Schnittstelle von KI und Medizin. Sie ist Mitautorin des E-Books „Maximizing Productivity with ChatGPT“. Als Google Generation Scholar 2022 für APAC setzt sie sich für Vielfalt und akademische Exzellenz ein. Sie wurde auch als Teradata Diversity in Tech Scholar, Mitacs Globalink Research Scholar und Harvard WeCode Scholar anerkannt. Kanwal ist eine leidenschaftliche Verfechterin des Wandels und hat FEMCodes gegründet, um Frauen in MINT-Berufen zu stärken.


Quellen: kdnuggets

Bildquelle: KI generiert

KI Snack