Repolode
FareedKhan-dev

FareedKhan-dev/kimi-k3-in-c

Motor de inferencia C99 que ejecuta el modelo Kimi K3 de 2,78 billones de parámetros en una sola CPU y transmite los expertos desde el disco, sin GPU ni BLAS.

Estrellas
10,896
Forks
1,702
Issues abiertos
4
Último commit
el mes pasado

¿Qué es?

kimi-k3-in-c es un motor de inferencia para el modelo mixture-of-experts Kimi K3 de Moonshot, escrito en C99 portable y sin dependencias de BLAS, frameworks ni GPU. El checkpoint ocupa 1,56 TB en disco, pero solo se activan 16 de los 896 expertos enrutados por capa para cada token, así que el motor mantiene el tronco denso en memoria y transmite el resto desde el disco. El proyecto informa de un conjunto residente máximo de 8,24 GB en una configuración de la clase de 8 GB, con resultados idénticos byte a byte entre distintos presupuestos de memoria; más RAM solo acelera la generación.

El motor cubre todo el pipeline: un lector de safetensors, un lector de configuración, un tokenizer que coincide con el oficial, kernels MXFP4 para expertos, atención KDA y MLA, una caché LRU para expertos y un modo de chat de texto que usa el formato oficial XTML. La configuración requiere descargar el checkpoint, empaquetar el tronco en un solo archivo y elegir un preajuste de memoria. Una suite de pruebas compara el motor con una referencia de PyTorch en un modelo pequeño, sin necesidad de descargar los pesos completos.

El proyecto está dirigido a desarrolladores que quieran estudiar o ejecutar modelos MoE muy grandes en hardware convencional, y resulta útil como referencia para diseñar inferencia de bajo nivel. La velocidad de generación está limitada por el rendimiento del disco, por lo que una unidad NVMe local es muy importante.

Funciones clave

  • 01Ejecuta Kimi K3, de 2,78 billones de parámetros, en una sola CPU con unos 8 GB de RAM como máximo.
  • 02Transmite los expertos enrutados desde el disco y guarda en una caché LRU los que se usan con frecuencia.
  • 03Usa kernels MXFP4 y rutas SIMD con AVX2 o NEON, sin depender de BLAS.
  • 04Produce resultados idénticos byte a byte con cualquier presupuesto de memoria.
  • 05Incluye un modo de chat de texto que usa el formato y el tokenizer oficiales de XTML.
  • 06Incluye una suite de pruebas que compara los resultados con una referencia de PyTorch.

Casos de uso

  • Ejecutar un modelo MoE muy grande en una laptop o computadora de escritorio sin GPU.
  • Estudiar cómo funcionan, a nivel de C, la inferencia de mixture-of-experts con transmisión desde disco y el estado KV o recurrente.
  • Usarlo como referencia al crear un motor de inferencia para CPU destinado a otros modelos grandes.
  • Medir cómo el rendimiento del almacenamiento limita la generación de LLM en CPU.

Inicio rápido

  1. 1

    Clona el repositorio

    git clone https://github.com/FareedKhan-dev/kimi-k3-in-c.git
  2. 2

    Entra en el directorio del proyecto

    cd kimi-k3-in-c
  3. 3

    Compila el motor

    make -j
  4. 4

    Ejecuta la suite de pruebas (no se necesita ningún checkpoint)

    make test

Antes de usarlo

  • Para ejecutar el modelo completo se necesita un checkpoint de 1,56 TB en disco y aproximadamente 1,7 TB de espacio libre en total.
  • La generación es muy lenta en equipos modestos: unos 26 segundos por token con 8 GB de RAM.
  • El modo de chat y el modelo completo requieren descargar por separado el checkpoint oficial de gran tamaño.

En colecciones

Temas

Preguntas frecuentes

¿Qué es kimi-k3-in-c?
Motor de inferencia C99 que ejecuta el modelo Kimi K3 de 2,78 billones de parámetros en una sola CPU y transmite los expertos desde el disco, sin GPU ni BLAS. kimi-k3-in-c es un motor de inferencia para el modelo mixture-of-experts Kimi K3 de Moonshot, escrito en C99 portable y sin dependencias de BLAS, frameworks ni GPU. El checkpoint ocupa 1,56 TB en disco, pero solo se activan 16 de los 896 expertos enrutados por capa para cada token, así que el motor mantiene el tronco denso en memoria y transmite el resto desde el disco. El proyecto informa de un conjunto residente máximo de 8,24 GB en una configuración de la clase de 8 GB, con resultados idénticos byte a byte entre distintos presupuestos de memoria; más RAM solo acelera la generación.
¿kimi-k3-in-c es gratuito? ¿Qué licencia tiene?
kimi-k3-in-c es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿kimi-k3-in-c sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de kimi-k3-in-c fue el 2 oct 2026.
¿Para qué puedo usar kimi-k3-in-c?
Ejecutar un modelo MoE muy grande en una laptop o computadora de escritorio sin GPU. Estudiar cómo funcionan, a nivel de C, la inferencia de mixture-of-experts con transmisión desde disco y el estado KV o recurrente. Usarlo como referencia al crear un motor de inferencia para CPU destinado a otros modelos grandes. Medir cómo el rendimiento del almacenamiento limita la generación de LLM en CPU.
¿Cómo se instala kimi-k3-in-c?
Clona el repositorio: git clone https://github.com/FareedKhan-dev/kimi-k3-in-c.git Entra en el directorio del proyecto: cd kimi-k3-in-c Compila el motor: make -j Ejecuta la suite de pruebas (no se necesita ningún checkpoint): make test
¿Dónde consigo kimi-k3-in-c?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/FareedKhan-dev/kimi-k3-in-c

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados