Gigatoken: Tokenitzador BPE en Rust 989x més ràpid que HuggingFace

Gigatoken, un tokenitzador BPE en Rust, processa text a 24.53 GB/s, essent 989x més ràpid que HuggingFace. Descobreix les seves tècniques d'optimització.

viernes, 24 de julio de 2026 • 5 min de lectura • Equip Q2BSTUDIO

Rendimiento extremo en tokenización de texto

La tokenització ha estat durant molt de temps un coll d'ampolla silenciós en els pipelines de processament de llenguatge natural. Mentre que els models de llenguatge creixen en mida i complexitat, l'etapa de convertir text en tokens continuava sent un pas menor, rarament optimitzat amb la mateixa exigència que l'entrenament o la inferència. Gigatoken, un tokenitzador basat en Byte-Pair Encoding (BPE) escrit en Rust i publicat sota llicència MIT per Marcel Rød, estudiant de doctorat a Stanford, trenca aquest paradigma. El seu rendiment és tan disruptiu que mereix l'atenció de qualsevol professional que treballi amb grans volums de text, des d'equips d'intel·ligència artificial fins a empreses que necessiten processar dades a escala industrial.

Els benchmarks publicats són contundents: en una màquina amb dues CPUs AMD EPYC 9565 (144 nuclis en total), Gigatoken assoleix una velocitat de processament de 24,53 GB/s sobre el corpus owt_train.txt d'11,9 GB utilitzant el tokenitzador GPT-2. Per posar-ho en context, la implementació d'OpenAI, tiktoken, arriba a 36,0 MB/s, i la de HuggingFace tokenizers, a 24,8 MB/s. Això suposa un avantatge de 681x i 989x respectivament. En un Apple M4 Max de 16 nuclis, la mateixa càrrega de treball s'executa a 8,79 GB/s, és a dir, 1.268 vegades més ràpid que HuggingFace tokenizers i 140 vegades més que tiktoken. En un AMD Ryzen 7 9800X3D de consum, el rendiment és de 6,27 GB/s, superant en 106x a HuggingFace i en 68x a tiktoken. Aquestes xifres no són fruit d'una configuració concreta ni d'un sol vocabulari: Gigatoken suporta 23 famílies de tokenitzadors en les seves proves publicades, incloent GPT-2, Llama 3 i 4, Qwen 2 a 3.6, DeepSeek V3/R1/V4, GLM 4 i 5, Kimi K2, Nemotron 3, Phi-4, OLMo 2/3, ModernBERT, Gemma i Mistral.

Com aconsegueix Gigatoken aquesta acceleració? El secret no rau en un algoritme de merging BPE més ràpid, sinó en dues optimitzacions que la majoria dels tokenitzadors donen per resoltes: la pre-tokenització i la memòria cau de pre-tokens. La pre-tokenització tradicional delega en un motor d'expressions regulars, cosa que introdueix una latència considerable. Gigatoken la reescriu completament a mà. El registre d'optimitzacions documenta una evolució fascinant: partint d'una implementació amb fancy-regex que rendia 47 MiB/s, es va passar a una màquina d'estats artesanal amb 380 MiB/s, després a un combinador winnow amb SIMD NEON (462 MiB/s), després a un iterador directe amb taula de cerca de 256 bytes i tècnica SWAR (830 MiB/s), i finalment a una explotació d'ILP amb dos cursor simultanis que arriba a 1.049 MiB/s. El coll d'ampolla de 840 MiB/s no era d'ample de banda, sinó de latència: cada token depenia de l'anterior en una cadena serial d'uns 25-27 cicles. Executar dos cursor independents des d'un punt de divisió segur permet que el processador fora d'ordre intercali ambdós fluxos, duplicant el rendiment efectiu. En total, la pre-tokenització millora 22,3x respecte a una implementació amb regex.

La segona millora és la memòria cau de pre-tokens. Si una paraula ja ha estat tokenitzada abans, la seva codificació es recupera de la memòria en lloc de recalcular-la. Tot i que implementar aquesta memòria cau és complex —el vocabulari creix ràpid i la distribució de paraules segueix una cua llarga—, Gigatoken minimitza l'impacte sobre la memòria i manté el rendiment. A més, la interacció amb Python es redueix al mínim i els fils estan dissenyats per interferir el mínim possible entre si.

És important matitzar que els guanys no són universals. Per a vocabularis SentencePiece —com els de Gemma o CodeLlama— les millores són d'entre 7x i 22x, ordres de magnitud inferiors als 1.000x de BPE. I WordPiece no està suportat. D'altra banda, Gigatoken ofereix un mode de compatibilitat que envolta un tokenitzador existent de HuggingFace o tiktoken, preservant la sortida exacta, tot i que amb una penalització de rendiment d'aproximadament 200-300x (a causa de l'overhead de Python). Els números espectaculars corresponen a l'API nativa, on Rust llegeix els fitxers directament.

Una verificació independent a KrabArena, sobre una màquina virtual amb 4 vCPU Intel Xeon a 2,20 GHz i una mostra de 174 MB d'OpenWebText, va confirmar els resultats: Gigatoken 0.9.0 va assolir una mediana de 277,8 MB/s, davant de 10,62 MB/s de tiktoken i 3,33 MB/s de tokenizers. Totes les proves van validar 35.356 documents, demostrant que la tendència de rendiment escala amb el nombre de nuclis.

Per a les empreses que desenvolupen models de llenguatge o processen grans corpus, Gigatoken representa un canvi de joc. Reduir el temps de tokenització d'hores a minuts, o de minuts a segons, accelera significativament els cicles d'experimentació i desplegament. A Q2BSTUDIO, entenem que l'eficiència en cada etapa del pipeline d'IA és crítica. Per això oferim serveis de software a mida que integren solucions com Gigatoken en entorns productius, optimitzant des de la ingesta de dades fins a la inferència al núvol. El nostre equip combina experiència en intel·ligència artificial, ciberseguretat i cloud computing (AWS/Azure) per garantir que els seus projectes no només siguin ràpids, sinó també segurs i escalables.

A més, la tokenització ràpida té implicacions directes en àrees com l'automatització de processos i l'anàlisi de negoci. Quan es processen milions de documents per alimentar dashboards de BI (Power BI) o per entrenar agents d'IA conversacionals, cada mil·lisegut compta. Gigatoken permet que aquestes càrregues de treball s'executin en menys temps i amb menor consum de recursos, cosa que es tradueix en estalvi de costos en infraestructura cloud. A Q2BSTUDIO, ajudem les empreses a dissenyar arquitectures que aprofitin aquestes tecnologies punteres, ja sigui mitjançant integracions personalitzades amb Python, desplegaments en servidors dedicats o solucions serverless al núvol.

En definitiva, Gigatoken demostra que encara hi ha espai per a millores radicals en components que es consideraven madurs. El seu enfocament basat en Rust, SWAR i ILP estableix un nou estàndard en tokenització BPE. Per a qualsevol organització que busqui maximitzar el rendiment dels seus sistemes de processament de llenguatge natural, val la pena avaluar aquesta eina i, amb el suport d'un soci tecnològic com Q2BSTUDIO, integrar-la de forma segura i eficient en els seus fluxos de treball.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.