⚡ ÚLTIMA HORA
Gigatoken: Tokenizador BPE em Rust Codifica Texto a 24,53 GB/s, Até 989x Mais Rápido que os Tokenizadores HuggingFace
OpenAI
Hugging Face
Google/DeepMind
Meta
Alibaba/Qwen
DeepSeek
Moonshot AI
NVIDIA
Gigatoken, um tokenizador BPE escrito em Rust pelo estudante de doutorado da Stanford Marcel Rød, atinge velocidades de codificação de texto de 24,53 GB/s em um sistema AMD EPYC de 144 núcleos, superando os tokenizadores HuggingFace em 989x e o tiktoken da OpenAI em 681x. A biblioteca suporta 23 famílias de tokenizadores e atribui sua velocidade a um pré-tokenizador otimizado manualmente usando técnicas SIMD SWAR e cache de pré-tokenização.
O estudante de doutorado da Universidade de Stanford, Marcel Rød, lançou o Gigatoken, um tokenizador de codificação por pares de bytes (BPE, do inglês byte-pair encoding) escrito em Rust com bindings para Python, sob a licença MIT. Em um sistema dual-socket AMD EPYC 9565 de 144 núcleos, o Gigatoken processou o corpus owt_train.txt de 11,9 GB a 24,53 GB/s, em comparação com o tokenizador da HuggingFace a 24,8 MB/s (989x mais lento) e o tiktoken da OpenAI a 36,0 MB/s (681x mais lento). Em um Apple M4 Max com 16 núcleos, atingiu 8,79 GB/s, superando a HuggingFace por 1.268x e o tiktoken por 140x. Os ganhos de desempenho vêm de um pré-tokenizador escrito manualmente que usa técnicas SWAR (SIMD Within A Register) para verificar 8 bytes de uma vez com aritmética sem desvios, alcançando 1.049 MiB/s para pré-tokenização GPT-2 — uma melhoria de 22,3x em relação a abordagens baseadas em expressões regulares. Além disso, o cache de pré-tokens evita a recomputação de palavras já vistas. O modo de compatibilidade com tokenizadores existentes da HuggingFace ou tiktoken atinge uma aceleração de 200–300x devido à sobrecarga do Python. Benchmarks independentes no KrabArena com uma VM de 4 vCPUs confirmaram uma taxa de transferência mediana de 277,8 MB/s, superando o tiktoken por 26,2x e o tokenizador por 83,4x. A biblioteca suporta 23 famílias de tokenizadores, incluindo GPT-2, Llama 3–4, Qwen 2–3.6, DeepSeek V3/R1/V4, GLM 4/5, Kimi K2, Nemotron 3, Phi-4, OLMo 2/3, ModernBERT, Gemma e Mistral, mas tokenizadores SentencePiece apresentam aceleração de apenas 7–22x e WordPiece não é suportado.
Fonte: MarkTechPost —
original
