Proporciona una implementación de los tokenizadores más utilizados en la actualidad, centrándose en el rendimiento y la versatilidad.
Entrene nuevos vocabularios y tokenice utilizando los tokenizadores más utilizados en la actualidad.
Extremadamente rápido (tanto de entrenamiento como de tokenización), gracias a la implementación de Rust. Se necesitan menos de 20 segundos para tokenizar un GB de texto en la CPU de un servidor.
Fácil de usar, pero también extremadamente versátil.
Diseñado para investigación y producción.
La normalización viene con el seguimiento de alineaciones. Siempre es posible obtener la parte de la oración original que corresponde a un token determinado.
Realiza todo el preprocesamiento: trunca, rellena, agrega los tokens especiales que tu modelo necesita.
El rendimiento puede variar según el hardware, pero al ejecutar ~/bindings/python/benches/test_tiktoken.py debería aparecer lo siguiente en una instancia de g6 aws:
Proporcionamos enlaces a los siguientes idiomas (¡más por venir!):
Rust (implementación original)
Pitón
Nodo.js
Ruby (Contribuido por @ankane, repositorio externo)
Puede instalar desde la fuente usando:
pip instalar git+https://github.com/huggingface/tokenizers.git#subdirectory=bindings/python
instalamos las versiones publicadas con
tokenizadores de instalación de pip
Elija su modelo entre codificación de pares de bytes, Wordpiece o Unigram y cree una instancia de un tokenizador:
de tokenizadores importar Tokenizerde tokenizadores.modelos importar BPEtokenizer = Tokenizer(BPE())
Puede personalizar cómo se realiza la tokenización previa (por ejemplo, dividir en palabras):
de tokenizers.pre_tokenizers importar Whitespacetokenizer.pre_tokenizer = Whitespace()
Luego, entrenar su tokenizador en un conjunto de archivos solo requiere dos líneas de códigos:
de tokenizers.trainers import BpeTrainertrainer = BpeTrainer(special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])tokenizer.train(files=[ "wiki.train.raw", "wiki.valid.raw", "wiki.test.raw"], entrenador=entrenador)
Una vez que su tokenizador esté entrenado, codifique cualquier texto con una sola línea:
salida = tokenizer.encode("¡Hola a todos! ¿Cómo están? ?")print(output.tokens)# ["Hola", ",", "y", "'", "todos", "! ", "Cómo", "estás", "tú", "[DESCONOCIDO]", "?"]
¡Consulta la documentación o el recorrido rápido para obtener más información!