Token-Zahl eines Datensatzes Rechner
Eingaben
| Wörter | 100 |
|---|---|
| Tokens je Wort | 1,3 |
| Epochen | 1 |
Token-Zahl eines Datensatzes Rechner
Schätzt, wie viele Tokens ein Textkorpus enthält, aus seiner Wortzahl und einem Verhältnis von Tokens je Wort, und skaliert über Trainingsepochen zur Gesamtzahl der Tokens, die ein Modell sieht.
Eingaben
Korpus
Ergebnisse
Geben Sie einen Wert ein, um die Ergebnisse zu sehen.
Details
Token-Zahl eines Datensatzes
Das Training und die Budgetierung eines Sprachmodells beginnen bei einer einzigen Größe: wie viele Tokens der Datensatz enthält. Korpora werden jedoch meist in Wörtern, Dokumenten oder Gigabyte beschrieben, nicht in Tokens, und das Modell liest stets nur Tokens. Dieser Rechner überbrückt diese Lücke, indem er eine Wortzahl mit einem Verhältnis von Tokens je Wort in eine geschätzte Token-Zahl umrechnet und anschließend über die Zahl der Trainingsepochen skaliert, um die Gesamtzahl zu ergeben, die ein Modell verarbeitet.
Tokens statt Wörter
Ein Token ist die atomare Einheit, die ein Tokenizer erzeugt, wenn er Text in Subwort-Stücke zerlegt. Häufige Wörter werden oft zu einem einzelnen Token, während seltenere oder längere Wörter in mehrere geteilt werden, sodass ein Abschnitt fast immer mehr Tokens als Wörter enthält. Da die Abbildung vom Tokenizer gelernt wird, ist das Verhältnis zwischen Tokens und Wörtern eine Eigenschaft von Tokenizer und Text und keine universelle Konstante. Wörter und Tokens als austauschbar zu behandeln, unterschätzt die wahre Zahl und damit die Rechenleistung, die ein Lauf benötigt.
Wie die Schätzung funktioniert
Die Korpusgröße geht in Millionen Wörtern ein. Die Multiplikation mit dem Verhältnis von Tokens je Wort ergibt die Tokens in einem einzelnen Durchlauf über die Daten. Das Wiederholen des Korpus über Epochen vervielfacht die vom Modell geleistete Arbeit, sodass die effektiven Trainings-Tokens der Durchlaufwert mal die Epochen-Zahl sind. Ein Wert in Milliarden wird aus der Summe in Millionen abgeleitet, da Trainingsdatensätze meist in Milliarden Tokens angegeben werden.
Die Formel
Mit in Millionen Wörtern, dem Verhältnis und Epochen ergeben sich der Durchlaufwert (Millionen), seine Milliarden-Form und der über Epochen skalierte Trainingswert (Millionen) als
TE=W⋅r=T⋅eDer Milliarden-Wert ist schlicht .
Rechenbeispiel
Betrachtet sei ein Korpus von 100 Millionen Wörtern, tokenisiert mit 1,3 Tokens je Wort und über drei Epochen trainiert:
TE=100×1.3=130 Millionen Tokens=130×3=390 Millionen TokensEin Durchlauf über die Daten umfasst etwa 130 Millionen Tokens, also 0,13 Milliarden. Ein Training über drei Epochen bedeutet, dass das Modell Vorwärts- und Rückwärtsdurchläufe über das Äquivalent von 390 Millionen Tokens ausführt, obwohl nur 130 Millionen einzigartig sind. Der einzigartige Wert beschreibt die verfügbare Information; der über Epochen skalierte Wert beschreibt die Arbeit und damit die Rechenleistung.
Die Wahl des Verhältnisses
Für englische Prosa mit einem modernen Byte-Pair-Tokenizer ist rund 1,3 Tokens je Wort ein sinnvoller Standardwert, und etwa vier Zeichen je Token eine verwandte Näherung. Code, Mathematik und nicht-lateinische Schriften zerfallen in der Regel in mehr Tokens und heben das Verhältnis. Der verlässliche Ansatz besteht darin, den vorgesehenen Tokenizer auf einer repräsentativen Stichprobe laufen zu lassen und seine Token-Ausgabe durch die Wortzahl dieser Stichprobe zu teilen, und das gemessene Verhältnis hier zu verwenden. Die umgekehrte Umrechnung, von einem Token-Budget zurück in lesbare Länge, behandelt der Rechner für Token in Wörter.
Grenzen
Das Ergebnis ist eine Schätzung. Die genaue Token-Zahl hängt vom konkreten Tokenizer, von Formatierung und Leerraum sowie davon ab, wie Dokumente zusammengefügt werden — nichts davon erfasst ein einzelnes Verhältnis perfekt. Epochen als zusätzliche Tokens zu zählen ist für Rechenleistung und Skalierung korrekt, doch wiederholte Tokens tragen keine neue Information und bringen ab einigen Durchläufen abnehmenden Nutzen. Um zu prüfen, ob ein Datensatz für eine gegebene Modellgröße ausreicht, lässt sich der Durchlaufwert mit dem rechenoptimalen Ziel im Chinchilla-optimale Tokens Rechner vergleichen.
Häufig gestellte Fragen (FAQ)
Wie unterscheiden sich Tokens von Wörtern?
Ein Token ist die Einheit, die ein Modell tatsächlich liest, erzeugt von einem Tokenizer, der Text in Subwort-Stücke zerlegt. Häufige Wörter werden oft auf ein einzelnes Token abgebildet, während seltenere oder längere Wörter in mehrere zerlegt werden, sodass die Token-Zahl eines Textes meist höher liegt als seine Wortzahl.
Das Verhältnis zwischen beiden hängt von Tokenizer und Sprache ab, weshalb diese Schätzung eine Wortzahl mit einem ausdrücklichen Faktor von Tokens je Wort skaliert, statt beide als gleich anzunehmen.
Welches Verhältnis von Tokens je Wort ist sinnvoll?
Für englische Prosa, tokenisiert mit einem modernen Byte-Pair- oder Unigram-Tokenizer, ist rund 1,3 Tokens je Wort eine verbreitete Faustregel, und etwa vier Zeichen je Token eine verwandte Schätzung. Code, Mathematik sowie morphologisch reiche oder nicht-lateinische Sprachen erzeugen in der Regel mehr Tokens je Wort.
Der verlässlichste Wert ergibt sich, wenn der vorgesehene Tokenizer auf einer repräsentativen Stichprobe des tatsächlichen Korpus läuft und die resultierende Token-Zahl durch die Wortzahl geteilt wird.
Sollten wiederholte Epochen als mehr Tokens gezählt werden?
Für Rechen- und Skalierungsschätzungen ja: Jede Epoche führt einen weiteren vollständigen Satz von Vorwärts- und Rückwärtsdurchläufen über die Daten aus, sodass die effektiven Trainings-Tokens der Wert für einen Durchlauf mal die Zahl der Epochen sind.
Für Fragen der Datenvielfalt ist die Unterscheidung wichtig, da wiederholte Tokens keine neue Information sind und ab einigen Durchläufen abnehmenden Nutzen bringen. Dieser Rechner gibt sowohl den einmaligen Durchlaufwert als auch den über Epochen skalierten Trainingswert aus, sodass beide Sichtweisen verfügbar sind.
Haftungsausschluss
Token-Zahlen sind Schätzungen auf Basis eines durchschnittlichen Verhältnisses von Tokens je Wort; die genaue Summe hängt vom konkreten Tokenizer und vom Text selbst ab. Für einen präzisen Wert sollte der vorgesehene Tokenizer auf einer Stichprobe laufen, bevor Rechenbudgets festgelegt werden.