510バイトのブートセクター内で超小型言語モデルを実行
bootgptという新しいプロジェクトは、マスターブートレコード(MBR)内で文字レベルのニューラルネットワークを実行し、オペレーティングシステムなしでベアメタル上に偽のLinuxログを生成します。
英語の原文から自動翻訳されました。
開発者のkerlenton氏は、bootgptというプロジェクトを公開しました。このプロジェクトは、コンピュータのマスターブートレコード(MBR)から直接小規模な言語モデルを実行するものです。2026年10月下旬に発表されたこのツールは、レガシーBIOSハードウェア上で完全に16ビットリアルモードで動作し、機能するためにオペレーティングシステムやCランタイムを必要としません。
何が起きたか
このプロジェクトは、マシン起動と同時に目覚め、幻覚的なLinuxブートログを生成するニューラルネットワークを示しています。従来のオペレーティングシステムを読み込む代わりに、コードはディスクから自身のセクターを読み取り、後続のセクターに保存された11.5 KBのモデルをロードし、基本的なBIOS割り込みを使用して画面にテキストを表示し始めます。出力は、ホストマシン上には実際には存在しないハードウェアに関するタイムスタンプ、PCIバスアドレス、およびACPIイベントを模倣しています。
このアプローチは、Llama-2などのより大きなモデルをブートプロセス中に実行しようとする最近の試みとは大きく異なります。sectorllmなどの他のプロジェクトがアテンションメカニズムを持つトランスフォーマーモデルを実行するために1.2 KB以上のアセンブリを使用している一方、bootgptはMBRコード領域の厳格な510バイト制限内に自身を収めています。重みと語彙テーブルはデータセクターに保持されており、推論エンジンは驚くほどコンパクトなまま、整合性のある(しかし意味のない)システムメッセージを生成することができます。
リポジトリには、訓練データの生成、モデルの訓練、デモの記録を行うためのツールが含まれています。ユーザーは提供されたディスクイメージをUSBスティックに書き込み、BIOS互換のボックスを起動してその効果を見ることができます。このシステムは自己完結型になるように設計されており、自身のセクターのみを読み取り、キー入力が行われると再起動します。
仕組み
システムの核心は、単一の隠れ層を持つ文字レベルのニューラルネットワークです。ブートセクターの厳しい制約内に収めるために、開発者はすべてのモデルパラメータを2の累乗スケールを用いてint8形式に量子化しました。この特定の選択により、16ビットリアルモードプロセッサは整数乗算(imul)と単一の整数除算(idiv)命令のみを使用して全体の順方向パスを実行でき、複雑な浮動小数点エミュレーションの必要性を回避できます。
訓練は、3 MBの偽dmesgログを生成するPythonスクリプトによって処理されます。ジェネレーターはセッションごとにカーネルバージョンとディスク構成を変化させ、モデルが反復的な文字列を単純に暗記してしまうことを防ぎます。この変化により、小さなネットワークは静的なテキストを繰り返すだけでなく、ブートログの構造的パターンを学習することが強制されます。訓練スクリプトはまた、サンプリングのための線形合同法(LCG)を含め、アセンブリコードが実行する正確な整数演算をシミュレートします。これにより、Python訓練環境からの出力がブートセクターの出力と文字単位で一致することが保証されます。
boot.asmに含まれるランタイムアセンブリコードが主要な処理を担当します。ディスクから重みを読み込むために割り込み13hを、ビデオバッファに文字を表示するために割り込み10hを使用します。活性化関数はcdqおよびidiv命令を用いたソフトクリップを通じて実装され、サンプリングはシステムタイマーによってシードされたノイズに依存します。MBRは512バイトに制限されており、最後の2バイトはブートシグネチャ用に予約されているため、実行可能コードは510バイト以内に収まる必要があります。
主要な詳細
- 推論エンジンは、マスターブートレコードの510バイトコード制限内に完全に収まります。
- モデルは、386世代のハードウェアで効率的な整数専用演算を可能にするため、2の累乗スケールを用いたint8量子化を使用しています。
- 訓練データは、多様なカーネルバージョンとディスクセットアップを含む3 MBの合成Linuxブートログで構成されています。
- システムは16ビットリアルモードで動作し、ディスクI/Oとビデオ出力にBIOS割り込みを使用します。
- 重み、文字列、および語彙テーブルは、MBRに続く23セクターに保存されており、合計11.5 KBです。
- 任意のキー入力で再起動がトリガーされ、QEMUモニタソケット経由でヘッドレスでデモを記録できます。
なぜ重要なのか
エッジAIおよび組み込みシステムに取り組むエンジニアにとって、bootgptはリソース制約下の推論の極端な例として機能します。慎重な量子化とアーキテクチャの簡略化により、メモリと処理能力がほぼゼロに近いハードウェアでもニューラルネットワークを実行できることを示しています。現代の多くのAI展開がGPUと大容量RAMフットプリントに焦点を当てている一方で、このプロジェクトはレガシーCPUでの整数専用演算の実現可能性を強調しており、これは低電力マイクロコントローラーや特殊なIoTデバイスにとって依然として関連性があります。
このプロジェクトはまた、組み込みML開発におけるシミュレーション忠実度の重要性も強調しています。Python訓練ループがターゲットのアセンブリ環境の整数演算を正確に模倣するようにすることで、開発者はプラットフォーム間モデル展開でしばしば発生する微妙なバグを回避しました。訓練と推論が同一の結果を生み出すことを検証するこの方法は、浮動小数点サポートが存在しない、または一貫性がない非標準的あるいは制限されたハードウェア環境にモデルを展開するすべての人々にとって貴重な実践です。
できること
- bootgptリポジトリをクローンし、ビルドスクリプトを検査して量子化パイプラインを理解してください。
- 提供されたcorpus_gen.pyを使用して、他の構造化テキスト生成タスク用の合成データセットを作成してください。
- モデルサイズを削減するために、独自のエッジプロジェクトでint8量子化戦略を試してみてください。
- QEMUでディスクイメージを実行し、物理ハードウェアのリスクなくブートプロセスを観察してください。
- boot.asmソースを研究し、リアルモード環境でBIOS割り込みがI/Oをどのように処理するかを学んでください。
- sectorllmと比較して、モデル複雑性とコードサイズのトレードオフを理解してください。



