Bietet eine Implementierung der heute am häufigsten verwendeten Tokenizer mit Schwerpunkt auf Leistung und Vielseitigkeit.
Trainieren Sie neue Vokabeln und tokenisieren Sie sie mit den heute am häufigsten verwendeten Tokenizern.
Extrem schnell (sowohl Training als auch Tokenisierung) dank der Rust-Implementierung. Die Tokenisierung eines GB Text auf der CPU eines Servers dauert weniger als 20 Sekunden.
Einfach zu bedienen, aber auch äußerst vielseitig.
Konzipiert für Forschung und Produktion.
Die Normalisierung erfolgt mit der Ausrichtungsverfolgung. Es ist immer möglich, den Teil des Originalsatzes abzurufen, der einem bestimmten Token entspricht.
Führt die gesamte Vorverarbeitung durch: Abschneiden, Auffüllen und Hinzufügen der speziellen Token, die Ihr Modell benötigt.
Die Leistung kann je nach Hardware variieren, aber das Ausführen von ~/bindings/python/benches/test_tiktoken.py sollte auf einer g6-aws-Instanz Folgendes ergeben:
Wir bieten Bindungen für die folgenden Sprachen (weitere folgen!):
Rust (Ursprüngliche Implementierung)
Python
Node.js
Ruby (Beigetragen von @ankane, externes Repo)
Sie können von der Quelle installieren mit:
pip install git+https://github.com/huggingface/tokenizers.git#subdirectory=bindings/python
Wir installieren die veröffentlichten Versionen mit
pip install tokenizers
Wählen Sie Ihr Modell zwischen Byte-Pair Encoding, WordPiece oder Unigram und instanziieren Sie einen Tokenizer:
from tokenizers import Tokenizerfrom tokenizers.models import BPEtokenizer = Tokenizer(BPE())
Sie können anpassen, wie die Vor-Tokenisierung (z. B. Aufteilung in Wörter) durchgeführt wird:
from tokenizers.pre_tokenizers import Whitespacetokenizer.pre_tokenizer = Whitespace()
Dann sind zum Trainieren Ihres Tokenizers für eine Reihe von Dateien nur zwei Codezeilen erforderlich:
from tokenizers.trainers import BpeTrainertrainer = BpeTrainer(special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])tokenizer.train(files=[ „wiki.train.raw“, „wiki.valid.raw“, „wiki.test.raw“], Trainer=Trainer)
Sobald Ihr Tokenizer trainiert ist, kodieren Sie jeden Text mit nur einer Zeile:
Output = tokenizer.encode("Hallo, ihr alle! Wie geht es euch? ?")print(output.tokens)# ["Hallo", ",", "y", "'", "all", "! „, „Wie“, „sind“, „Ihnen“, „[UNK]“, „?“]
Schauen Sie sich die Dokumentation oder die Quicktour an, um mehr zu erfahren!