Offene & lokale KI

Ein kleines Sprachmodell in einem 510-Byte-Bootsektor ausführen

Das neue Projekt bootgpt führt ein zeichenbasiertes neuronales Netzwerk im Master Boot Record (MBR) aus und generiert gefälschte Linux-Protokolle auf nackter Hardware ohne Betriebssystem.

Eine Leiterplatte in Form einer Diskette auf einer Hauptplatine
Für diesen Artikel generierte Illustration

Automatisch aus dem englischen Original übersetzt.

Der Entwickler kerlenton hat bootgpt veröffentlicht, ein Projekt, das ein kleines Sprachmodell direkt aus dem Master Boot Record (MBR) eines Computers ausführt. Ende Oktober 2026 vorgestellt, läuft dieses Tool vollständig im 16-Bit-Echtzeitmodus auf älterer BIOS-Hardware und benötigt weder ein Betriebssystem noch eine C-Laufzeitumgebung.

Was passiert ist

Das Projekt demonstriert ein neuronales Netzwerk, das mit der Maschine startet und halluzinierte Linux-Boot-Protokolle generiert. Anstatt ein herkömmliches Betriebssystem zu laden, liest der Code seine eigenen Sektoren von der Festplatte, lädt ein 11,5 KB großes Modell aus nachfolgenden Sektoren und beginnt, Text über grundlegende BIOS-Interrupts auf dem Bildschirm auszugeben. Die Ausgabe imitiert Zeitstempel, PCI-Bus-Adressen und ACPI-Ereignisse für Hardware, die auf dem Host-Rechner nicht tatsächlich vorhanden ist.

Dieser Ansatz unterscheidet sich erheblich von jüngsten Versuchen, größere Modelle wie Llama-2 während des Bootvorgangs auszuführen. Während andere Projekte wie sectorllm mehr als 1,2 KB Assemblercode verwenden, um Transformer-Modelle mit Aufmerksamkeitsmechanismen auszuführen, beschränkt sich bootgpt auf die strenge 510-Byte-Grenze des MBR-Codespeichers. Die Gewichte und Vokabellisten werden in Datensektoren gespeichert, sodass die Inferenzmaschine extrem kompakt bleibt und dennoch kohärente, wenn auch unsinnige Systemmeldungen erzeugt.

Das Repository enthält Tools zur Generierung von Trainingsdaten, zum Trainieren des Modells und zur Aufnahme von Demonstrationen. Benutzer können das bereitgestellte Disk-Image auf einen USB-Stick schreiben und jeden BIOS-kompatiblen Rechner starten, um den Effekt zu sehen. Das System ist so konzipiert, dass es autark ist, nur seine eigenen Sektoren liest und bei jedem Tastendruck neu startet.

Wie es funktioniert

Der Kern des Systems ist ein zeichenbasiertes neuronales Netzwerk mit einer einzigen versteckten Schicht. Um innerhalb der strengen Einschränkungen des Bootsektors zu bleiben, quantisierte der Entwickler alle Modellparameter im int8-Format unter Verwendung von Zweierpotenz-Skalen. Diese spezifische Wahl ermöglicht es dem 16-Bit-Echtzeitprozessor, den gesamten Vorwärtsdurchlauf ausschließlich mit ganzzahliger Multiplikation (imul) und einer einzigen ganzzahligen Divisionsanweisung (idiv) durchzuführen, wodurch die Notwendigkeit komplexer Gleitkomma-Emulation vermieden wird.

Das Training wird von einem Python-Skript gehandhabt, das 3 MB gefälschte dmesg-Protokolle generiert. Der Generator variiert Kernel-Versionen und Festplattenkonfigurationen pro Sitzung, um zu verhindern, dass das Modell repetitive Strings einfach auswendig lernt. Diese Variation zwingt das kleine Netzwerk dazu, die strukturellen Muster von Boot-Protokollen zu lernen, anstatt nur statischen Text zu wiederholen. Das Trainingsskript simuliert zudem exakt die ganzzahlige Mathematik, die der Assemblercode ausführen wird, einschließlich eines linearen Kongruenzgenerators (LCG) für die Stichprobenziehung. Dies stellt sicher, dass die Ausgabe aus der Python-Trainingsumgebung zeichengleich mit der Ausgabe des Bootsektors übereinstimmt.

Der Laufzeit-Assemblercode, enthalten in boot.asm, übernimmt die Hauptarbeit. Er verwendet Interrupt 13h, um die Gewichte von der Festplatte zu laden, und Interrupt 10h, um Zeichen in den Videopuffer zu schreiben. Aktivierungsfunktionen werden via Softclip unter Verwendung von cdq- und idiv-Anweisungen implementiert, während die Stichprobenziehung auf Rauschen basiert, das durch den System-Timer gesät wird. Da der MBR auf 512 Bytes begrenzt ist, wobei die letzten zwei Bytes für die Boot-Signatur reserviert sind, muss der ausführbare Code in 510 Bytes passen.

Wichtige Details

  • Die Inferenzmaschine passt vollständig in die 510-Byte-Codelimit des Master Boot Records.
  • Das Modell verwendet int8-Quantisierung mit Zweierpotenz-Skalen, um effiziente rein ganzzahlige Berechnungen auf Hardware aus der Ära des 386-Prozessors zu ermöglichen.
  • Die Trainingsdaten bestehen aus 3 MB synthetischer Linux-Boot-Protokolle mit variierenden Kernel-Versionen und Festplatteneinrichtungen.
  • Das System läuft im 16-Bit-Echtzeitmodus und nutzt BIOS-Interrupts für Ein-/Ausgabeoperationen und Videoausgabe.
  • Gewichte, Strings und die Vokabelliste sind in den 23 Sektoren nach dem MBR gespeichert, insgesamt 11,5 KB.
  • Jeder Tastendruck löst einen Neustart aus, und die Demo kann headlessly über QEMU-Monitor-Sockets aufgezeichnet werden.

Warum es wichtig ist

Für Ingenieure, die an Edge AI und eingebetteten Systemen arbeiten, dient bootgpt als extremes Beispiel für ressourcenbeschränkte Inferenz. Es zeigt, wie sorgfältige Quantisierung und architektonische Vereinfachung es neuronalen Netzen ermöglichen, auf Hardware mit vernachlässigbarem Speicher und Rechenleistung zu laufen. Während sich die meisten modernen KI-Bereitstellungen auf GPUs und große RAM-Fußabdrücke konzentrieren, hebt dieses Projekt die Machbarkeit rein ganzzahliger Operationen auf Legacy-CPUs hervor, was für stromsparende Mikrocontroller und spezialisierte IoT-Geräte weiterhin relevant ist.

Das Projekt unterstreicht auch die Bedeutung der Simulationsgenauigkeit in der Entwicklung von ML für eingebettete Systeme. Indem der Entwickler sicherstellte, dass die Python-Trainingsschleife die Ganzzahlarithmetik der Ziel-Assemblerumgebung exakt nachbildet, vermied er subtile Fehler, die oft bei plattformübergreifender Modellbereitstellung auftreten. Diese Methode zur Überprüfung, ob Training und Inferenz identische Ergebnisse liefern, ist eine wertvolle Praxis für alle, die Modelle in Nicht-Standard- oder eingeschränkten Hardwareumgebungen bereitstellen, in denen Gleitkommaunterstützung fehlt oder inkonsistent ist.

Was Sie tun können

  • Klonen Sie das bootgpt-Repository und inspizieren Sie die Build-Skripte, um die Quantisierungs-Pipeline zu verstehen.
  • Verwenden Sie das bereitgestellte corpus_gen.py, um synthetische Datensätze für andere Aufgaben zur Generierung strukturierter Texte zu erstellen.
  • Experimentieren Sie mit der int8-Quantisierungsstrategie in Ihren eigenen eingebetteten Projekten, um die Modellgröße zu reduzieren.
  • Führen Sie das Disk-Image in QEMU aus, um den Bootvorgang zu beobachten, ohne physische Hardware zu gefährden.
  • Studieren Sie den Quellcode von boot.asm, um zu lernen, wie BIOS-Interrupts I/O in Echtzeitmodi-Umgebungen handhaben.
  • Vergleichen Sie die Architektur mit sectorllm, um die Kompromisse zwischen Modellkomplexität und Codegröße zu verstehen.
  • #embedded ai
  • #boot sector
  • #quantization
  • #assembly
  • #edge computing

Tools aus dem Bytechap-Shop

$89

DocBento

Selbst gehostetes Dokumentenmanagement, das jeden Scan liest und mit Seitenzitaten antwortet.

Live-Demo

Weiterlesen

Alle Artikel