
De kilobytes a gigabytes por segundo
Hace unos dÃas me topé con un proyecto en GitHub que me dejó pensando en lo mal que estamos acostumbrados a que las cosas sean lentas. Se llama GigaToken y es un tokenizador para modelos de lenguaje escrito en Rust que, según sus benchmarks, puede procesar texto a más de 1 GB por segundo en una CPU moderna. Eso no es un poco más rápido. Es mil veces más rápido que lo que usan la mayorÃa de las librerÃas de Python hoy en dÃa.
Y no, no es magia. Es ingenierÃa de sistemas de verdad.
Por qué importa esto
Si eres de los que usan modelos de IA localmente —ya sea con Ollama, llama.cpp o alguna API propia— sabes que el cuello de botella muchas veces no es el modelo en sÃ, sino cómo se prepara el texto antes de meterlo al transformer. La tokenización es ese paso invisible que pasa de «hola mundo» a una lista de números enteros, y en la práctica puede comerse una porción seria del tiempo total de inferencia.
Marcel Rød, el creador de GigaToken, se dio cuenta de que la mayorÃa de los tokenizadores existentes están optimizados para GPUs o para correr en paralelo sobre batches grandes, pero casi nadie se preocupa del caso simple: yo tengo un archivo de texto gigante y quiero tokenizarlo en mi máquina, sin GPU. Ahà es donde entra el trabajo con SIMD, cachés de CPU y paralelización con Rayon.
Lo que me gusta de este proyecto
Primero, está hecho en Rust. Eso ya le da un punto a favor, porque no estás jugando con bindings de C medio rotos ni con la GIL de Python. Segundo, la mayor parte del código base fue escrita a mano, sin IA. Eso es raro en 2026 y lo respeto. Después, sà usó Claude para pulir la API, portar entre AVX512/AVX2/NEON y hacer los últimos perfiles de rendimiento. Pero el núcleo del proyecto tiene la firma de alguien que entiende de arquitectura de computadores.
También me parece bacán que soporte tanto tokenizadores BPE como SentencePiece, y que tenga wrappers drop-in para HuggingFace y tiktoken. O sea, puedes probarlo sin cambiar tu pipeline existente.
Mi opinión
Personalmente creo que nos estamos acostumbrando demasiado a que la IA sea sinónimo de «compra más GPUs». Proyectos como GigaToken demuestran que todavÃa hay espacio para optimizar desde abajo, desde la ingenierÃa de software clásica. A veces la respuesta no es más hardware, sino código que respeta la jerarquÃa de memoria de tu procesador.
No sé si GigaToken se va a convertir en el estándar, pero ojalá más desarrolladores se fijen en estos detalles. La pega de tokenizar no deberÃa ser el paso más lento de tu pipeline.
¿Tú ya probaste algún tokenizador optimizado para CPU? ¿O todavÃa esperas que Python haga todo el trabajo?
Fuente de inspiración: GigaToken: ~1000x faster Language model tokenization