Implementando LLaMA3 en 100 líneas de Jax puro
2025-02-19
Esta publicación muestra cómo implementar LLaMA3 desde cero utilizando solo 100 líneas de código Jax puro. El autor eligió Jax por su estética limpia y sus potentes funciones, como la aceleración XLA, la compilación JIT y la vectorización vmap. El artículo detalla cada componente del modelo, incluida la inicialización de pesos, la tokenización BPE, las incrustaciones dinámicas, la codificación posicional rotatoria, la atención de consulta agrupada y el paso hacia adelante. También se explican características exclusivas de Jax, como la gestión de claves PRNG y la compilación JIT. Finalmente, el autor muestra cómo entrenar el modelo en un conjunto de datos de Shakespeare, proporcionando el código del bucle de entrenamiento.
Leer más
Desarrollo