Ejecutar un modelo de lenguaje en local dentro de una placa reducida o un mini PC suele exigir cargar antes un sistema operativo completo, lo que se come buena parte de la memoria disponible antes incluso de que el modelo entre en acción. NightRun plantea otra vía: un proyecto experimental de código abierto que arranca el equipo directamente desde una memoria USB o una tarjeta microSD hacia un chatbot funcional, sin pasar por Linux, Windows ni ningún kernel intermedio. El resultado es que casi toda la RAM y el ancho de banda de memoria quedan reservados para la inferencia, en lugar de repartirse con procesos del sistema que nada tienen que ver con la tarea. La propuesta funciona tanto en placas Raspberry Pi 5 como en equipos x86 compatibles con UEFI, y se presenta como una alternativa radical a los enfoques habituales de IA local, donde normalmente se instala una distribución ligera y encima se monta el motor de inferencia.

Cómo consigue prescindir del sistema operativo

La clave de NightRun está en que no es una distribución Linux recortada, como podría pensarse a primera vista, sino una aplicación UEFI que se apoya directamente en los servicios de arranque del firmware. Eso significa que no hay kernel, ni planificador de procesos, ni pila de red por debajo: el propio firmware UEFI se encarga de gestionar el teclado, dibujar la interfaz en el framebuffer de vídeo, acceder al almacenamiento e incluso controlar el ventilador de refrigeración en el caso de la Raspberry Pi 5. El runtime está escrito en Rust y, durante el arranque, vuelca en RAM un modelo cuantizado de entre 1,3 GB y 2,4 GB, comprobando su integridad mediante sumas de verificación CRC-32. Una vez cargado, el almacenamiento queda «sellado»: cualquier intento posterior de leer del disco provoca un fallo crítico controlado, una medida de seguridad pensada para que los datos de las conversaciones no puedan filtrarse de vuelta al almacenamiento persistente.

El modelo NightRun en detalle

El propio proyecto NightRun es, en sí mismo, el producto central de esta noticia, y merece pararse a describir cómo está construido. Admite hardware x86_64 de 64 bits con UEFI (con el Secure Boot desactivado) y la Raspberry Pi 5, ya sea arrancando desde USB o desde microSD. En cuanto a modelos compatibles, funciona con Llama 3.2 1B para equipos con 4 GB de RAM, con Llama 3.2 3B y Granite 4.1 3B para quienes dispongan de 6 GB, y con Qwen3 4B Instruct 2507 si se cuenta con 8 GB, todos ellos convertidos previamente al formato propio .nrm. Para exprimir el hardware, usa núcleos de inferencia optimizados con AVX2, FMA y F16C en procesadores x86, y NEON en el caso de la Raspberry Pi. Además, incorpora un diseño de copia cero que le permite ejecutar modelos cuantizados en formatos Q8_0, Q4_K y Q6_K directamente desde la RAM sin necesidad de descuantizarlos antes, lo que ahorra tiempo y memoria adicional. Todo esto se gestiona desde una interfaz de chat integrada que se dibuja sobre el framebuffer, con estadísticas en vivo, edición de las instrucciones introducidas e historial de la conversación.

Cifras de rendimiento sobre el papel

Según los propios desarrolladores, la velocidad de generación de texto depende sobre todo del ancho de banda de memoria disponible, más que de la potencia bruta de cómputo. En una máquina virtual QEMU con ocho núcleos x86, el modelo Llama 3.2 1B en formato Q8_0 alcanza alrededor de 20 tokens por segundo durante la fase de decodificación. En hardware real, una Raspberry Pi 5 con 8 GB de RAM ejecutando Granite 4.1 3B en formato Q4_K_M genera aproximadamente 3,0 tokens por segundo, utilizando todavía una versión temprana de los núcleos NEON previa a la optimización con instrucciones sdot. Son cifras modestas si se comparan con lo que ofrece una GPU dedicada, pero conviene recordar que se trata de hardware de bajo consumo funcionando sin ningún tipo de aceleración gráfica y sin sistema operativo que reste recursos.

Comparación con proyectos similares

No es la primera vez que se intenta liberar memoria para ejecutar modelos de lenguaje en placas reducidas. LLMStick, obra de Binh Pham, recurría a motores de inferencia en C/C++ como llama.cpp montados sobre distribuciones Linux muy ligeras, como Alpine o DietPi, para arañar memoria disponible. NightRun va un paso más allá al eliminar por completo esa capa intermedia, presentándose como un runtime UEFI completo, listo para producción y con la tokenización probada frente a la de referencia, pensado específicamente para hardware de consumo. Quien quiera profundizar en los detalles técnicos del proyecto puede consultar la documentación en nightrun.io, donde se explica con más profundidad la arquitectura interna.

Instalación, licencia y origen del código

Buena parte del código de NightRun se escribió con ayuda de Claude Code utilizando el modelo Fable 5, y todo el proyecto se ha publicado bajo licencia MIT en el repositorio de GitHub de sus creadores. La instalación corre a cargo de un script de shell para Linux que descarga un modelo previamente verificado y graba la imagen arrancable en el dispositivo elegido. Los desarrolladores han incluido varias comprobaciones de seguridad en el propio instalador, obligando a escribir explícitamente el comando FLASH /dev/sdX antes de proceder, precisamente para evitar que alguien sobrescriba por error una unidad del sistema en lugar del pendrive o la microSD de destino.

Reflexiones finales

Lo interesante de NightRun no es tanto que consiga exprimir unos cuantos tokens por segundo más que otras soluciones, sino el planteamiento de fondo: demostrar que un modelo de lenguaje puede funcionar como aplicación de firmware, sin las capas habituales de un sistema operativo completo. Es un proyecto claramente experimental y con limitaciones evidentes, como la falta de conectividad de red o la imposibilidad de instalar software adicional una vez sellado el almacenamiento, pero abre una vía interesante para dispositivos dedicados en los que la privacidad y el aprovechamiento máximo del hardware pesan más que la flexibilidad. Habrá que ver si esta filosofía de «IA sin sistema operativo» acaba encontrando aplicaciones prácticas más allá de la demostración de concepto, o si se queda como una curiosidad para entusiastas del software embebido.

14
Suscribirse
Notificación
0 Comments
0
¡Aquí puedes dejar tus comentarios!x