Baseten lanza un tokenizador en Rust que, según dice, es 18 veces más rápido para Kimi K3

El nuevo paquete de Michael Feil apunta a un cuello de botella de la CPU que crece a medida que los prompts de los agentes se acercan al límite de un millón de tokens de Kimi K3.

By · Published

Primary source: X

Why it matters

Million-token agent workloads can move latency away from the GPU and into prompt preparation. Baseten is competing by optimizing that overlooked CPU path and releasing the code for engineers to test.

Illustration of Baseten's Rust tokenizer speeding token processing for the Kimi K3 model, shown as streams of data feeding a CPU labeled Kimi K3.

Baseten ingeniero de rendimiento de modelos Michael Feil (@feilsystem) dijo en un hilo en X el 27 de julio que había lanzado Baseten Tokenizer, un paquete respaldado en Rust diseñado para reducir el tiempo de CPU requerido para preparar prompts largos para el modelo Kimi K3 de Moonshot AI.

El paquete, llamado basetenkenizer, estaba disponible a través de PyPI y un repositorio de tokenizer de Kimi K3 en Hugging Face cuando Baseten publicó sus resultados. PyPI lista a Feil como mantenedor verificado y muestra la versión 0.2.8 subida el 27 de julio, tras dos lanzamientos el 26 de julio.

Feil es ingeniero de machine learning en San Francisco con una maestría en ciencias de la computación de la Technical University of Munich. Según su sitio personal, trabajó previamente en entrenamiento de modelos en Gradient.ai y creó Infinity, un framework de código abierto para inferencia de embeddings. La página de autor de Baseten lo identifica como un model performance engineer cuyo trabajo anterior incluyó rendimiento de embeddings, enrutamiento consciente de caché y serving de Kimi K2.5.

Baseten fue fundada en 2019 por el CEO Tuhin Srivastava, el CTO Amir Haghighat, el chief scientist Phil Howes y Pankaj Gupta. Los fundadores construyeron Baseten alrededor de un problema que habían encontrado al desplegar sistemas de machine learning: entrenar un modelo útil podía ser más fácil que operarlo bajo tráfico de producción. Baseten ahora vende inferencia administrada, post-entrenamiento y optimización de modelos, poniendo el trabajo de tokenizer de Feil directamente dentro de la tesis de producto central de la empresa de San Francisco.

La tokenización se vuelve visible a un millón de tokens

Los tokenizers convierten texto y marcadores estructurales en los IDs numéricos de tokens que procesa un modelo. Ese paso usualmente ha consumido poco tiempo en comparación con cargar un prompt en GPUs y generar una respuesta. Kimi K3 cambia el balance porque la ficha técnica del modelo de Moonshot AI especifica una ventana de contexto de 1,048,576 tokens, un vocabulario de 160,000 tokens y una arquitectura mixture-of-experts con 2.8 billones de parámetros totales y 104 mil millones de parámetros activos.

Las cargas de trabajo de agentes pueden anexar repetidamente documentos, salidas de herramientas, código y estado intermedio a ese contexto. El almacenamiento en caché de prefijos puede reducir el trabajo de GPU requerido para procesar material que el modelo ya ha visto, dejando la tokenización en CPU como una parte mayor del tiempo hasta el primer token.

En un post técnico publicado el 27 de julio, Baseten dijo que Basetenkenizer hizo que su ruta completa de serving para Kimi K3 fuera más de seis veces más rápida que tiktoken de OpenAI en secuencias cortas y hasta 18 veces más rápida en entradas de un millón de tokens. Esas cifras son los benchmarks de Baseten y no resultados independientes.

La implementación de Baseten reemplaza una ruta que iteraba por segmentos del prompt en Python por una única llamada nativa a Rust. El tokenizer acepta segmentos tipados (text, allow_special), realiza pre-tokenización y codificación por pares de bytes, y devuelve un arreglo de tokens compatible con NumPy sin crear primero una lista de Python que contenga hasta un millón de enteros.

La distinción de segmentos es necesaria para la integridad del prompt. Kimi K3 usa cadenas como <|open|> y <|close|> como marcadores de control en secciones estructurales. Los mismos caracteres dentro del texto del usuario deben permanecer como texto ordinario. Basetenkenizer mantiene ese límite mientras preserva los IDs de tokens producidos por la ruta de serving anterior, según Baseten.

Feil dijo en su hilo en X que la mayoría de las librerías competidoras no usan más de un núcleo de CPU para este trabajo. Basetenkenizer usa pools de hilos Rayon dimensionados en ocho o 16 workers y limita la concurrencia para que las pre-tokenizaciones repetidas puedan producir más aciertos de caché antes de la codificación por pares de bytes.

La afirmación de Baseten sobre ser el más rápido tiene un alcance limitado

La afirmación más amplia de Baseten requiere matices. El benchmark usó una conversación renderizada de Kimi K3 que contenía 54 segmentos tipados y se ejecutó en 52 vCPUs Intel Xeon fijadas. Baseten generó un nuevo corpus determinista para cada ronda medida, impidiendo que un prompt completo fuera servido desde una caché de tokenizer caliente. La llamada pública encode de tiktoken es monohilo, mientras que Basetenkenizer paraleliza a través del conjunto de CPUs disponible.

Baseten también reportó que gigatoken fue más rápido en 10,000 tokens y que gigatoken seguía siendo la mejor herramienta para tokenizar archivos en modo offline. A un millón de tokens, Basetenkenizer superó a gigatoken por 1.41 veces en la prueba de serving en línea de Baseten. La conclusión apoyada es más limitada que la etiqueta de “el más rápido del mundo” en el post de Feil: Baseten midió la ruta completa más rápida para prompts de Kimi K3 que ya habían sido renderizados en segmentos tipados para inferencia en línea.

Esa especialización encaja con la posición de Baseten en un mercado de inferencia muy concurrido. La capacidad de GPU está disponible en un grupo creciente de plataformas, empujando a los proveedores a competir en el software que rodea al acelerador: planificadores, cachés, kernels, redes y ahora tokenización. El soporte desde el día cero para un modelo de pesos abiertos recién publicado también le da a Baseten la oportunidad de capturar cargas de trabajo antes de que los equipos de ingeniería se decanten por otra pila de serving.

Baseten cuenta con capital sustancial para esa competencia. El 22 de junio, Baseten anunció una Serie F de 1.5 mil millones de dólares a una valoración de 13 mil millones de dólares, liderada por Altimeter Capital, Conviction Partners y Spark Capital, con Sands Capital y Wellington Management como co-líderes. Baseten dijo en ese momento que los ingresos habían crecido 20 veces y el volumen de inferencia 40 veces respecto al año anterior, cifras que Baseten no ha respaldado con estados financieros subyacentes ni valores absolutos.

Basetenkenizer está licenciado bajo MIT y es compatible con Python 3.10 o superior. Su lanzamiento convierte una parte del trabajo interno de optimización de Kimi K3 de Baseten en un paquete que otros ingenieros de inferencia pueden instalar, evaluar con benchmarks y desafiar en su propio hardware.

Reader comments

Conversation for this story loads after sign-in.