Sobre el proyecto
tiny-llm es un curso práctico para ingenieros de sistemas que quieren entender la inferencia LLM de principio a fin. Se posiciona como la contraparte de servicio LLM del proyecto Needle de CMU: los estudiantes construyen la ruta que carga un modelo Qwen3, convierte tokens en logits y genera texto.
El curso comienza con operaciones de arrays y matrices, luego introduce kernels y la maquinaria de servicio a medida que el modelo en ejecución los necesita. La implementación se mantiene lo suficientemente pequeña como para leerse de principio a fin, conectando las ecuaciones con el tráfico de memoria, la ocupación de kernels, el crecimiento del KV-cache, el batching y la planificación de solicitudes.
Está construido sobre arrays de MLX y el runtime de extensión de MLX sin capas de red neuronal de alto nivel. Cuando un capítulo enseña un operador, los estudiantes implementan ese operador en Python, C++ o Metal en lugar de llamar a la operación optimizada correspondiente de MLX. MLX sirve como oráculo de corrección y línea base de rendimiento.
La ruta de aprendizaje de cuatro semanas cubre:
- Semana 1: construir un modelo Qwen3 a partir de operaciones de arrays de mlx.core, incluyendo atención, RoPE, GQA, RMSNorm, MLP, muestreo y el bucle autorregresivo.
- Semana 2: hacer una sola solicitud más rápida con kv-cache, capacity-cache, pesos W4 empaquetados, prefill de matrices SIMD, primitivas fusionadas y prefill por tiles.
- Semana 3: construir un mini vLLM con batching continuo, admisión por chunks, KV cache paginado, atención paginada directa y FlashAttention paginada.
- Semana 4: construir un agente de programación con un bucle de agente validado, inspección del espacio de trabajo, ediciones aprobadas, comandos de validación, checkpoint-and-resume, compactación de contexto, pausas de inspección y dirección, evaluación de resultados, ramas dirigidas bifurcadas y evidencia de herramientas acotada.
El proyecto apunta a Apple Silicon porque proporciona un entorno local práctico con un único espacio de memoria compartida y acceso directo a kernels de Metal. Qwen3-4B es lo suficientemente grande como para exponer costos reales de ancho de banda de pesos, atención y caché, a la vez que sigue siendo lo suficientemente pequeño para la iteración local.
El libro se publica en skyzh.github.io/tiny-llm. El repositorio contiene un paquete tiny_llm para las implementaciones de los estudiantes y tiny_llm_ref con la solución de referencia. Una tabla de hoja de ruta rastrea el estado de implementación, pruebas, documentación y auditoría editorial de cada capítulo.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.