Zum Inhalt springen

Kostenloser Token-Zähler für GPT-4, ChatGPT & KI-Modelle

Präziser Token-Zähler mit OpenAI's tiktoken-Bibliothek. Zählen Sie Tokens für GPT-4, ChatGPT und GPT-3 Modelle. Verwalten und optimieren Sie API-Kosten und KI-Prompts sofort.

Token-Zähler

Kodierung

Ungültige Eingabe

Ladekalkulator...
📚

Dokumentation

Was ist ein Token-Zähler?

Ein Token-Zähler misst, in wie viele Token ein Textabschnitt zerfällt, wenn ihn ein KI-Sprachmodell liest. Token sind die kleinen Textabschnitte – ganze Wörter, Wortteile oder Satzzeichen –, die Modelle wie GPT-4 und ChatGPT anstelle von einzelnen Buchstaben verarbeiten. Dieses Tool verwendet tiktoken, die von OpenAI veröffentlichte Open-Source-Tokenizer-Bibliothek, damit die Tokenanzahl den Ergebnissen der eigenen Modelle und der API von OpenAI entspricht.

Wie die Tokenisierung funktioniert

Ein Tokenizer zählt nicht einfach Wörter. Er verarbeitet den Text mithilfe eines Algorithmus namens Byte-Pair-Encoding (BPE). Der Algorithmus beginnt mit einzelnen Bytes des Textes und führt wiederholt die häufigsten benachbarten Paare zusammen, basierend auf Mustern, die während des Trainings aus einer großen Textmenge gelernt wurden. Das Ergebnis ist ein festes Vokabular aus mehreren zehntausend häufigen Abschnitten: ganzen kurzen Wörtern, häufigen Wortfragmenten und einzelnen Zeichen für seltene Elemente.

Deshalb wird ein englisches Wort oft zu einem Token, während längere oder ungewöhnliche Wörter in zwei oder mehr Token aufgeteilt werden können. Leerzeichen werden normalerweise an den Anfang des nächsten Tokens angehängt, statt für sich allein gezählt zu werden, und Satzzeichen bilden typischerweise eigene Token.

Von diesem Tool unterstützte Kodierungen

Tiktoken bietet mehrere Kodierungen, die jeweils an eine Modellfamilie von OpenAI gebunden sind. Dieses Tool unterstützt drei:

EncodingVerwendet vonUngefähre Vokabulargröße
cl100k_baseModelle der GPT-3,5- und GPT-4-Familie, ChatGPTetwa 100.000 Token
p50k_baseSpätere GPT-3-Modelleetwa 50.000 Token
r50k_baseFrühere GPT-3- und GPT-2-Modelleetwa 50.000 Token

cl100k_base wird standardmäßig ausgewählt, da es die Modellfamilie abdeckt, die heute von den meisten Menschen verwendet wird. Derselbe Text kann unter jedem Encoding eine andere Tokenanzahl ergeben, da jedes Encoding mit unterschiedlichen Texten trainiert wurde und Zeichen unterschiedlich zusammenführt.

So wird eine Tokenanzahl berechnet

Es gibt keine einfache arithmetische Formel, mit der sich eine Zeichen- oder Wortanzahl in eine Tokenanzahl umwandeln lässt, da die BPE-Zusammenführungen vom konkreten Text und vom trainierten Vokabular abhängen. Die einzige exakte Methode besteht darin, den Text selbst mit dem Tokenizer zu tokenisieren:

  1. Wählen Sie das Encoding, das zum Zielmodell passt.
  2. Geben Sie den Text in den Tokenizer dieser Kodierung ein.
  3. Zählen Sie die resultierende Liste von Token-IDs. Die Länge dieser Liste entspricht der Tokenanzahl.

Als grobe Schätzung für englische Texte entspricht ein Token ungefähr vier Zeichen oder etwa drei Vierteln eines Wortes. Das dient nur als Orientierung. Zahlen, Code, nicht englische Texte und ungewöhnliche Schreibweisen können das Verhältnis stark verändern.

Rechenbeispiel

Nehmen Sie den Satz:

„Tokenisierung zerlegt Text in Abschnitte.“

Unter dem Encoding cl100k_base zerlegt tiktoken diesen Satz in 7 Token:

Token, ization, splits, text, into, pieces, .

Beachten Sie, dass „Tokenization“ selbst in zwei Tokens zerfällt: „Token“ und „ization“, während jedes andere Wort vollständig bleibt. Der abschließende Punkt ist ein eigenes Token. Deshalb ergibt ein Satz mit 37 Zeichen und 5 Wörtern 7 Token statt 6.

Warum Tokenanzahlen wichtig sind

KI-Anbieter berechnen die API-Nutzung nach Token und zählen sowohl den gesendeten Text als auch den als Antwort erzeugten Text. Daher lässt sich mit einer Tokenanzahl die voraussichtliche Kostenhöhe bestimmen, bevor eine Anfrage gesendet wird. Jedes Modell hat außerdem eine maximale Kontextlänge, also eine Begrenzung dafür, wie viele Token eine einzelne Anfrage einschließlich ihrer Antwort zusammen enthalten kann. Diese Grenze variiert je nach Modell und ändert sich, wenn Anbieter neue Versionen veröffentlichen. Deshalb sollte sie in der aktuellen Dokumentation des verwendeten Modells überprüft werden, statt sie aus dem Gedächtnis anzunehmen.

Häufig gestellte Fragen

Was ist ein Token in KI-Sprachmodellen? Ein Token ist ein Textabschnitt, den ein Sprachmodell als eine Einheit liest. Das kann ein ganzes kurzes Wort, ein Teil eines längeren Wortes, ein Satzzeichen oder ein an das folgende Wort angehängtes Leerzeichen sein.

Warum ergeben verschiedene Encodings für denselben Text unterschiedliche Tokenanzahlen? Jedes Encoding wurde mit einer eigenen Textauswahl trainiert und hat ein eigenes Vokabular häufiger Abschnitte entwickelt. Ein Wort, das in einem Vokabular häufig genug vorkommt, um ein einzelnes Token zu bilden, ist in einem anderen möglicherweise nicht enthalten und wird daher anders aufgeteilt.

Werden Satzzeichen als Token gezählt? Ja. Satzzeichen werden normalerweise als eigene Token gezählt oder gelegentlich mit dem benachbarten Zeichen zusammengeführt, je nachdem, wie häufig diese Kombination während des Trainings des Tokenizers vorkam.

Ist ein Token dasselbe wie ein Wort? Nein. Kurze, häufige Wörter bestehen normalerweise jeweils aus einem Token. Längere oder weniger häufige Wörter und die meisten Wörter außerhalb des Englischen werden oft in zwei oder mehr Token aufgeteilt.

Wie genau ist dieses Tool? Es zählt Token mithilfe der tiktoken-Bibliothek von OpenAI und verwendet dabei dieselbe Kodierungslogik, die OpenAI intern nutzt. Daher stimmt die Zählung mit dem Ergebnis überein, das ein Aufruf der OpenAI-API für denselben Text und dasselbe Encoding liefern würde.

Kann dieses Tool Token für Modelle zählen, die nicht von OpenAI stammen? Es verwendet die Encodings von tiktoken, die für die Modelle von OpenAI entwickelt wurden. Andere Anbieter wie Anthropic oder Google verwenden eigene Tokenizer, die für denselben Text andere Zählungen ergeben können.

Referenzen

  1. OpenAI. "tiktoken." GitHub, https://github.com/openai/tiktoken.
  2. Sennrich, Rico, et al. "Neural Machine Translation of Rare Words with Subword Units." arXiv:1508,07909, 2016, http://arxiv.org/abs/1508.07909.
  3. Brown, Tom B., et al. "Language Models are Few-Shot Learners." arXiv:2005,14165, 2020, http://arxiv.org/abs/2005.14165.