IA SQLite
recogido
un motor C de 6000 líneas que ejecuta un K3 completo sin BLAS, CUDA y Python en tiempo de ejecución.
Kimi K3 después de la preliminar
conversión
desde los tensores de seguridad hasta un formato que el motor puede leer ocupa 982 GiB (el disco lo llamaría 1,05 TB). No cabe en la RAM ni siquiera aproximadamente.
WASTE mantiene solo la parte residente de 27,28 GB en la RAM y extrae expertos del SSD exactamente cuando son necesarios. La velocidad de generación es de 0,49 a 0,54 tokens por segundo. Las pesas están llenas, sin destilación ni corte de capas.
🟡
El cálculo se basa en el dispositivo MoE.
Para cada token, K3 incluye aproximadamente el 4% de su propio peso: 16 expertos en cada una de las 92 capas. No hay necesidad de que un peso ocioso permanezca en la memoria; sólo necesita cargarse a tiempo.
El contenedor con el modelo está diseñado de tal manera que a un experto le cuesta exactamente una lectura del disco: la matriz.
puerta
,
arriba
y
abajo
se encuentran estrechamente, y los propios expertos se almacenan en la cuantificación del vector residual (3 etapas de libros de códigos de 256 entradas, 3 bits por peso), y la matriz nunca se expande por completo.
🟡
Velocidad del disco
El motor lee 17 GB por token. El NVMe interno del MacBook produce 12,78 GB/s y el modelo consigue leer.
Una caja externa vía USB da 0,94 GB/s, y el mismo token se considera 13 segundos.
Una opción para los que tienen mucha paciencia.
🟡
trabajando con la memoria
Inflar el caché experto por encima de 46 GB es inútil y dañino: a 52 GB la velocidad se reduce tres veces, a 58 GB, 8 veces.
La razón es que el motor permanece dentro de su presupuesto, pero el sistema ya no: macOS empuja el caché al disco y, al ingresar a la memoria, se genera una llamada para intercambiar. Por lo tanto, por defecto, WASTE no utiliza todos los recursos disponibles, sino un grupo de expertos menos de lo que podría.
Medio token por segundo equivale a 30 segundos por frase, pero los modelos cuatro veces más pequeños todavía funcionan en servidores con un terabyte de DDR5, y aquí se responden casi 3 billones de parámetros sin red.
Si no se necesitan billones de parámetros, el mismo motor hace girar Kimi-Linear 48B desde un contenedor de 19 GB y produce 10,7 tokens por segundo; es más fácil empezar a familiarizarse con esto.
Para K3 tendrás que liberar un terabyte en el disco y pasar unas 5 horas en el M5 Pro en tres procesos, casi un día, si ejecutas la conversión puramente.
Los autores, por cierto, comenzaron
archivo
con hipótesis refutadas y anotaron todo lo que se probaron y tiraron.
📌
Licencia: Licencia Apache 2.0.
🖥
GitHub
@ai_machinelearning_big_data