Wird geladen

Tokens: Warum manche Eingaben mehr kosten als andere

Die Nutzung von Claude wird in Tokens gemessen. Ob du eine Nutzungsrechnung im Blick behältst oder dich fragst, wann ein Ratenlimit greift – Tokens sind die Maßeinheit. Lerne, was ein Token ist, sage voraus, wie viele ein Textstück verbrauchen wird, und sieh, wie Tokens Bedeutung kodieren.

15 Min.

Vielleicht erinnerst du dich an eine Zeit, in der die meisten LLMs dir nicht sagen konnten, wie viele „r" in „strawberry" vorkommen. Aber warum passiert das? Die Antwort erklärt eine überraschende Menge darüber, worin Sprachmodelle gut sind, was ihnen schwerfällt, und wie sie mit Mathematik Text erzeugen. Sie erklärt außerdem, wie deine Nutzung berechnet wird, was beeinflusst, wie schnell du ein Ratenlimit erreichst oder wie deine API-Rechnung aussehen könnte.

Beginnen wir mit einem Rollentausch.

Dies ist eine Aufwärmfrage, also rate einfach nach bestem Wissen.

Schnellcheck

Wenn du "Hello Claude" eingibst und auf Senden drückst, was kommt deiner Vorstellung nach beim Modell an?

Drei Möglichkeiten, Text darzustellen

Denk an diese drei Zeichen lange Zeichenkette: "Hi!". Überlege dir nun drei verschiedene Arten, wie wir diese Information an ein Sprachmodell weitergeben könnten.

  1. So, wie du sie genau siehst. Eine Zeichenkette: "Hi!".
  2. Als Liste von Zeichen. ['H', 'i', '!']. Die Klammern [ ] bedeuten Liste; diese besondere Liste enthält drei Elemente.
  3. Als eine Zahl pro Zeichen. Jedes Zeichen könnte einer Standardzahl entsprechen: 'H' ist 72, 'i' ist 105, '!' ist 33.
string:      "Hi!"
characters:  [ 'H', 'i', '!' ]
numbers:     [ 72,  105, 33  ]

Während alle drei Ansätze im Code ihre Verwendung haben, tun Sprachmodelle eine vierte, strategischere Sache. Was ankommt, ist immer noch eine Liste von Zahlen, aber nicht eine Zahl pro Zeichen aus einer festen Tabelle: Es ist eine Zahl pro Abschnitt (Chunk) von Text, aus einem Vokabular, das das Modell gelernt hat.

Ein Textabschnitt mit seiner numerischen ID wird Token genannt.

Tokens

Das Widget unten enthält mehrere Textstücke, die du tokenisieren kannst. Klick dich durch die Beispiele, tokenisiere jedes und sieh selbst: Wie unterscheidet sich ein Token von einem Wort?

Wird geladen

Über oder unter?

Jetzt, wo du weißt, wie Tokens aussehen, versuche vorherzusagen, wie viele Tokens beim Tokenisieren der folgenden Zeichenketten entstehen.

Wird geladen

Warum Subwörter?

Du fragst dich vielleicht: Warum nicht einfach ein Token pro Zeichen oder eines pro Wort?

Die Menge eindeutiger Token-IDs, die ein Tokenizer erzeugen kann, wird sein Vokabular genannt. Die Entscheidung über die genau richtige Token-Größe und Vokabulargröße ist noch immer Gegenstand von Erkundung und Forschung, aber die meisten öffentlichen Tokenizer streben eine Goldlöckchen-Zone an. Schau dir den Satz „The tokenizer rocks." an, den drei verschiedene Tokenizer auf drei verschiedene Arten zerlegen.

Mit winzigen Tokens (eines pro Zeichen) kostet der Satz 20 Tokens. Das wird langsam und teuer zu verarbeiten sein!

[T] [h] [e] [ ] [t] [o] [k] [e] [n] [i] [z] [e] [r] [ ] [r] [o] [c] [k] [s] [.]

Mit großen Tokens (eines pro Wort) kostet der Satz nur 4 Tokens, aber das Modell muss ein riesiges Vokabular lernen, um Nischenwörter wie „tokenizer" zu kennen:

[The] [ tokenizer???] [ rocks] [.]

Mit einem Mittelweg (ein Token pro Wort oder Teilwort) kostet der Satz 5 Tokens, ohne dass das Vokabular so viele spezialisierte Wörter enthalten müsste:

[The] [ token] [izer] [ rocks] [.]

Das Vokabular eines Tokenizers ist fest im Modell verankert und kann nach dem Training nicht mehr geändert werden. Man sagt von jedem bestimmten Modell, es sei „an einen Tokenizer gebunden", weil es nur je gelernt hat, was Token 4062 bedeutet, nicht was "quick" bedeutet.

Ausgaben decodieren

Jetzt weißt du also, dass der Text, den du an ein Modell sendest, zu einer Liste von Token-IDs wird, bevor er verarbeitet wird. Die Ausgabe eines Modells ist ebenfalls eine Liste von Token-IDs. Versuch, diese Antwort zu decodieren.

Wird geladen

Von Tokens zu Bedeutung

Die Tokenisierung gibt jedem Textabschnitt eine Zahl, aber Tokens mit ähnlichen IDs wie 9906 und 9907 sind nicht verwandt – sie sind nur Nachbarn in einer Liste. Ein Modell braucht eine Möglichkeit zu wissen, dass cat und kitten bedeutungsmäßig nah beieinanderliegen, selbst wenn ihre IDs im Vokabular weit auseinanderliegen. Modelle erreichen das, indem sie jedem Token einen mehrdimensionalen Wert zuweisen.

Beginnen wir mit einem 2D-Bewertungssystem.

Wird geladen

Embeddings

Ein LLM-Embedding funktioniert genauso wie die Bewertung, die du gerade vorgenommen hast. Jedes Wort (oder eigentlich jeder Token) wird zu einem Punkt, und ähnliche Wörter (Tokens) landen nah beieinander. Echte Embeddings sind auf zwei Arten komplizierter:

  1. Ein LLM-Embedding hat Tausende von Dimensionen, nicht nur zwei. Du kannst dir vorstellen, dass wir auch eine Achse für „gefährlich" einbeziehen könnten, die uns helfen würde, unseren Tiger von unserem Kätzchen zu unterscheiden.
  2. Die in einer einzelnen Dimension erfasste Bedeutung ist nicht beschriftet und könnte tatsächlich etwas bedeuten, wofür es nicht einmal ein gutes menschliches Wort gibt. Niedlichkeit ist irgendwo darin, aber es gibt keine explizit „Niedlichkeit" genannte Achse – das Modell erfindet oder entdeckt die Dimensionen während des Trainings, und der Prozess zu entschlüsseln, was sie bedeuten, ist ein Schwerpunkt der Interpretierbarkeits-Forschung.

Betrachte „cat" in 2, 3 und Tausenden von Dimensionen

2 dimensions       "cat" = [ 8.0,  3.5 ]                                cute, big
3 dimensions       "cat" = [ 8.0,  3.5,  1.0 ]                          cute, big, dangerous
4,096 dimensions   "cat" = [ 0.031, -0.184, 0.772, …, -0.094 ]          (no labels)

The exact number of dimensions varies by model. 4,096 is a common size in open-weight models.

Möchtest du Embeddings weiter erkunden? Bitte Claude, dir eine Visualisierung zu bauen:

Ich lerne gerade über Embeddings. Ich verstehe, dass ein Token zu einem Punkt in einem Raum mit vielen Dimensionen wird, dass ähnliche Tokens nah beieinander landen und dass die Dimensionen nicht mit menschlichen Wörtern beschriftet sind. Hilf mir, ein Gespür dafür zu entwickeln, indem du eine interaktive Visualisierung baust: Platziere ein paar Dutzend Alltagswörter in einem kleinen Embedding-Raum, lass mich ein beliebiges Wort auswählen und seine nächsten Nachbarn sehen, und lass mich ein eigenes Wort hinzufügen, um zu sehen, wo es landet und warum.

Zusammenfassung

Jetzt weißt du also, dass der Text, den du an ein LLM sendest, zu einer Reihe von Tokens wird und Tokens zu Embeddings werden.

text:        "Hi"
token:       [ 13347 ]
embedding:   [ 0.12, -0.48, 0.91, …, 0.07 ]

Herzlichen Glückwunsch! Das ist ein großer Schritt zum Verständnis, wie ein Sprachmodell funktioniert.

Vielleicht ahnst du bereits, dass die in Embeddings erfasste Information (wie niedlich und groß und alles Dinge sind) eine große Rolle dabei spielt, wie ein Sprachmodell seine Eingaben versteht und die richtigen Ausgaben wählt. Falls ja, liegst du mit deiner Intuition richtig!

Wenn sich diese vier Aussagen für dich wahr anfühlen, hast du gelernt, was diese Lektion vermitteln sollte.

  • Du kannst erklären, warum eine 100 Zeichen lange URL mehr Tokens kostet als ein 100 Zeichen langer Satz.
  • Du kannst ungefähr vorhersagen, wie viele Tokens ein Textabschnitt haben wird.
  • Du weißt, warum ein Modell an seinen Tokenizer gebunden ist und warum seltenere Wörter in Teile zerlegt werden.
  • Du kannst erklären, was ein Embedding ist und warum es wichtig ist, mit den Wörtern „Wert", „Dimension" und „nah beieinander".

Weiter: Wie der Kontext Claudes Leistung und Kosten beeinflusst · Das richtige Claude-Modell wählen · einen Aufwandsgrad in Claude wählen · in Claude Code

Mehr erfahren: Wie KI funktioniert · KI-Fähigkeiten und Grenzen