Fornece uma implementação dos tokenizers mais usados atualmente, com foco em desempenho e versatilidade.
Treine novos vocabulários e tokenize, usando os tokenizers mais usados atualmente.
Extremamente rápido (treinamento e tokenização), graças à implementação do Rust. Leva menos de 20 segundos para tokenizar um GB de texto na CPU de um servidor.
Fácil de usar, mas também extremamente versátil.
Projetado para pesquisa e produção.
A normalização vem com rastreamento de alinhamentos. Sempre é possível obter a parte da frase original que corresponde a um determinado token.
Faz todo o pré-processamento: Truncar, Pad, adicionar os tokens especiais que seu modelo precisa.
O desempenho pode variar dependendo do hardware, mas a execução de ~/bindings/python/benches/test_tiktoken.py deve fornecer o seguinte em uma instância g6 aws:
Fornecemos ligações para os seguintes idiomas (mais em breve!):
Ferrugem (implementação original)
Pitão
Node.js
Ruby (contribuição de @ankane, repositório externo)
Você pode instalar a partir do código-fonte usando:
pip instalar git + https://github.com/huggingface/tokenizers.git#subdirectory=bindings/python
instalamos as versões lançadas com
pip instalar tokenizadores
Escolha seu modelo entre Byte-Pair Encoding, WordPiece ou Unigram e instancie um tokenizer:
de tokenizers import Tokenizerfrom tokenizers.models import BPEtokenizer = Tokenizer(BPE())
Você pode personalizar como a pré-tokenização (por exemplo, divisão em palavras) é feita:
de tokenizers.pre_tokenizers importar Whitespacetokenizer.pre_tokenizer = Whitespace()
Então, treinar seu tokenizer em um conjunto de arquivos requer apenas duas linhas de códigos:
de tokenizers.trainers importar BpeTrainertrainer = BpeTrainer(special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])tokenizer.train(files=[ "wiki.train.raw", "wiki.valid.raw", "wiki.test.raw"], treinador=treinador)
Depois que seu tokenizer estiver treinado, codifique qualquer texto com apenas uma linha:
output = tokenizer.encode("Olá, pessoal! Como vocês estão? ?")print(output.tokens)# ["Olá", ",", "y", "'", "todos", "! ", "Como", "é", "você", "[DESCONHECIDO]", "?"]
Verifique a documentação ou o quicktour para saber mais!