BootGPTは、PCの初期起動シーケンス中に動作するニューラルネットワークを実装する特殊なプロジェクトです。オペレーティングシステムやCランタイムに依存する現代のソフトウェアとは異なり、BootGPTはx86 386プロセッサ上の16ビット実モードで動作します。このプロジェクトは、ディスクの512バイトの領域であるMaster Boot Record(MBR)を利用して主要なアセンブリコードを格納します。このコードは、後続のディスクセクタから11.5 KBのint8モデルをロードし、タイムスタンプやハードウェアイベントを含むシミュレートされたLinuxブートログを生成するためにフォワードパスを実行する役割を担います。
この画像は、BootGPTプロジェクトのソースコードと技術的な実装がホストされている主要なGitHubリポジトリを表しています。
技術的な実装においては、推論エンジンをMBRの510バイトの制限内に収めるための極端な最適化が行われています。このプロジェクトでは、1つの隠れ層とsoftmax出力を備えた文字レベルのニューラルネットワークを使用しています。このような制約の厳しいハードウェアでモデルを実行できるようにするため、トレーニングスクリプトはすべての重みとスケールを2のべき乗の値を使用してint8に量子化します。これにより、ブートセクタは`imul`(整数乗算)と単一の`idiv`(整数除算)命令のみを使用して、フォワードパス全体を実行することが可能になります。ランタイムは、ディスクから重みをロードするための`int 13h`や、生成されたテキストを画面に表示するための`int 10h`など、特定のBIOS処理を制御します。
このモデルは汎用的なストーリーテラーではありませんが、一貫したブートログを「ハルシネーション(幻覚)」するように特別にトレーニングされています。トレーニングプロセスでは、モデルに一貫したコーパスを提供するために、3 MBの偽の`dmesg`(カーネルメッセージ)データを生成します。実際のブートログは反復的な性質を持つため、この一貫性が、この極小のモデルが生成する内容の精度を助けます。